(function () {
const METASITE_APP_DEF_ID = '22bef345-3c5b-4c18-b782-74d4085112ff';
const getXSRFTokenFromCookie = () => {
const match = new RegExp('XSRF-TOKEN=(.+?);').exec(document.cookie);
return match ? match[1] : '';
};
const eventNames = {
Purchase: 'Purchase',
Lead: 'Lead',
};
const eventNameToConversionActionCategory = {
[eventNames.Purchase]: 'PURCHASE',
[eventNames.Lead]: 'SUBMIT_LEAD_FORM',
};
const channelParams = {
price: 'price',
id: 'id',
currency: 'currency',
name: 'name',
category: 'category',
brand: 'brand',
variant: 'variant',
list: 'list_name',
quantity: 'quantity',
step: 'checkout_step',
option: 'checkout_option',
position: 'list_position',
coupon: 'coupon',
affiliation: 'affiliation',
revenue: 'value',
tax: 'tax',
sku: 'sku',
shipping: 'shipping',
};
const mapContents = ({ contents = [] }) =>
contents.map(({ currency, ...product }) =>
paramsMapper(product, channelParams),
);
const paramsMapper = (params, mapper) => {
const mappedParams = Object.keys(params);
if (mappedParams.length === 0) {
return params;
}
return mappedParams.reduce((mappedObject, currentKey) => {
const newKey = mapper[currentKey];
if (newKey && (params[currentKey] || params[currentKey] === 0)) {
mappedObject[newKey] = params[currentKey];
}
return mappedObject;
}, {});
};
const loadGtag = () => {
const gtagInitScript = document.createElement('script');
gtagInitScript.type = 'text/javascript';
gtagInitScript.innerHTML = `
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date())
`;
document.head.appendChild(gtagInitScript);
const gtagScript = document.createElement('script');
gtagScript.type = 'text/javascript';
gtagScript.setAttribute('async', 'true');
gtagScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js');
document.head.appendChild(gtagScript);
};
const handleGoogleConsent = () => {
window.dataLayer = window.dataLayer || [];
if (window.consentPolicyManager && window.consentPolicyManager.initRan) {
const { policy, defaultPolicy } =
window.consentPolicyManager.getCurrentConsentPolicy();
setConsent('default', evaluateConsentPolicy(policy, defaultPolicy));
} else {
setConsent('default', {
advertising: false,
analytics: false,
functional: false,
waitForUpdate: 500,
});
}
window.document.addEventListener('consentPolicyInitialized', ({ detail }) => {
setConsent(
'update',
evaluateConsentPolicy(detail.policy, detail.defaultPolicy),
);
});
window.document.addEventListener('consentPolicyChanged', ({ detail }) => {
setConsent('update', detail.policy);
});
function evaluateConsentPolicy(policy, defaultPolicy) {
const { gdprEnforcedGeo } = window.wixTagManager.getConfig();
return defaultPolicy && gdprEnforcedGeo
? { ...policy, advertising: false, analytics: false }
: policy;
}
function setConsent(
action,
{ advertising, analytics, functional, waitForUpdate },
) {
(function () {
window.dataLayer.push(arguments);
})('consent', action, {
ad_storage: advertising ? 'granted' : 'denied',
ad_user_data: advertising ? 'granted' : 'denied',
ad_personalization: advertising ? 'granted' : 'denied',
analytics_storage: analytics ? 'granted' : 'denied',
functionality_storage: functional ? 'granted' : 'denied',
personalization_storage: 'granted',
security_storage: 'granted',
...(waitForUpdate ? { wait_for_update: waitForUpdate } : {}),
});
}
};
let conversionActions;
const loadConversionActions = () => {
const XSRFToken = getXSRFTokenFromCookie();
const headers = {
'Content-Type': 'application/json',
'X-XSRF-TOKEN': XSRFToken,
};
const getAppToken = window.wixEmbedsAPI?.getAppToken;
if (getAppToken) {
headers.authorization = getAppToken(METASITE_APP_DEF_ID);
}
const metaSiteId = window.wixEmbedsAPI?.getMetaSiteId();
return fetch(
`${window.location.origin}/_serverless/pa-google/v1/accounts/current-site/conversion-actions?metaSiteId=${metaSiteId}`,
{
method: 'GET',
headers,
},
)
.then((response) => response.json())
.then((data) => {
conversionActions = data.conversionActions;
gtag('config', conversionActions[0].conversionId);
});
};
const reportEvent = (eventName, eventParams) => {
const category = eventNameToConversionActionCategory[eventName];
const conversionAction = conversionActions.find(
(currentConversionAction) =>
currentConversionAction.category.category === category,
);
if (conversionAction) {
let conversionData = {
send_to: `${conversionAction.conversionId}/${conversionAction.conversionLabel}`,
};
switch (category) {
case 'PURCHASE': {
const { revenue, id, currency, coupon, ...params } = eventParams;
conversionData = {
...conversionData,
...paramsMapper({ revenue, id, currency, coupon }, channelParams),
transactionId: eventParams.id,
items: mapContents(params),
};
break;
}
default:
break;
}
gtag('event', 'conversion', conversionData);
}
};
let isBootstrapped = false;
const bootstrap = () => {
handleGoogleConsent();
loadGtag();
return loadConversionActions().then(() => {
isBootstrapped = true;
});
};
const bootstrapPromise = bootstrap();
const registerListener = () => {
window.wixDevelopersAnalytics.register(
'd6708a0e-5b2a-458e-8cfe-bdca240aa2ce',
(eventName, eventParams) => {
if (isBootstrapped) {
reportEvent(eventName, eventParams);
} else {
bootstrapPromise.then(() => {
reportEvent(eventName, eventParams);
});
}
},
);
};
window.wixDevelopersAnalytics
? registerListener()
: window.addEventListener('wixDevelopersAnalyticsReady', registerListener);
})();
top of page
"Not comedy about sports, it's comedy as a sport!"
ComedySportz is an action-packed, high-energy comedy show for all-ages! Two highly-trained teams of professional improvisers battle it out for points, always awarded by you - our Loyal Fans! Each show is unique and based off your
suggestions. We believe comedy is for everyone, and every ComedySportz show is for all-ages! Come join the fun as a dedicated Loyal Fan and cheer on your favorite team to victory.
Knockout Knockout is a King-of-the-Hill comedy showdown!
This 18+ show starts with 8 comedians vying for the top spot. Using suggestions from the audience, the comedians form randomly chose partnerships to battle other duos. After every round, the audience knocks out a pair of contenders until only one is left standing at the end. One comedian will go home with bragging rights, and one volunteer goes home with a trophy. Will you be able to last until the final round, or will you be a Knockout?!
Looking to rent out our space?
Currently Unavailable Looking for a space to put on your own event or show? We've got everything you need! Our highly customizable theatre space can host your next stand up show, acoustic concert, play rehearsal--you name it! Just fill out the form below and give us an idea of what you're looking for and we'll be in touch shortly with more information and pricing.
bottom of page