window.tqbUtmTracking=window.tqbUtmTracking||{};
if(!window.tqbUtmTracking.hasInitialized){
window.tqbUtmTracking.EXPIRATION_TIME=30 * 24 * 60 * 60 * 1000;
window.tqbUtmTracking.getParamsFromURL=function (){
const urlParams=new URLSearchParams(window.location.search);
return {
utm_medium: urlParams.get("utm_medium"),
utm_source: urlParams.get("utm_source"),
utm_campaign: urlParams.get("utm_campaign"),
fbclid: urlParams.get("fbclid"),
gclid: urlParams.get("gclid"),
msclkid: urlParams.get("msclkid"),
};};
window.tqbUtmTracking.hasTrackingDataExpired=function (){
const timestamp=localStorage.getItem("tracking_data_timestamp");
if(!timestamp){
return true;
}
const currentTime=new Date().getTime();
return (
currentTime - parseInt(timestamp, 10) >
window.tqbUtmTracking.EXPIRATION_TIME
);
};
window.tqbUtmTracking.hasCampaignChanged=function (currentCampaign){
const storedCampaign=localStorage.getItem("utm_campaign");
if(!currentCampaign||!storedCampaign){
return false;
}
return currentCampaign!==storedCampaign;
};
window.tqbUtmTracking.getTrackingParameters=function (){
const params=window.tqbUtmTracking.getParamsFromURL();
const storedCampaign=localStorage.getItem("utm_campaign");
const campaignFromURL=params.utm_campaign;
const campaignChanged =
window.tqbUtmTracking.hasCampaignChanged(campaignFromURL);
const dataExpired=window.tqbUtmTracking.hasTrackingDataExpired();
let utm_medium, utm_source, utm_campaign, fbclid, gclid, msclkid;
if(dataExpired||campaignChanged){
utm_medium=params.utm_medium||"";
utm_source=params.utm_source||"";
utm_campaign=campaignFromURL;
fbclid=params.fbclid||"";
gclid=params.gclid||"";
msclkid=params.msclkid||"";
localStorage.setItem("utm_medium", utm_medium);
localStorage.setItem("utm_source", utm_source);
localStorage.setItem("utm_campaign", utm_campaign);
localStorage.setItem("fbclid", fbclid);
localStorage.setItem("gclid", gclid);
localStorage.setItem("msclkid", msclkid);
localStorage.setItem("tracking_data_timestamp",
new Date().getTime().toString()
);
}else{
utm_medium=localStorage.getItem("utm_medium")||"";
utm_source=localStorage.getItem("utm_source")||"";
utm_campaign=storedCampaign;
fbclid=localStorage.getItem("fbclid")||"";
gclid=localStorage.getItem("gclid")||"";
msclkid=localStorage.getItem("msclkid")||"";
}
return { utm_medium, utm_source, utm_campaign, fbclid, gclid, msclkid };};
window.tqbUtmTracking.getFinalParams=function (){
const params=window.tqbUtmTracking.getTrackingParameters();
let medium="direct";
let source="direct";
const socialDomains=[
"facebook.com",
"twitter.com",
"instagram.com",
"linkedin.com",
"pinterest.com",
"tiktok.com",
];
const organicDomains=[
"google.com",
"bing.com",
"yahoo.com",
"baidu.com",
"yandex.com",
"duckduckgo.com",
"ask.com",
];
if(params.utm_medium||params.utm_source){
medium=params.utm_medium||medium;
source=params.utm_source||source;
}
if(params.gclid){
medium="ppc";
source="google";
}else if(params.fbclid){
medium="ppc";
source="facebook";
}else if(params.msclkid){
medium="ppc";
source="bing";
}else{
const referrer=document.referrer;
if(referrer){
try {
const referrerUrl=new URL(referrer);
const referrerHostname=referrerUrl.hostname;
if(socialDomains.some((domain)=> referrerHostname.includes(domain))
){
medium="social";
source=referrerHostname;
}else if(organicDomains.some((domain)=> referrerHostname.includes(domain))
){
medium="organic";
source=referrerHostname;
}else{
const currentUrl=new URL(window.location.href);
if(currentUrl.hostname!==referrerHostname){
medium="referral";
source=referrerHostname;
}}
} catch (e){
console.error("Invalid referrer URL:", e);
}}else{
medium="direct";
source="direct";
}}
return {
utm_source: source,
utm_medium: medium,
utm_campaign: params.utm_campaign||"unknown",
gclid: params.gclid,
fbclid: params.fbclid,
msclkid: params.msclkid,
};};
window.tqbUtmTracking.createIframeTrackingParam=async function (){
const { utm_source, utm_medium, utm_campaign, gclid, fbclid, msclkid } =
window.tqbUtmTracking.getFinalParams();
const params=new URLSearchParams({
utm_source,
utm_medium,
utm_campaign,
});
const url=new URL(window.location.href);
const utmUrl=`${url.origin}${url.pathname}`;
params.set("utm_url", encodeURIComponent(utmUrl));
const clid=gclid||fbclid||msclkid;
if(clid){
params.set("utm_clid", clid);
}
return "?" + params.toString();
};
window.tqbUtmTracking.hasInitialized=true;
}
var queryParamsString;
(async function(){
try {
queryParamsString=await window.tqbUtmTracking.createIframeTrackingParam();
const script=document.createElement('script');
script.onload=function (){
iFrameResize(
{ log: false, heightCalculationMethod: 'bodyOffset', checkOrigin: false },
'#ssQuoteFormWidgetWizard1'
);
};
script.src='https://quotes.pontarelliischicago.com/code/scripts/iframeresizer/iframeResizer.min.js';
document.head.appendChild(script);
let containerbox=document.getElementById('ssiframecontainerwidget1');
let appendatend=false;
if(!containerbox){
containerbox=document.createElement('div');
containerbox.setAttribute('id', 'ssiframecontainerwidget1');
appendatend=true;
}
containerbox.innerHTML='<iframe id="ssQuoteFormWidgetWizard1" title="Quote Widget" class="ssQuoteFormWidgetFrame" src="https://quotes.pontarelliischicago.com/quote-widget/1/wizard' + queryParamsString + '" frameborder="0" border="0" style="width:100%; height:auto; min-height:300px;"></iframe>';
if(appendatend){
document.getElementsByTagName('body')[0].appendChild(containerbox);
}
window.addEventListener('message', function (event){
if(event.data.redirect&&event.data.redirect.length > 5){
window.location.replace(event.data.redirect);
}});
} catch (error){
console.error('Error setting up the iframe:', error);
}})();