1!function($,options){if(options.debug){console.log('PYS:',options)} 2var uniqueId={};let gtm_variables={};let gtm_datalayername="dynamicVariable";var domain='';if(options.hasOwnProperty("track_cookie_for_subdomains")&&options.track_cookie_for_subdomains){domain=getRootDomain(!0)} 3var dummyPinterest=function(){return{isEnabled:function(){},disable:function(){},loadPixel:function(){},fireEvent:function(name,data){return!1},onCommentEvent:function(){},onDownloadEvent:function(params){},onFormEvent:function(params){},onWooAddToCartOnButtonEvent:function(product_id){},onWooAddToCartOnSingleEvent:function(product_id,qty,is_variable,is_external,$form){},onWooRemoveFromCartEvent:function(cart_item_hash){},onEddAddToCartOnButtonEvent:function(download_id,price_index,qty){},onEddRemoveFromCartEvent:function(item){},onPageScroll:function(event){},onTime:function(event){},}}();var dummyBing=function(){return{isEnabled:function(){},disable:function(){},loadPixel:function(){},fireEvent:function(name,data){return!1},onAdSenseEvent:function(){},onClickEvent:function(params){},onWatchVideo:function(params){},onCommentEvent:function(){},onFormEvent:function(params){},onDownloadEvent:function(params){},onWooAddToCartOnButtonEvent:function(product_id){},onWooAddToCartOnSingleEvent:function(product_id,qty,is_variable,is_external,$form){},onWooRemoveFromCartEvent:function(cart_item_hash){},onWooAffiliateEvent:function(product_id){},onWooPayPalEvent:function(){},onEddAddToCartOnButtonEvent:function(download_id,price_index,qty){},onEddRemoveFromCartEvent:function(item){},onPageScroll:function(event){},onTime:function(event){},}}();var dummyReddit=function(){return{tag:function(){return"reddit"},isEnabled:function(){},disable:function(){},loadPixel:function(){},fireEvent:function(name,data){return!1},onAdSenseEvent:function(event){},onClickEvent:function(params){},onWatchVideo:function(params){},onCommentEvent:function(event){},onFormEvent:function(params){},onDownloadEvent:function(params){},onWooAddToCartOnButtonEvent:function(product_id){},onWooAddToCartOnSingleEvent:function(product_id,qty,product_type,is_external,$form){},onWooRemoveFromCartEvent:function(cart_item_hash){},onWooAffiliateEvent:function(product_id){},onWooPayPalEvent:function(event){},onEddAddToCartOnButtonEvent:function(download_id,price_index,qty){},onEddRemoveFromCartEvent:function(item){},onPageScroll:function(event){},onTime:function(event){},}}();var Utils=function(options){var Pinterest=dummyPinterest;var Bing=dummyBing;var Reddit=dummyReddit;var gtag_loaded=!1;var gtm_loaded=!1;let isNewSession=checkSession();var utmTerms=['utm_source','utm_medium','utm_campaign','utm_term','utm_content'];var utmId=['fbadid','gadid','padid','bingid'];let dataLayerName='dataLayerPYS';let GTMdataLayerName='dataLayer';function validateEmail(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email)} 4function getDomain(url){url=url.replace(/(https?:\/\/)?(www.)?/i,'');if(url.indexOf('/')!==-1){return url.split('/')[0]} 5return url} 6function loadPixels(){if(!options.gdpr.all_disabled_by_api){if(!options.gdpr.facebook_disabled_by_api){Facebook.loadPixel()} 7if(!options.gdpr.analytics_disabled_by_api){Analytics.loadPixel()} 8if(!options.gdpr.analytics_disabled_by_api){GTM.loadPixel()} 9if(!options.gdpr.pinterest_disabled_by_api){Pinterest.loadPixel()} 10if(!options.gdpr.bing_disabled_by_api){Bing.loadPixel()} 11if(!options.gdpr.reddit_disabled_by_api){Reddit.loadPixel()}} 12if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){if(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1){Analytics.loadPixel()}}} 13function checkSession(){if(Cookies.get('pys_start_session')===undefined||Cookies.get('pys_session_limit')===undefined){firstVisit=!0;return!0} 14return!1} 15function getTrafficSource(){try{let referrer=document.referrer.toString(),source;let direct=referrer.length===0;let internal=direct?!1:referrer.indexOf(options.siteUrl)===0;let external=!direct&&!internal;if(external===!1){source='direct'}else{source=referrer} 16if(source!=='direct'){return getDomain(source)}else{return source}}catch(e){console.error(e);return'direct'}} 17function getQueryVars(){try{var result={},tmp=[];window.location.search.substr(1).split("&").forEach(function(item){tmp=item.split('=');if(tmp.length>1){result[tmp[0]]=tmp[1]}});return result}catch(e){console.error(e);return{}}} 18function getLandingPageValue(){let name="pys_landing_page" 19if(options.visit_data_model==="last_visit"){name="last_pys_landing_page"} 20if(Cookies.get(name)&&Cookies.get(name)!=="undefined"){return Cookies.get(name)}else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficLanding){return options.tracking_analytics.TrafficLanding}else{return""}} 21function getTrafficSourceValue(){let name="pysTrafficSource" 22if(options.visit_data_model==="last_visit"){name="last_pysTrafficSource"} 23if(Cookies.get(name)&&Cookies.get(name)!=="undefined"){return Cookies.get(name)}else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficSource){return options.tracking_analytics.TrafficSource}else{return""}} 24function getUTMId(useLast=!1){try{let cookiePrefix='pys_' 25let terms=[];if(useLast){cookiePrefix='last_pys_'} 26$.each(utmId,function(index,name){if(Cookies.get(cookiePrefix+name)){terms[name]=Cookies.get(cookiePrefix+name)}else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficUtmsId[name]){terms[name]=filterEmails(options.tracking_analytics.TrafficUtmsId[name])}});return terms}catch(e){console.error(e);return[]}} 27function getUTMs(useLast=!1){try{let cookiePrefix='pys_' 28if(useLast){cookiePrefix='last_pys_'} 29let terms=[];$.each(utmTerms,function(index,name){if(Cookies.get(cookiePrefix+name)){let value=Cookie
29s.get(cookiePrefix+name);terms[name]=filterEmails(value)}else if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.TrafficUtms[name]){terms[name]=filterEmails(options.tracking_analytics.TrafficUtms[name])}});return terms}catch(e){console.error(e);return[]}} 30function getDateTime(){var dateTime=new Array();var date=new Date(),days=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],months=['January','February','March','April','May','June','July','August','September','October','November','December'],hours=['00-01','01-02','02-03','03-04','04-05','05-06','06-07','07-08','08-09','09-10','10-11','11-12','12-13','13-14','14-15','15-16','16-17','17-18','18-19','19-20','20-21','21-22','22-23','23-24'];dateTime.push(hours[date.getHours()]);dateTime.push(days[date.getDay()]);dateTime.push(months[date.getMonth()]);return dateTime} 31function filterEmails(value){return validateEmail(value)?undefined:value} 32return{PRODUCT_SIMPLE:0,PRODUCT_VARIABLE:1,PRODUCT_BUNDLE:2,PRODUCT_GROUPED:3,utmTerms:utmTerms,utmId:utmId,fireEventForAllPixel:function(functionName,events){if(events.hasOwnProperty(Facebook.tag())) 33Facebook[functionName](events[Facebook.tag()]);if(events.hasOwnProperty(Analytics.tag())) 34Analytics[functionName](events[Analytics.tag()]);if(events.hasOwnProperty(Pinterest.tag())) 35Pinterest[functionName](events[Pinterest.tag()]);if(events.hasOwnProperty(Bing.tag())) 36Bing[functionName](events[Bing.tag()]);if(events.hasOwnProperty(Reddit.tag())) 37Reddit[functionName](events[Reddit.tag()]);if(events.hasOwnProperty(GTM.tag())) 38GTM[functionName](events[GTM.tag()])},setupPinterestObject:function(){Pinterest=window.pys.Pinterest||Pinterest;return Pinterest},setupBingObject:function(){Bing=window.pys.Bing||Bing;return Bing},setupRedditObject:function(){Reddit=window.pys.Reddit||Reddit;return Reddit},copyProperties:function(from,to){for(var key in from){if("function"==typeof from[key]){continue} 39to[key]=from[key]} 40return to},manageCookies:function(){if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){if(Cookiebot.consented===!1&&!Cookiebot.consent.marketing&&!Cookiebot.consent.statistics){return}} 41let cm_consent_not_expressed=!1;if(options.gdpr.consent_magic_integration_enabled&&window.CS_Data!==undefined&&window.CS_Data.cs_refresh_after_consent==1){if(Cookies.get('cs_viewed_cookie_policy')===undefined){cm_consent_not_expressed=!0}} 42if(!cm_consent_not_expressed&&isNewSession&&!options.cookie.disabled_all_cookie&&!options.cookie.disabled_start_session_cookie){let duration=options.last_visit_duration*60000 43var now=new Date();now.setTime(now.getTime()+duration);Cookies.set('pys_session_limit',!0,{expires:now,path:'/',domain:domain}) 44Cookies.set('pys_start_session',!0,{path:'/',domain:domain})} 45if(options.ajaxForServerEvent&&!Cookies.get('pbid')&&Facebook.isEnabled()){jQuery.ajax({url:options.ajaxUrl,dataType:'json',data:{action:'pys_get_pbid'},success:function(res){if(res.data&&res.data.pbid!=!1&&options.send_external_id){if(!(options.cookie.disabled_all_cookie||options.cookie.externalID_disabled_by_api)){var expires=parseInt(options.external_id_expire||180);Cookies.set('pbid',res.data.pbid,{expires:expires,path:'/',domain:domain})} 46if(options.hasOwnProperty('facebook')){options.facebook.advancedMatching={...options.facebook.advancedMatching,external_id:res.data.pbid}}}}})}else if(Cookies.get('pbid')&&Facebook.isEnabled()){if(Facebook.advancedMatching()&&Facebook.advancedMatching().external_id&&!(options.cookie.disabled_all_cookie||options.cookie.externalID_disabled_by_api)){let expires=parseInt(options.external_id_expire||180);Cookies.set('pbid',Facebook.advancedMatching().external_id,{expires:expires,path:'/',domain:domain})}} 47let expires=parseInt(options.cookie_duration);let queryVars=getQueryVars();let landing=window.location.href.split('?')[0];try{if(Cookies.get('pys_first_visit')===undefined&&(!options.cookie.disabled_all_cookie)){if(!options.cookie.disabled_first_visit_cookie){Cookies.set('pys_first_visit',!0,{expires:expires,path:'/',domain:domain})}else{Cookies.remove('pys_first_visit')} 48if(!options.cookie.disabled_trafficsource_cookie){Cookies.set('pysTrafficSource',getTrafficSource(),{expires:expires,path:'/',domain:domain})}else{Cookies.remove('pysTrafficSource')} 49if(!options.cookie.disabled_landing_page_cookie){Cookies.set('pys_landing_page',landing,{expires:expires,path:'/',domain:domain})}else{Cookies.remove('pys_landing_page')} 50if(!options.cookie.disabled_utmTerms_cookie){$.each(utmTerms,function(index,name){if(queryVars.hasOwnProperty(name)){Cookies.set('pys_'+name,queryVars[name],{expires:expires,path:'/',domain:domain})}else{Cookies.remove('pys_'+name)}})}else{$.each(utmTerms,function(index,name){Cookies.remove('pys_'+name)})} 51if(!options.cookie.disabled_utmId_cookie){$.each(utmId,function(index,name){if(queryVars.hasOwnProperty(name)){Cookies.set('pys_'+name,queryVars[name],{expires:expires,path:'/',domain:domain})}else{Cookies.remove('pys_'+name)}})}else{$.each(utmId,function(index,name){Cookies.remove('pys_'+name)})}} 52if(isNewSession&&(!options.cookie.disabled_all_cookie)){if(!options.cookie.disabled_trafficsource_cookie){Cookies.set('last_pysTrafficSource',getTrafficSource(),{expires:expires,path:'/',domain:domain})}else{Cookies.remove('last_pysTrafficSource')} 53if(!options.cookie.disabled_landing_page_cookie){Cookies.set('last_pys_landing_page',landing,{expires:expires,path:'/',domain:domain})}else{Cookies.remove('last_pys_landing_page')} 54if(!options.cookie.disabled_utmTerms_cookie){$.each(utmTerms,function(index,name){if(queryVars.hasOwnProperty(name)){Cookies.set('last_pys_'+name,queryVars[name],{expires:expires,path:'/',domain:domain})}else{Cookies.remove('last_pys_'+name)}})}else{$.each(utmTerms,function(index,name){Cookies.remove('last_pys_'+name)})} 55if(!options.cookie.disabled_utmId_cookie){$.each(utmId,function(index,name){if(queryVars.hasOwnProperty(name)){Cookies.set('last_pys_'+name,queryVars[name],{expires:expires,path:'/',domain:domain})}else{Cookies.remove('last_pys_'+name)}})}else{$.each(utmId,function(index,name){Cookies.remove('last_pys_'+name)})}} 56if(options.cookie.disabled_start_session_cookie){Cookies.remove('pys_start_session') 57Cookies.remove('pys_session_limit')} 58if(options.cookie.disabled_all_cookie){Cookies.remove('pys_first_visit') 59Cookies.remove('pysTrafficSource') 60Cookies.remove('pys_landing_page') 61Cookies.remove('last_pys_landing_page') 62Cookies.remove('last_pysTrafficSource') 63Cookies.remove('pys_start_session') 64Cookies.remove('pys_session_limit') 65$.each(Utils.utmTerms,function(index,name){Cookies.remove('pys_'+name)});$.each(Utils.utmId,function(index,name){Cookies.remove('pys_'+name)}) 66$.each(Utils.utmTerms,function(index,name){Cookies.remove('last_pys_'+name)});$.each(Utils.utmId,function(index,name){Cookies.remove('last_pys_'+name)})}}catch(e){console.error(e)}},generateUniqueId:function(event){if(event.eventID.length==0||(event.type=="static"&&options.ajaxForServerStaticEvent)||(event.type!=="static"&&options.ajaxForServerEvent)){let idKey=event.hasOwnProperty('custom_event_post_id')?event.custom_event_post_id:event.e_id;if(!uniqueId.hasOwnProperty(idKey)){uniqueId[idKey]=pys_generate_token()} 67return uniqueId[idKey]}else if(event.eventID.length!==0){return event.eventID}},flattenObject:function(obj,prefix='',res={}){for(const[key,value]of Object.entries(obj)){const prefixedKey=prefix?(Array.isArray(obj)?`${prefix}[${key}]`:`${prefix}[${key}]`):key;if(value!==null&&typeof value==='object'&&!(value instanceof File)){this.flattenObject(value,prefixedKey,res)}else{res[prefixedKey]=value}} 68return res},sendServerAjaxRequest:function(url,data){if(data.action==='pys_api_event'&&data.pixel==='facebook'&&window.pysFacebookRest){this.sendRestAPIRequest(data,'facebook');return} 69if(options.useSendBeacon&&navigator.sendBeacon){try{const flattenedData=this.flattenObject(data);const formData=new URLSearchParams();
69for(const[key,value]of Object.entries(flattenedData)){if(value!==null&&value!==undefined){formData.append(key,value)}} 70const success=navigator.sendBeacon(url,formData);if(success){return}}catch(e){if(options.debug){console.log('PYS: sendBeacon failed, falling back to jQuery.ajax:',e)}}} 71jQuery.ajax({type:'POST',url:url,data:data,headers:{'Cache-Control':'no-cache'},success:function(){},})},sendRestAPIRequest:function(data,platform){let restApiUrl;switch(platform){case 'facebook':restApiUrl=window.pysFacebookRest?window.pysFacebookRest.restApiUrl:'/wp-json/pys-facebook/v1/event';break;default:console.error('PYS: Unknown platform for REST API:',platform);this.sendAjaxFallback(data);return} 72const restApiData={event:data.event,data:JSON.stringify(data.data||{}),ids:JSON.stringify(data.ids||[]),eventID:data.event_id||data.eventID||'',woo_order:data.woo_order||'0',edd_order:data.edd_order||'0'};if(options.useSendBeacon&&navigator.sendBeacon){try{const formData=new URLSearchParams();for(const[key,value]of Object.entries(restApiData)){formData.append(key,value)} 73if(navigator.sendBeacon(restApiUrl,formData)){return}}catch(e){}} 74if(window.fetch){const headers={'Content-Type':'application/json'};fetch(restApiUrl,{method:'POST',headers:headers,body:JSON.stringify(restApiData)}).then(response=>{if(!response.ok){throw new Error(platform+' REST API request failed: '+response.status)}}).catch(error=>{if(options.debug){console.log('PYS: '+platform+' REST API failed, falling back to AJAX:',error)} 75this.sendAjaxFallback(data)})}else{this.sendAjaxFallback(data)}},sendAjaxFallback:function(data){jQuery.ajax({type:'POST',url:options.ajaxUrl,data:data,headers:{'Cache-Control':'no-cache'},success:function(){},})},clone:function(obj){var copy;if(null==obj||"object"!=typeof obj)return obj;if(obj instanceof Date){copy=new Date();copy.setTime(obj.getTime());return copy} 76if(obj instanceof Array){copy=[];for(var i=0,len=obj.length;i<len;i++){if("function"==typeof obj[i]){continue} 77copy[i]=Utils.clone(obj[i])} 78return copy} 79if(obj instanceof Object){copy={};for(var attr in obj){if(obj.hasOwnProperty(attr)){if("function"==typeof obj[attr]){continue} 80copy[attr]=Utils.clone(obj[attr])}} 81return copy} 82return obj},getTagsAsArray:function(tag){return[].slice.call(document.getElementsByTagName(tag))}
82,getRequestParams:function(){return[]},setupMouseOverClickEvents:function(eventId,triggers){document.addEventListener('mouseover',function(event){var matchedElements=Array.from(document.querySelectorAll(triggers));var clickedElement=event.target;var closestMatch=clickedElement.closest(triggers);if(matchedElements.includes(clickedElement)||closestMatch){if(event.target.classList.contains('pys-mouse-over-'+eventId)){return!0}else{event.target.classList.add('pys-mouse-over-'+eventId)} 83Utils.fireTriggerEvent(eventId)}})},setupCSSClickEvents:function(eventId,triggers){document.addEventListener('click',function(event){let matchedElements=Array.from(document.querySelectorAll(triggers)),clickedElement=event.target,closestMatch=clickedElement.closest(triggers);if(matchedElements.includes(clickedElement)||closestMatch){Utils.fireTriggerEvent(eventId)}},!0)},setupURLClickEvents:function(){if(!options.triggerEventTypes.hasOwnProperty('url_click')){return} 84$('a[data-pys-event-id]').onFirst('click',function(evt){$(this).attr('data-pys-event-id').split(',').forEach(function(eventId){eventId=parseInt(eventId);if(isNaN(eventId)===!1){Utils.fireTriggerEvent(eventId)}})})},setupScrollPosEvents:function(eventId,triggers){var scrollPosThresholds={},docHeight=$(document).height()-$(window).height();$.each(triggers,function(index,scrollPos){scrollPos=docHeight*scrollPos/100;scrollPos=Math.round(scrollPos);scrollPosThresholds[scrollPos]=eventId});$(document).on("scroll",function(){var scrollPos=$(window).scrollTop();$.each(scrollPosThresholds,function(threshold,eventId){if(scrollPos<=threshold){return!0} 85if(eventId===null){return!0}else{scrollPosThresholds[threshold]=null} 86Utils.fireTriggerEvent(eventId)})})},setupCommentEvents:function(eventId,triggers){$('form.comment-form').on("submit",function(){Utils.fireTriggerEvent(eventId)})},fireTriggerEvent:function(eventId){if(!options.triggerEvents.hasOwnProperty(eventId)){return} 87var event={};var events=options.triggerEvents[eventId];if(events.hasOwnProperty('facebook')){event=events.facebook;Facebook.fireEvent(event.name,event)} 88if(events.hasOwnProperty('ga')){event=events.ga;Analytics.fireEvent(event.name,event)} 89if(events.hasOwnProperty('pinterest')){event=events.pinterest;Pinterest.fireEvent(event.name,event)} 90if(events.hasOwnProperty('bing')){event=events.bing;Bing.fireEvent(event.name,event)} 91if(events.hasOwnProperty('reddit')){event=events.reddit;if(Utils.isEventInTimeWindow(event.name,event,"dyn_reddit_"+eventId)){event=Utils.getFormFilledData(event);Reddit.fireEvent(event.name,event)}} 92if(events.hasOwnProperty('gtm')){event=events.gtm;GTM.fireEvent(event.name,event)}},fireStaticEvents:function(pixel){if(options.staticEvents.hasOwnProperty(pixel)){$.each(options.staticEvents[pixel],function(eventName,events){$.each(events,function(index,eventData){eventData.fired=eventData.fired||!1;if(!eventData.fired){var fired=!1;if('facebook'===pixel){fired=Facebook.fireEvent(eventData.name,eventData)}else if('ga'===pixel){fired=Analytics.fireEvent(eventData.name,eventData)}else if('pinterest'===pixel){fired=Pinterest.fireEvent(eventData.name,eventData)}else if('bing'===pixel){fired=Bing.fireEvent(eventData.name,eventData)}else if('gtm'===pixel){fired=GTM.fireEvent(eventData.name,eventData)}else if('reddit'===pixel){fired=Reddit.fireEvent(eventData.name,eventData)} 93eventData.fired=fired}})})}},loadGoogleTag:function(id){if(!gtag_loaded){let dataLayerName=this.dataLayerName;if(options.hasOwnProperty('GATags')){switch(options.GATags.ga_datalayer_type){case 'default':dataLayerName='dataLayerPYS';break;case 'custom':dataLayerName=options.GATags.ga_datalayer_name;break;default:dataLayerName='dataLayer'}} 94this.dataLayerName=dataLayerName;(function(window,document,src){var a=document.createElement('script'),m=document.getElementsByTagName('script')[0];a.async=1;a.src=src;m.parentNode.insertBefore(a,m)})(window,document,'//www.googletagmanager.com/gtag/js?id='+id+'&l='+this.dataLayerName);window[dataLayerName]=window[dataLayerName]||[];window.gtag=window.gtag||function gtag(){window[dataLayerName].push(arguments)};if(options.google_consent_mode){let data={};data.analytics_storage=options.gdpr.analytics_storage.enabled?options.gdpr.analytics_storage.value:'granted';data.ad_storage=options.gdpr.ad_storage.enabled?options.gdpr.ad_storage.value:'granted';data.ad_user_data=options.gdpr.ad_user_data.enabled?options.gdpr.ad_user_data.value:'granted';data.ad_personalization=options.gdpr.ad_personalization.enabled?options.gdpr.ad_personalization.value:'granted';this.loadDefaultConsent('consent','default',data)} 95gtag('js',new Date());gtag_loaded=!0}},loadDefaultConsent:function(){window[this.dataLayerName].push(arguments)},loadGTMScript:function(id=''){const domain=options.gtm.gtm_container_domain??'www.googletagmanager.com';const loader=options.gtm.gtm_container_identifier??'gtm';const gtm_auth=options.gtm.gtm_auth??'';const gtm_preview=options.gtm.gtm_preview??'';const datalayer_name=options.gtm.gtm_dataLayer_name??'dataLayer';window[datalayer_name]=window[datalayer_name]||[];window.gtag=window.gtag||function gtag(){window[datalayer_name].push(arguments)};if(options.google_consent_mode){let data={};data.analytics_storage=options.gdpr.analytics_storage.enabled?options.gdpr.analytics_storage.value:'granted';data.ad_storage=options.gdpr.ad_storage.enabled?options.gdpr.ad_storage.value:'granted';data.ad_user_data=options.gdpr.ad_user_data.enabled?options.gdpr.ad_user_data.value:'granted';data.ad_personalization=options.gdpr.ad_personalization.enabled?options.gdpr.ad_personalization.value:'granted';this.GTMdataLayerName=datalayer_name;this.loadDefaultGTMConsent('consent','default',data)}(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0];const j=d.createElement(s);const dl=l!=='dataLayer'?'&l='+l:'';j.async=!0;
95j.src='https://'+domain+'/'+loader+'.js?id='+i+dl;if(gtm_auth&>m_preview){j.src+='>m_auth='+gtm_auth+'>m_preview='+gtm_preview+'>m_cookies_win=x'} 96f.parentNode.insertBefore(j,f)})(window,document,'script',datalayer_name,id)},loadDefaultGTMConsent:function(){window[this.GTMdataLayerName].push(arguments)},loadPixels:function(){if(options.gdpr.ajax_enabled&&!options.gdpr.consent_magic_integration_enabled){$.get({url:options.ajaxUrl,dataType:'json',data:{action:'pys_get_gdpr_filters_values'},success:function(res){if(res.success){options.gdpr.all_disabled_by_api=res.data.all_disabled_by_api;options.gdpr.facebook_disabled_by_api=res.data.facebook_disabled_by_api;options.gdpr.analytics_disabled_by_api=res.data.analytics_disabled_by_api;options.gdpr.google_ads_disabled_by_api=res.data.google_ads_disabled_by_api;options.gdpr.pinterest_disabled_by_api=res.data.pinterest_disabled_by_api;options.gdpr.bing_disabled_by_api=res.data.bing_disabled_by_api;options.gdpr.reddit_disabled_by_api=res.data.reddit_disabled_by_api;options.cookie.externalID_disabled_by_api=res.data.externalID_disabled_by_api;options.cookie.disabled_all_cookie=res.data.disabled_all_cookie;options.cookie.disabled_advanced_form_data_cookie=res.data.disabled_advanced_form_data_cookie;options.cookie.disabled_landing_page_cookie=res.data.disabled_landing_page_cookie;options.cookie.disabled_first_visit_cookie=res.data.disabled_first_visit_cookie;options.cookie.disabled_trafficsource_cookie=res.data.disabled_trafficsource_cookie;options.cookie.disabled_utmTerms_cookie=res.data.disabled_utmTerms_cookie;options.cookie.disabled_utmId_cookie=res.data.disabled_utmId_cookie} 97loadPixels()}})}else{loadPixels()}},consentGiven:function(pixel){if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){let test_prefix=CS_Data.test_prefix;if(((typeof CS_Data.cs_google_consent_mode_enabled!=="undefined"&&CS_Data.cs_google_consent_mode_enabled==1)&&(pixel=='analytics'||pixel=='google_ads'))||(typeof CS_Data.cs_meta_ldu_mode!=="undefined"&&CS_Data.cs_meta_ldu_mode&&pixel=='facebook')||(typeof CS_Data.cs_reddit_ldu_mode!=="undefined"&&CS_Data.cs_reddit_ldu_mode&&pixel=='reddit')||(typeof CS_Data.cs_bing_consent_mode!=="undefined"&&CS_Data.cs_bing_consent_mode.ad_storage.enabled&&pixel=='bing')){if(CS_Data.cs_cache_enabled==0||(CS_Data.cs_cache_enabled==1&&window.CS_Cache&&window.CS_Cache.check_status)){return!0}else{return!1}} 98if(pixel=='facebook'&&(CS_Data.cs_script_cat.facebook==0||CS_Data.cs_script_cat.facebook==CS_Data.cs_necessary_cat_id)){return!0}else if(pixel=='bing'&&(CS_Data.cs_script_cat.bing==0||CS_Data.cs_script_cat.bing==CS_Data.cs_necessary_cat_id)){return!0}else if(pixel=='analytics'&&(CS_Data.cs_script_cat.analytics==0||CS_Data.cs_script_cat.analytics==CS_Data.cs_necessary_cat_id)){return!0}else if(pixel=='google_ads'&&(CS_Data.cs_script_cat.gads==0||CS_Data.cs_script_cat.gads==CS_Data.cs_necessary_cat_id)){return!0}else if(pixel=='pinterest'&&(CS_Data.cs_script_cat.pinterest==0||CS_Data.cs_script_cat.pinterest==CS_Data.cs_necessary_cat_id)){return!0}else if(pixel=='tiktok'&&(CS_Data.cs_script_cat.tiktok==0||CS_Data.cs_script_cat.tiktok==CS_Data.cs_necessary_cat_id)){return!0}else if(pixel=='reddit'&&(CS_Data.cs_script_cat?.reddit==0||CS_Data.cs_script_cat?.reddit==CS_Data.cs_necessary_cat_id)){return!0} 99let substring="cs_enabled_cookie_term",theCookies=document.cookie.split(';');for(let i=1;i<=theCookies.length;i++){if(theCookies[i-1].indexOf(substring)!==-1){let categoryCookie=theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_','');categoryCookie=Number(categoryCookie.replace(/\D+/g,""));let cs_cookie_val=Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie);if(categoryCookie===CS_Data.cs_script_cat.facebook&&pixel=='facebook'){return cs_cookie_val=='yes'}else if(categoryCookie===CS_Data.cs_script_cat.bing&&pixel=='bing'){return cs_cookie_val=='yes'}else if(categoryCookie===CS_Data.cs_script_cat.analytics&&pixel=='analytics'){return cs_cookie_val=='yes'}else if(categoryCookie===CS_Data.cs_script_cat.gads&&pixel=='google_ads'){return cs_cookie_val=='yes'}else if(categoryCookie===CS_Data.cs_script_cat.pinterest&&pixel=='pinterest'){return cs_cookie_val=='yes'}else if(categoryCookie===CS_Data.cs_script_cat.tiktok&&pixel=='tiktok'){return cs_cookie_val=='yes'}else if(categoryCookie===CS_Data.cs_script_cat?.reddit&&pixel=='reddit'){return cs_cookie_val=='yes'}}} 100return!1} 101if(options.gdpr.real_cookie_banner_integration_enabled){var consentApi=window.consentApi;if(consentApi){switch(pixel){case "analytics":return consentApi.consentSync("http","_ga","*").cookieOptIn;case "facebook":return consentApi.consentSync("http","_fbp","*").cookieOptIn;case "pinterest":return consentApi.consentSync("http","_pinterest_sess",".pinterest.com").cookieOptIn;default:return!0}}} 102if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){var cookiebot_consent_category=options.gdpr['cookiebot_'+pixel+'_consent_category'];
102if(options.gdpr[pixel+'_prior_consent_enabled']){if(Cookiebot.consented===!0||Cookiebot.consent[cookiebot_consent_category]){return!0}}else{if(Cookiebot.consent[cookiebot_consent_category]){return!0}} 103return!1} 104if(options.gdpr.cookie_notice_integration_enabled&&typeof cnArgs!=='undefined'){var cn_cookie=Cookies.get(cnArgs.cookieName);if(options.gdpr[pixel+'_prior_consent_enabled']){if(typeof cn_cookie==='undefined'||cn_cookie==='true'){return!0}}else{if(cn_cookie==='true'){return!0}} 105return!1} 106if(options.gdpr.cookie_law_info_integration_enabled){var cli_cookie=Cookies.get('cookieyes-consent')??Cookies.get('wt_consent')??Cookies.get('viewed_cookie_policy');if(options.gdpr[pixel+'_prior_consent_enabled']){if(typeof cli_cookie==='undefined')return!0;if(cli_cookie&&(cli_cookie===Cookies.get('cookieyes-consent')||cli_cookie===Cookies.get('wt_consent'))){if(getCookieYes('analytics')==='yes'){return!0}}else if(cli_cookie&&cli_cookie===Cookies.get('viewed_cookie_policy')){if(Cookies.get('viewed_cookie_policy')==='yes'){return!0}}}else{if(cli_cookie&&(cli_cookie===Cookies.get('cookieyes-consent')||cli_cookie===Cookies.get('wt_consent'))){if(getCookieYes('analytics')==='yes'){return!0}}else if(cli_cookie&&cli_cookie===Cookies.get('viewed_cookie_policy')){if(Cookies.get('viewed_cookie_policy')==='yes'){return!0}}} 107return!1} 108return!0},setupGdprCallbacks:function(){if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){let test_prefix=CS_Data.test_prefix,cs_refresh_after_consent=!1,substring="cs_enabled_cookie_term";if(CS_Data.cs_refresh_after_consent==1){cs_refresh_after_consent=CS_Data.cs_refresh_after_consent} 109let consent_actions=function(){let theCookies=document.cookie.split(';');let consent={facebook:!0,ga:!0,google_ads:!0,tiktok:!0,bing:!0,pinterest:!0,gtm:!0,reddit:!0,};for(let i=1;i<=theCookies.length;i++){if(theCookies[i-1].indexOf(substring)!==-1){let categoryCookie=theCookies[i-1].replace('cs_enabled_cookie_term'+test_prefix+'_','');categoryCookie=Number(categoryCookie.replace(/\D+/g,""));let cs_cookie_val=Cookies.get('cs_enabled_cookie_term'+test_prefix+'_'+categoryCookie);if(cs_cookie_val=='yes'){if((categoryCookie===CS_Data.cs_script_cat.facebook)||(typeof CS_Data.cs_meta_ldu_mode!=="undefined"&&CS_Data.cs_meta_ldu_mode)){Facebook.loadPixel()} 110if(categoryCookie===CS_Data.cs_script_cat.bing||(typeof CS_Data.cs_bing_consent_mode!=="undefined"&&CS_Data.cs_bing_consent_mode.ad_storage.enabled)){Bing.loadPixel()} 111if(categoryCookie===CS_Data.cs_script_cat.analytics||(typeof CS_Data.cs_google_analytics_consent_mode!=="undefined"&&CS_Data.cs_google_analytics_consent_mode==1)){Analytics.loadPixel()} 112if(categoryCookie===CS_Data.cs_script_cat.pinterest){Pinterest.loadPixel()} 113if((categoryCookie===CS_Data.cs_script_cat.reddit)||(typeof CS_Data.cs_reddit_ldu_mode!=="undefined"&&CS_Data.cs_reddit_ldu_mode)){Reddit.loadPixel()}}else{if((categoryCookie===CS_Data.cs_script_cat.facebook)&&(typeof CS_Data.cs_meta_ldu_mode=="undefined"||!CS_Data.cs_meta_ldu_mode)){Facebook.disable();consent.facebook=!1} 114if(categoryCookie===CS_Data.cs_script_cat.bing&&(typeof CS_Data.cs_bing_consent_mode=="undefined"||!CS_Data.cs_bing_consent_mode.ad_storage.enabled)){Bing.disable();consent.bing=!1} 115if(categoryCookie===CS_Data.cs_script_cat.analytics&&(typeof CS_Data.cs_google_analytics_consent_mode=="undefined"||CS_Data.cs_google_analytics_consent_mode==0)){Analytics.disable();consent.ga=!1;consent.gtm=!1} 116if(categoryCookie===CS_Data.cs_script_cat.pinterest){Pinterest.disable();consent.pinterest=!1} 117if((categoryCookie===CS_Data.cs_script_cat.reddit)&&(typeof CS_Data.cs_reddit_ldu_mode=="undefined"||!CS_Data.cs_reddit_ldu_mode)){Reddit.disable();consent.reddit=!1}} 118if(Cookies.get('cs_enabled_advanced_matching')=='yes'){Facebook.loadPixel()}}} 119Utils.setupGDPRData(consent)} 120if(!cs_refresh_after_consent){consent_actions();$(document).on('click','.cs_action_btn',function(e){e.preventDefault();let consent={facebook:!0,ga:!0,bing:!0,pinterest:!0,gtm:!0,reddit:!0,};let elm=$(this),button_action=elm.attr('data-cs_action');if(button_action==='allow_all'){Facebook.loadPixel();Bing.loadPixel();Analytics.loadPixel();Pinterest.loadPixel();Reddit.loadPixel();consent.facebook=!0;consent.bing=!0;consent.ga=!0;consent.pinterest=!0;consent.reddit=!0;consent.gtm=!0;Utils.setupGDPRData(consent)}else if(button_action==='disable_all'){if(typeof CS_Data.cs_meta_ldu_mode=="undefined"||CS_Data.cs_meta_ldu_mode==0){Facebook.disable();consent.facebook=!1} 121if(typeof CS_Data.cs_bing_consent_mode=="undefined"||CS_Data.cs_bing_consent_mode.ad_storage.enabled==0){Bing.disable();consent.bing=!1} 122if(CS_Data.cs_google_analytics_consent_mode==0||typeof CS_Data.cs_google_analytics_consent_mode=="undefined"){Analytics.disable();consent.ga=!1;consent.gtm=!1} 123if(typeof CS_Data.cs_reddit_ldu_mode=="undefined"||CS_Data.cs_reddit_ldu_mode==0){Reddit.disable();consent.reddit=!1} 124Pinterest.disable();consent.pinterest=!1;Utils.setupGDPRData(consent)}else if(button_action==='cs_confirm'){consent_actions()}})}} 125if(options.gdpr.real_cookie_banner_integration_enabled){let consentApi=window.consentApi;if(consentApi){consentApi.consent("http","_ga","*").then(Analytics.loadPixel.bind(Analytics),Analytics.disable.bind(Analytics));consentApi.consent("http","_fbp","*").then(Facebook.loadPixel.bind(Facebook),Facebook.disable.bind(Facebook));consentApi.consent("http","_pinterest_sess",".pinterest.com").then(Pinterest.loadPixel.bind(Pinterest),Pinterest.disable.bind(Pinterest));consentApi.consent("http","_uetsid","*").then(Bing.loadPixel.bind(Bing),Bing.disable.bind(Bing));let consent={facebook:!0,ga:!0,bing:!0,pinterest:!0,gtm:!0,};if(!consentApi.consentSync("http","_ga","*").cookieOptIn){consent.ga=!1;consent.gtm=!1} 126if(!consentApi.consentSync("http","_fbp","*").cookieOptIn){consent.facebook=!1} 127if(!consentApi.consentSync("http","_pinterest_sess",".pinterest.com").cookieOptIn){consent.pinterest=!1} 128if(!consentApi.consentSync("http","_uetsid","*").cookieOptIn){consent.bing=!1} 129Utils.setupGDPRData(consent)}} 130if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){window.addEventListener("CookiebotOnConsentReady",function(){let consent={facebook:!0,ga:!0,bing:!0,pinterest:!0,gtm:!0,};Utils.manageCookies();if(Cookiebot.consent.marketing){Facebook.loadPixel();Bing.loadPixel();Pinterest.loadPixel();consent.facebook=!0;consent.bing=!0;consent.pinterest=!0} 131if(Cookiebot.consent.statistics){Analytics.loadPixel();consent.ga=!0;consent.gtm=!0} 132if(!Cookiebot.consent.marketing){Facebook.disable();Pinterest.disable();Bing.disable();consent.facebook=!1;consent.bing=!1;consent.pinterest=!1} 133if(!Cookiebot.consent.statistics){Analytics.disable();consent.ga=!1;consent.gtm=!1} 134Utils.setupGDPRData(consent)})} 135if(options.gdpr.cookie_notice_integration_enabled){$(document).onFirst('click','.cn-set-cookie',function(){let consent={};
135if($(this).data('cookie-set')==='accept'){Facebook.loadPixel();Analytics.loadPixel();Pinterest.loadPixel();Bing.loadPixel();consent={facebook:!0,ga:!0,bing:!0,pinterest:!0,gtm:!0,}}else{Facebook.disable();Analytics.disable();Pinterest.disable();Bing.disable();consent={facebook:!1,ga:!1,bing:!1,pinterest:!1,gtm:!1,}} 136Utils.setupGDPRData(consent)});$(document).onFirst('click','.cn-revoke-cookie',function(){Facebook.disable();Analytics.disable();Pinterest.disable();Bing.disable();let consent={facebook:!1,ga:!1,bing:!1,pinterest:!1,gtm:!1,};Utils.setupGDPRData(consent)})} 137if(options.gdpr.cookie_law_info_integration_enabled){$(document).onFirst('click','#wt-cli-accept-all-btn,#cookie_action_close_header, .cky-btn-accept',function(){setTimeout(function(){let cli_cookie=Cookies.get('cookieyes-consent')??Cookies.get('wt_consent')??Cookies.get('viewed_cookie_policy');if(typeof cli_cookie!=='undefined'){if(cli_cookie===Cookies.get('cookieyes-consent')||cli_cookie===Cookies.get('wt_consent')){if(getCookieYes('analytics')==='yes'){Utils.manageCookies()}}else if(cli_cookie===Cookies.get('viewed_cookie_policy')&&cli_cookie=='yes'){Utils.manageCookies()}}},1000) 138Facebook.loadPixel();Analytics.loadPixel();Pinterest.loadPixel();Bing.loadPixel();let consent={facebook:!0,ga:!0,bing:!0,pinterest:!0,gtm:!0,};Utils.setupGDPRData(consent)});$(document).onFirst('click','#cookie_action_close_header_reject, .cky-btn-reject',function(){Facebook.disable();Analytics.disable();Pinterest.disable();Bing.disable();let consent={facebook:!1,ga:!1,bing:!1,pinterest:!1,gtm:!1,};Utils.setupGDPRData(consent)})}},setupGDPRData:function(consent){consent=window.btoa(JSON.stringify(consent));Cookies.set('pys_consent',consent,{expires:365,path:'/',domain:domain})},getLinkExtension:function(link){link=link.substring(0,(link.indexOf("#")===-1)?link.length:link.indexOf("#"));link=link.substring(0,(link.indexOf("?")===-1)?link.length:link.indexOf("?"));link=link.substring(link.lastIndexOf("/")+1,link.length);if(link.length>0&&link.indexOf('.')!==-1){link=link.substring(link.indexOf(".")+1);return link}else{return""}},getLinkFilename:function(link){link=link.substring(0,(link.indexOf("#")===-1)?link.length:link.indexOf("#"));link=link.substring(0,(link.indexOf("?")===-1)?link.length:link.indexOf("?"));link=link.substring(link.lastIndexOf("/")+1,link.length);if(link.length>0&&link.indexOf('.')!==-1){return link}else{return""}},isCheckoutPage:function(){return $('body').hasClass('woocommerce-checkout')||document.querySelector('.woocommerce-checkout')||$('body').hasClass('edd-checkout')},addCheckoutFields:function(){var utm="";var utms=getUTMs() 139$.each(utmTerms,function(index,name){if(index>0){utm+="|"} 140utm+=name+":"+utms[name]});var utmIdList="";var utmsIds=getUTMId() 141$.each(utmId,function(index,name){if(index>0){utmIdList+="|"} 142utmIdList+=name+":"+utmsIds[name]});var utmIdListLast="";var utmsIdsLast=getUTMId(!0) 143$.each(utmId,function(index,name){if(index>0){utmIdListLast+="|"} 144utmIdListLast+=name+":"+utmsIdsLast[name]});var utmLast="";var utmsLast=getUTMs(!0) 145$.each(utmTerms,function(index,name){if(index>0){utmLast+="|"} 146utmLast+=name+":"+utmsLast[name]});var dateTime=getDateTime();var landing=getLandingPageValue();var lastLanding=getLandingPageValue();var trafic=getTrafficSourceValue();var lastTrafic=getTrafficSourceValue();var $form=null;if($('body').hasClass('woocommerce-checkout')){$form=$("form.woocommerce-checkout")}else{$form=$("#edd_purchase_form")} 147var inputs={'pys_utm':utm,'pys_utm_id':utmIdList,'pys_browser_time':dateTime.join("|"),'pys_landing':landing,'pys_source':trafic,'pys_order_type':$(".wcf-optin-form").length>0?"wcf-optin":"normal",'last_pys_landing':lastLanding,'last_pys_source':lastTrafic,'last_pys_utm':utmLast,'last_pys_utm_id':utmIdListLast,} 148Object.keys(inputs).forEach(function(key,index){$form.append("<input type='hidden' name='"+key+"' value='"+inputs[key]+"' /> ")})},getAdvancedFormData:function(){let dataStr=Cookies.get("pys_advanced_form_data");if(dataStr===undefined){return{'first_name':"",'last_name':"",'email':"",'phone':""}}else{return JSON.parse(dataStr)}}}}(options);var Facebook=function(options){var defaultEventTypes=['PageView','ViewContent','Search','AddToCart','AddToWishlist','InitiateCheckout','AddPaymentInfo','Purchase','Lead','Subscribe','CustomizeProduct','FindLocation','StartTrial','SubmitApplication','Schedule','Contact','Donate'];var initialized=!1;var genereateFbp=function(){return!Cookies.get('_fbp')?'fb.1.'+Date.now()+'.'+Math.floor(1000000000+Math.random()*9000000000):Cookies.get('_fbp')};var genereateFbc=function(){return getUrlParameter('fbclid')?'fb.1.'+Date.now()+'.'+getUrlParameter('fbclid'):''};var isApiDisabled=options.gdpr.all_disabled_by_api||options.gdpr.facebook_disabled_by_api||options.gdpr.cookiebot_integration_enabled||options.gdpr.consent_magic_integration_enabled||options.gdpr.cookie_notice_integration_enabled||options.gdpr.cookie_law_info_integration_enabled;function sendFbServerEvent(allData,name,params){let eventId=null;if(options.facebook.serverApiEnabled){if(allData.e_id==="woo_remove_from_cart"){Facebook.updateEventId(allData.name);allData.eventID=Facebook.getEventId(allData.name)}else{allData.eventID=Utils.generateUniqueId(allData);if(Cookies.get('_fbp')){params._fbp=Cookies.get('_fbp')} 149if(Cookies.get('_fbc')){params._fbc=Cookies.get('_fbc')} 150if(options.ajaxForServerEvent||isApiDisabled){var json={action:'pys_api_event',pixel:'facebook',event:name,data:params,ids:options.facebook.pixelIds,eventID:allData.eventID,url:window.location.href,ajax_event:options.ajax_event};if(allData.hasOwnProperty('woo_order')){json.woo_order=allData.woo_order} 151if(allData.hasOwnProperty('edd_order')){json.edd_order=allData.edd_order} 152if(allData.e_id==="automatic_event_internal_link"||allData.e_id==="automatic_event_outbound_link"){setTimeout(()=>Utils.sendServerAjaxRequest(options.ajaxUrl,json),500)}else if(allData.type!='static'){Utils.sendServerAjaxRequest(options.ajaxUrl,json)} 153if((allData.type=='static'&&options.ajaxForServerStaticEvent)||(allData.hasOwnProperty('ajaxFire')&&allData.ajaxFire)){Utils.sendServerAjaxRequest(options.ajaxUrl,json)}}} 154delete params._fbp;delete params._fbc;eventId=allData.eventID} 155return eventId} 156function fireEvent(name,allData){if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'facebook')){return} 157var actionType=defaultEventTypes.includes(name)?'track':'trackCustom';var data=allData.params;var params={};var arg={};Utils.copyProperties(data,params);let eventId=sendFbServerEvent(allData,name,params) 158if("hCR"===name){return} 159if(options.debug){console.log('[Facebook] '+name,params,"eventID",eventId)} 160if(eventId!=null){arg.eventID=eventId} 161fbq(actionType,name,params,arg)} 162return{tag:function(){return"facebook"},isEnabled:function(){return options.hasOwnProperty('facebook')},disable:function(){initialized=!1},advancedMatching:function(){if(options.facebook.advancedMatchingEnabled){let advancedMatchingForm=Utils.getAdvancedFormData();let advancedMatching={};if(Object.keys(options.facebook.advancedMatching).length>0){advancedMatching=options.facebook.advancedMatching} 163if(!advancedMatching.hasOwnProperty("em")&&advancedMatchingForm.hasOwnProperty("email")&&advancedMatchingForm.email.length>0){advancedMatching.em=advancedMatchingForm.email} 164if(!advancedMatching.hasOwnProperty("ph")&&advancedMatchingForm.hasOwnProperty("phone")&&advancedMatchingForm.phone.length>0){advancedMatching.ph=advancedMatchingForm.phone} 165if(!advancedMatching.hasOwnProperty("fn")&&advancedMatchingForm.hasOwnProperty("first_name")&&advancedMatchingForm.first_name.length>0){advancedMatching.fn=advancedMatchingForm.first_name} 166if(!advancedMatching.hasOwnProperty("ln")&&advancedMatchingForm.hasOwnProperty("last_name")&&advancedMatchingForm.last_name.length>0){advancedMatching.ln=advancedMatchingForm.last_name} 167if(!advancedMatching.hasOwnProperty("external_id")){if(Cookies.get('pbid')||(options.hasOwnProperty('pbid')&&options.pbid)){advancedMatching.external_id=Cookies.get('pbid')?Cookies.get('pbid'):options.pbid}}else if(advancedMatching.external_id!=Cookies.get('pbid')){advancedMatching.external_id=Cookies.get('pbid')?Cookies.get('pbid'):advancedMatching.external_id} 168if(Object.keys(advancedMatching).length>0){return advancedMatching}} 169return!1},loadPixel:function(){if(initialized||!this.isEnabled()||!Utils.consentGiven('facebook')){return} 170!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.agent='dvpixelyoursite';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');let expires=parseInt(options.cookie_duration);if(!Cookies.get('_fbp')){Cookies.set('_fbp',genereateFbp(),{expires:expires,path:'/',domain:domain})} 171if(getUrlParameter('fbclid')){Cookies.set('_fbc',genereateFbc(),{expires:expires,path:'/',domain:domain})}
172options.facebook.pixelIds.forEach(function(pixelId){if(options.facebook.removeMetadata){fbq('set','autoConfig',!1,pixelId)} 173let advancedMatching=Facebook.advancedMatching();if(+options.facebook.meta_ldu===1){fbq('dataProcessingOptions',['LDU'],0,0)} 174if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){if(!advancedMatching){fbq('init',pixelId)}else{var test_prefix=CS_Data.test_prefix;var cs_advanced_matching=Cookies.get('cs_enabled_advanced_matching'+test_prefix);if(jQuery('#cs_enabled_advanced_matching'+test_prefix).length>0){if(cs_advanced_matching=='yes'){fbq('init',pixelId,advancedMatching)}else{fbq('init',pixelId)}}else{fbq('init',pixelId,advancedMatching)}}}else{if(!advancedMatching){fbq('init',pixelId)}else{fbq('init',pixelId,advancedMatching)}}});initialized=!0;Utils.fireStaticEvents('facebook')},fireEvent:function(name,data){if(!initialized||!this.isEnabled()){return!1} 175data.delay=data.delay||0;data.params=data.params||{};if(data.delay===0){fireEvent(name,data)}else{setTimeout(function(name,params){fireEvent(name,params)},data.delay*1000,name,data)} 176return!0},onCommentEvent:function(event){this.fireEvent(event.name,event)},onDownloadEvent:function(event){this.fireEvent(event.name,event)},onFormEvent:function(event){this.fireEvent(event.name,event)},onWooAddToCartOnButtonEvent:function(product_id){if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 177return;var event=options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()];window.pysWooProductData=window.pysWooProductData||[];if(window.pysWooProductData.hasOwnProperty(product_id)){if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){event=Utils.copyProperties(event,{}) 178Utils.copyProperties(window.pysWooProductData[product_id].facebook.params,event.params) 179this.fireEvent(event.name,event)}}},onWooAddToCartOnSingleEvent:function(product_id,qty,product_type,$form){window.pysWooProductData=window.pysWooProductData||[];if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 180return;var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(product_type===Utils.PRODUCT_VARIABLE&&!options.facebook.wooVariableAsSimple){product_id=parseInt($form.find('input[name="variation_id"]').val())} 181if(window.pysWooProductData.hasOwnProperty(product_id)){if(window.pysWooProductData[product_id].hasOwnProperty('facebook')){Utils.copyProperties(window.pysWooProductData[product_id].facebook.params,event.params);var groupValue=0;if(product_type===Utils.PRODUCT_GROUPED){$form.find(".woocommerce-grouped-product-list .qty").each(function(index){var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");var quantity=parseInt($(this).val());if(isNaN(quantity)){quantity=0} 182var childItem=window.pysWooProductData[product_id].facebook.grouped[childId];if(quantity==0){event.params.content_ids.forEach(function(el,index,array){if(el==childItem.content_id){array.splice(index,1)}})} 183if(event.params.hasOwnProperty('contents')){event.params.contents.forEach(function(el,index,array){if(el.id==childItem.content_id){if(quantity>0){el.quantity=quantity}else{array.splice(index,1)}}})} 184groupValue+=childItem.price*quantity});if(groupValue==0)return} 185if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'){if(product_type===Utils.PRODUCT_GROUPED){event.params.value=groupValue}else if(product_type===Utils.PRODUCT_BUNDLE){var data=$(".bundle_form .bundle_data").data("bundle_form_data");var items_sum=getBundlePriceOnSingleProduct(data);event.params.value=(parseInt(data.base_price)+items_sum)*qty}else{event.params.value=event.params.value*qty}} 186if(event.params.hasOwnProperty('contents')&&product_type!==Utils.PRODUCT_GROUPED){event.params.contents[0].quantity=qty} 187this.fireEvent(event.name,event)}}},onWooRemoveFromCartEvent:function(event){this.fireEvent(event.name,event)},onEddAddToCartOnButtonEvent:function(download_id,price_index,qty){if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 188return;var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);if(window.pysEddProductData.hasOwnProperty(download_id)){var index;if(price_index){index=download_id+'_'+price_index}else{index=download_id} 189if(window.pysEddProductData[download_id].hasOwnProperty(index)){if(window.pysEddProductData[download_id][index].hasOwnProperty('facebook')){Utils.copyProperties(window.pysEddProductData[download_id][index].facebook.params,event.params) 190if(options.edd.addToCartOnButtonValueEnabled&&options.edd.addToCartOnButtonValueOption!=='global'){event.params.value=event.params.value*qty}
191var contents=event.params.contents;contents[0].quantity=qty;event.params.contents=contents;this.fireEvent(event.name,event)}}}},onEddRemoveFromCartEvent:function(event){this.fireEvent(event.name,event)},onPageScroll:function(event){this.fireEvent(event.name,event)},onTime:function(event){this.fireEvent(event.name,event)},initEventIdCookies:function(key){var ids={};ids[key]=pys_generate_token(36) 192Cookies.set('pys_fb_event_id',JSON.stringify(ids))},updateEventId:function(key){var cooData=Cookies.get("pys_fb_event_id") 193if(cooData===undefined){this.initEventIdCookies(key)}else{var data=JSON.parse(cooData);data[key]=pys_generate_token(36);Cookies.set('pys_fb_event_id',JSON.stringify(data))}},getEventId:function(key){var data=Cookies.get("pys_fb_event_id");if(data===undefined){this.initEventIdCookies(key);data=Cookies.get("pys_fb_event_id")} 194return JSON.parse(data)[key]},sendFacebookRestAPIRequest:function(allData,name,params){if(typeof window.pysFacebookRest==='undefined'||!window.pysFacebookRest.restApiUrl){return} 195const restApiData={event:name,data:JSON.stringify(params),ids:allData.pixelIds||options.facebook.pixelIds,eventID:allData.eventID,woo_order:allData.woo_order||0,edd_order:allData.edd_order||0};if(navigator.sendBeacon){const formData=new FormData();Object.keys(restApiData).forEach(key=>{if(Array.isArray(restApiData[key])){restApiData[key].forEach(value=>{formData.append(key+'[]',value)})}else{formData.append(key,restApiData[key])}});if(navigator.sendBeacon(window.pysFacebookRest.restApiUrl,formData)){return}} 196fetch(window.pysFacebookRest.restApiUrl,{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded',},body:new URLSearchParams(restApiData)}).catch(()=>{this.sendAjaxFallback(allData,name,params)})},sendAjaxFallback:function(allData,name,params){var json={action:'pys_api_event',pixel:'facebook',event:name,data:params,ids:allData.pixelIds||options.facebook.pixelIds,eventID:allData.eventID,url:window.location.href,ajax_event:options.ajax_event};if(allData.hasOwnProperty('woo_order')){json.woo_order=allData.woo_order} 197if(allData.hasOwnProperty('edd_order')){json.edd_order=allData.edd_order} 198Utils.sendServerAjaxRequest(options.ajaxUrl,json)},}}(options);var Analytics=function(options){var initialized=!1;function fireEvent(name,data){if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'ga')){return} 199var eventParams=Utils.copyProperties(data,{});var _fireEvent=function(tracking_id,name,params){params.send_to=tracking_id;if(options.debug){console.log('[Google Analytics #'+tracking_id+'] '+name,params)} 200gtag('event',name,params)};options.ga.trackingIds.forEach(function(tracking_id){var copyParams=Utils.copyProperties(eventParams,{});var params=mapParamsTov4(tracking_id,name,copyParams) 201_fireEvent(tracking_id,name,params)})} 202function mapParamsTov4(tag,name,param){delete param.landing_page;if(isv4(tag)){delete param.traffic_source;delete param.event_category;delete param.event_label;delete param.ecomm_prodid;delete param.ecomm_pagetype;delete param.ecomm_totalvalue;if(name==='search'){param.search=param.search_term;delete param.search_term;delete param.dynx_itemid;delete param.dynx_pagetype;delete param.dynx_totalvalue}} 203return param} 204function isv4(tag){return tag.indexOf('G')===0} 205return{tag:function(){return"ga"},isEnabled:function(){return options.hasOwnProperty('ga')},disable:function(){initialized=!1},loadPixel:function(){if(initialized||!this.isEnabled()||!Utils.consentGiven('analytics')){return} 206Utils.loadGoogleTag(options.ga.trackingIds[0]);var config={};if(options.ga.crossDomainEnabled){config.linker={accept_incoming:options.ga.crossDomainAcceptIncoming,domains:options.ga.crossDomainDomains}} 207var ids=options.ga.trackingIds;ids.forEach(function(trackingId,index){var obj=options.ga.isDebugEnabled;var searchValue="index_"+index;var config_for_tag=Object.assign({},options.config);config_for_tag.debug_mode=!1;config_for_tag.send_page_view=!options.ga.custom_page_view_event;for(var key in obj){if(obj.hasOwnProperty(key)&&obj[key]===searchValue){config_for_tag.debug_mode=!0;break}} 208if(!config_for_tag.debug_mode){delete config_for_tag.debug_mode} 209if(isv4(trackingId)){if(options.ga.disableAdvertisingFeatures){config_for_tag.allow_google_signals=!1} 210if(options.ga.disableAdvertisingPersonalization){config_for_tag.allow_ad_personalization_signals=!1}} 211if(options.ga.hasOwnProperty('additionalConfig')){if(options.ga.additionalConfig.hasOwnProperty(trackingId)&&options.ga.additionalConfig[trackingId]){config_for_tag.first_party_collection=options.ga.additionalConfig[trackingId].first_party_collection}} 212if(options.ga.hasOwnProperty('serverContainerUrls')){if(options.ga.serverContainerUrls.hasOwnProperty(trackingId)&&options.ga.serverContainerUrls[trackingId].enable_server_container!=!1){if(options.ga.serverContainerUrls[trackingId].server_container_url!=''){config_for_tag.server_container_url=options.ga.serverContainerUrls[trackingId].server_container_url} 213if(options.ga.serverContainerUrls[trackingId].transport_url!=''){config_for_tag.transport_url=options.ga.serverContainerUrls[trackingId].transport_url}}} 214if(options.gdpr.cookiebot_integration_enabled&&typeof Cookiebot!=='undefined'){var cookiebot_consent_category=options.gdpr.cookiebot_analytics_consent_category;if(options.gdpr.analytics_prior_consent_enabled){if(Cookiebot.consented===!0&&Cookiebot.consent[cookiebot_consent_category]){gtag('config',trackingId,config_for_tag)}}else{if(Cookiebot.consent[cookiebot_consent_category]){gtag('config',trackingId,config_for_tag)}}}else{gtag('config',trackingId,config_for_tag)}});initialized=!0;Utils.fireStaticEvents('ga')},fireEvent:function(name,data){if(!initialized||!this.isEnabled()){return!1} 215data.delay=data.delay||0;data.params=data.params||{};data.params.eventID=Utils.generateUniqueId(data);if(data.delay===0){fireEvent(name,data.params)}else{setTimeout(function(name,params){fireEvent(name,params)},data.delay*1000,name,data.params)} 216return!0},onCommentEvent:function(event){this.fireEvent(event.name,event)},onDownloadEvent:function(event){this.fireEvent(event.name,event)},onFormEvent:function(event){this.fireEvent(event.name,event)},onWooAddToCartOnButtonEvent:function(product_id){if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 217return;var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(window.pysWooProductData.hasOwnProperty(product_id)){if(window.pysWooProductData[product_id].hasOwnProperty('ga')){Utils.copyProperties(window.pysWooProductData[product_id].ga.params,event.params) 218this.fireEvent(event.name,event)}}},onWooAddToCartOnSingleEvent:function(product_id,qty,product_type,$form){window.pysWooProductData=window.pysWooProductData||[];if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 219return;var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(product_type===Utils.PRODUCT_VARIABLE&&!options.ga.wooVariableAsSimple){product_id=parseInt($form.find('input[name="variation_id"]').val())} 220if(window.pysWooProductData.hasOwnProperty(product_id)){if(window.pysWooProductData[product_id].hasOwnProperty('ga')){Utils.copyProperties(window.pysWooProductData[product_id].ga.params,event.params);if(product_type===Utils.PRODUCT_GROUPED){var groupValue=0;$form.find(".woocommerce-grouped-product-list .qty").each(function(index){var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");var quantity=parseInt($(this).val());if(isNaN(quantity)){quantity=0} 221var childItem=window.pysWooProductData[product_id].ga.grouped[childId];
221event.params.items.forEach(function(el,index,array){if(el.id==childItem.content_id){if(quantity>0){el.quantity=quantity}else{array.splice(index,1)}}});groupValue+=childItem.price*quantity});if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'&&event.params.hasOwnProperty('ecomm_totalvalue')){event.params.ecomm_totalvalue=groupValue} 222if(groupValue==0)return}else{event.params.items[0].quantity=qty} 223if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'&&product_type!==Utils.PRODUCT_GROUPED){if(event.params.hasOwnProperty('ecomm_totalvalue')){event.params.ecomm_totalvalue=event.params.items[0].price*qty}} 224this.fireEvent(event.name,event)}}},onWooRemoveFromCartEvent:function(event){this.fireEvent(event.name,event)},onEddAddToCartOnButtonEvent:function(download_id,price_index,qty){if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 225return;var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);if(window.pysEddProductData.hasOwnProperty(download_id)){var index;if(price_index){index=download_id+'_'+price_index}else{index=download_id} 226if(window.pysEddProductData[download_id].hasOwnProperty(index)){if(window.pysEddProductData[download_id][index].hasOwnProperty('ga')){Utils.copyProperties(window.pysEddProductData[download_id][index].ga.params,event.params);event.params.items[0].quantity=qty;this.fireEvent(event.name,event)}}}},onEddRemoveFromCartEvent:function(event){this.fireEvent(event.name,event)},onPageScroll:function(event){this.fireEvent(event.name,event)},onTime:function(event){this.fireEvent(event.name,event)},}}(options);var GTM=function(options){var initialized=!1;var datalayer_name='dataLayer';function fireEvent(name,event){if(typeof window.pys_event_data_filter==="function"&&window.pys_disable_event_filter(name,'gtm')){return} 227var eventParams=event.params;var data=event.params;var valuesArray=Object.values(event.trackingIds);var ids=valuesArray;
227Utils.copyProperties(Utils.getRequestParams(),eventParams);var _fireEvent=function(tracking_id,name,params,event=null){var eventData={};var ContainerCodeHasTag=!options.gtm.gtm_just_data_layer&&tracking_id.length>0;if(ContainerCodeHasTag){params.send_to=tracking_id}else if(!options.gtm.gtm_just_data_layer){return} 228if(params.hasOwnProperty('ecommerce')){eventData.ecommerce=params.ecommerce;delete params.ecommerce} 229var automatedParams={...params};[params.manualName,'manualName','triggerType'].forEach(key=>delete automatedParams[key]);if(event&&(!event.hasOwnProperty('hasAutoParam')||(event.hasOwnProperty('hasAutoParam')&&event.hasAutoParam))){eventData.automatedParameters=automatedParams} 230if(params.hasOwnProperty(params.manualName)){eventData[params.manualName]=params[params.manualName];delete params[params.manualName]}['manualName','triggerType'].forEach(key=>{if(params.hasOwnProperty(key)){eventData[key]=params[key];delete params[key]}});eventData.manualDataLayer=options.gtm.gtm_dataLayer_name??'dataLayer';eventData.event=name;if(options.debug){if(ContainerCodeHasTag){console.log('[Google GTM #'+tracking_id+'] '+name,eventData)}else{console.log('[Google GTM push to "'+datalayer_name+'"] '+name,eventData)}} 231window[datalayer_name].push(eventData)};var copyParams=Utils.copyProperties(eventParams,{});var params=mapParamsToGTM(ids,name,copyParams) 232params.event_id=Utils.generateUniqueId(event);_fireEvent(ids,name,params,event)} 233function normalizeEventName(eventName){var matches={ViewContent:'view_item',AddToCart:'add_to_cart',AddToWishList:'add_to_wishlist',InitiateCheckout:'begin_checkout',Purchase:'purchase',Lead:'generate_lead',CompleteRegistration:'sign_up',AddPaymentInfo:'set_checkout_option'};return matches.hasOwnProperty(eventName)?matches[eventName]:eventName} 234function mapParamsToGTM(tag,name,param){var hasGTM=!1;if(Array.isArray(tag)){hasGTM=tag.some(function(element){return isGTM(element)})}else if(isGTM(tag)){hasGTM=!0}
234 235if(hasGTM){delete param.event_category;delete param.event_label;delete param.analytics_storage;delete param.ad_storage;delete param.ad_user_data;delete param.ad_personalization;if(name==='search'){param.search=param.search_term;delete param.search_term;delete param.dynx_itemid;delete param.dynx_pagetype;delete param.dynx_totalvalue}} 236return param} 237function isGTM(tag){return tag.indexOf('GTM')===0} 238return{tag:function(){return"gtm"},isEnabled:function(){return options.hasOwnProperty('gtm')},disable:function(){initialized=!1},updateEnhancedConversionData:function(){if(!initialized||!this.isEnabled()){return} 239if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.hasOwnProperty("userDataEnable")&&options.tracking_analytics.userDataEnable){var advanced=Utils.getAdvancedFormData();if(Object.keys(advanced).length>0){window[datalayer_name].push({'user_data':advanced})}}},loadPixel:function(){if(initialized||!this.isEnabled()||!Utils.consentGiven('analytics')){return} 240datalayer_name=options.gtm.gtm_dataLayer_name??'dataLayer';for(var i=0;i<options.gtm.trackingIds.length;i++){var trackingId=options.gtm.trackingIds[i];if(!options.gtm.gtm_just_data_layer){console.log('[PYS] Google Tag Manager container code loaded');Utils.loadGTMScript(trackingId);break}} 241if(options.gtm.gtm_just_data_layer){console.warn&&console.warn("[PYS] Google Tag Manager container code placement set to OFF !!!");console.warn&&console.warn("[PYS] Data layer codes are active but GTM container must be loaded using custom coding !!!");if(options.gtm.trackingIds.length==0){Utils.loadGTMScript()}} 242if(options.hasOwnProperty("tracking_analytics")&&options.tracking_analytics.hasOwnProperty("userDataEnable")&&options.tracking_analytics.userDataEnable){var advanced=Utils.getAdvancedFormData();if(Object.keys(advanced).length>0){window[datalayer_name].push({'user_data':advanced})}}
243var config={};if(options.user_id&&options.user_id!=0){config.user_id=options.user_id} 244var ids=options.gtm.trackingIds;initialized=!0;Utils.fireStaticEvents('gtm')},fireEvent:function(name,data){if(!initialized||!this.isEnabled()){return!1} 245data.delay=data.delay||0;data.params=data.params||{};if(data.delay===0){fireEvent(name,data)}else{setTimeout(function(name,params){fireEvent(name,params)},data.delay*1000,name,data)} 246return!0},onCommentEvent:function(event){this.fireEvent(event.name,event)},onDownloadEvent:function(event){this.fireEvent(event.name,event)},onFormEvent:function(event){this.fireEvent(event.name,event)},onWooAddToCartOnButtonEvent:function(product_id,prod_info=null){if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 247return;var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(window.pysWooProductData.hasOwnProperty(product_id)){if(window.pysWooProductData[product_id].hasOwnProperty('gtm')){Utils.copyProperties(window.pysWooProductData[product_id].gtm.params,event.params) 248this.fireEvent(event.name,event)}}},onWooAddToCartOnSingleEvent:function(product_id,qty,product_type,is_external,$form,prod_info){window.pysWooProductData=window.pysWooProductData||[];if(!options.dynamicEvents.woo_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 249return;var event=Utils.clone(options.dynamicEvents.woo_add_to_cart_on_button_click[this.tag()]);if(product_type===Utils.PRODUCT_VARIABLE&&!options.gtm.wooVariableAsSimple){product_id=parseInt($form.find('input[name="variation_id"]').val())} 250if(window.pysWooProductData.hasOwnProperty(product_id)){if(window.pysWooProductData[product_id].hasOwnProperty('gtm')){Utils.copyProperties(window.pysWooProductData[product_id].gtm.params,event.params);params=event.params.hasOwnProperty('ecommerce')?event.params.ecommerce:event.params;if(product_type===Utils.PRODUCT_GROUPED){var groupValue=0;$form.find(".woocommerce-grouped-product-list .qty").each(function(index){var childId=$(this).attr('name').replaceAll("quantity[","").replaceAll("]","");var quantity=parseInt($(this).val());if(isNaN(quantity)){quantity=0} 251var childItem=window.pysWooProductData[product_id].gtm.grouped[childId];params.items.forEach(function(el,index,array){if(el.id==childItem.content_id){if(quantity>0){el.quantity=quantity;el.price=childItem.price}else{array.splice(index,1)}}});groupValue+=childItem.price*quantity});if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'&¶ms.hasOwnProperty('value')){params.value=groupValue} 252if(groupValue==0)return}else{params.items[0].quantity=qty} 253if(options.woo.addToCartOnButtonValueEnabled&&options.woo.addToCartOnButtonValueOption!=='global'&&product_type!==Utils.PRODUCT_GROUPED){if(params.hasOwnProperty('value')){params.value=params.items[0].price*qty}} 254this.fireEvent(event.name,event)}}},onWooRemoveFromCartEvent:function(event){this.fireEvent(event.name,event)},onEddAddToCartOnButtonEvent:function(download_id,price_index,qty){if(!options.dynamicEvents.edd_add_to_cart_on_button_click.hasOwnProperty(this.tag())) 255return;var event=Utils.clone(options.dynamicEvents.edd_add_to_cart_on_button_click[this.tag()]);if(window.pysEddProductData.hasOwnProperty(download_id)){var index;if(price_index){index=download_id+'_'+price_index}else{index=download_id} 256if(window.pysEddProductData[download_id].hasOwnProperty(index)){if(window.pysEddProductData[download_id][index].hasOwnProperty('gtm')){Utils.copyProperties(window.pysEddProductData[download_id][index].gtm.params,event.params);item=event.params.hasOwnProperty('ecommerce')?event.params.ecommerce.items[0]:event.params.items[0];item.quantity=qty;this.fireEvent(event.name,event)}}}},onEddRemoveFromCartEvent:function(event){this.fireEvent(event.name,event)},onPageScroll:function(event){this.fireEvent(event.name,event)},onTime:function(event){this.fireEvent(event.name,event)},}}(options);var getPixelBySlag=function getPixelBySlag(slug){switch(slug){case "facebook":return window.pys.Facebook;case "ga":return window.pys.Analytics;case "gtm":return window.pys.GTM;case "bing":return window.pys.Bing;case "pinterest":return window.pys.Pinterest;case "reddit":return window.pys.Reddit}} 257window.pys=window.pys||{};window.pys.Facebook=Facebook;window.pys.Analytics=Analytics;window.pys.GTM=GTM;window.pys.Utils=Utils;window.pys.getPixelBySlag=getPixelBySlag;window.getPixelBySlag=getPixelBySlag;$(document).ready(function(){if($("#pys_late_event").length>0){var dirAttr=$("#pys_late_event").attr("dir");
257if(dirAttr){try{var events=JSON.parse(dirAttr)}catch(e){console.warn("Invalid JSON in pys_late_event dir attribute:",e)}}else{console.warn("pys_late_event dir attribute is undefined or empty")} 258if(events){for(var key in events){var event={};event[events[key].e_id]=[events[key]];if(options.staticEvents.hasOwnProperty(key)){Object.assign(options.staticEvents[key],event)}else{options.staticEvents[key]=event}}}} 259var Pinterest=Utils.setupPinterestObject();var Bing=Utils.setupBingObject();var Reddit=Utils.setupRedditObject();if(options.hasOwnProperty('cookie')){if(options.cookie.externalID_disabled_by_api||options.cookie.disabled_all_cookie){Cookies.remove('pbid')} 260if(options.cookie.disabled_advanced_form_data_cookie||options.cookie.disabled_all_cookie){Cookies.remove('pys_advanced_form_data')} 261if(options.cookie.disabled_landing_page_cookie||options.cookie.disabled_all_cookie){Cookies.remove('pys_landing_page') 262Cookies.remove('last_pys_landing_page')} 263if(options.cookie.disabled_trafficsource_cookie||options.cookie.disabled_all_cookie){Cookies.remove('pysTrafficSource') 264Cookies.remove('last_pysTrafficSource')} 265if(options.cookie.disabled_first_visit_cookie||options.cookie.disabled_all_cookie){Cookies.remove('pys_first_visit')} 266if(options.cookie.disabled_utmTerms_cookie||options.cookie.disabled_all_cookie){$.each(Utils.utmTerms,function(index,name){Cookies.remove('pys_'+name)});$.each(Utils.utmTerms,function(index,name){Cookies.remove('last_pys_'+name)})} 267if(options.cookie.disabled_utmId_cookie||options.cookie.disabled_all_cookie){$.each(Utils.utmId,function(index,name){Cookies.remove('pys_'+name)}) 268$.each(Utils.utmId,function(index,name){Cookies.remove('last_pys_'+name)})}} 269if(options.gdpr.cookie_law_info_integration_enabled){var cli_cookie=Cookies.get('cookieyes-consent')??Cookies.get('viewed_cookie_policy');if(typeof cli_cookie!=='undefined'){if(cli_cookie===Cookies.get('cookieyes-consent')&&getCookieYes('analytics')=='yes'){Utils.manageCookies()}else if(cli_cookie===Cookies.get('viewed_cookie_policy')&&cli_cookie=='yes'){Utils.manageCookies()}}} 270if(options.gdpr.consent_magic_integration_enabled&&typeof CS_Data!=="undefined"){if(CS_Data.cs_script_cat.pys==CS_Data.cs_necessary_cat_id||CS_Data.cs_script_cat.pys==0){Utils.manageCookies()}else if(Cookies.get('cs_enabled_cookie_term'+CS_Data.test_prefix+'_'+CS_Data.cs_script_cat.pys)=='yes'){Utils.manageCookies()}}else{Utils.manageCookies()} 271Utils.setupGdprCallbacks();if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")){var singlePageScroll=function(){var docHeight=$(document).height()-$(window).height();var isFired=!1;if(options.dynamicEvents.hasOwnProperty("automatic_event_scroll")){var pixels=Object.keys(options.dynamicEvents.automatic_event_scroll);for(var i=0;i<pixels.length;i++){var event=Utils.clone(options.dynamicEvents.automatic_event_scroll[pixels[i]]);var scroll=Math.round(docHeight*event.scroll_percent/100) 272if(scroll<$(window).scrollTop()){if(pixels[i]!=='reddit'){Utils.copyProperties(Utils.getRequestParam
272s(),event.params)} 273getPixelBySlag(pixels[i]).onPageScroll(event);isFired=!0}}} 274if(isFired){$(document).off("scroll",singlePageScroll)}} 275$(document).on("scroll",singlePageScroll)} 276if(options.dynamicEvents.hasOwnProperty("automatic_event_time_on_page")){var pixels=Object.keys(options.dynamicEvents.automatic_event_time_on_page);var time=options.dynamicEvents.automatic_event_time_on_page[pixels[0]].time_on_page;setTimeout(function(){for(var i=0;i<pixels.length;i++){var event=Utils.clone(options.dynamicEvents.automatic_event_time_on_page[pixels[i]]);if(pixels[i]!=='reddit'){Utils.copyProperties(Utils.getRequestParams(),event.params)} 277getPixelBySlag(pixels[i]).onTime(event)}},time*1000)} 278if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){$(document).onFirst('click','a, button, input[type="button"], input[type="submit"]',function(e){var $elem=$(this);if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){var isFired=!1;if($elem.is('a')){var href=$elem.attr('href');if(typeof href!=="string"){return} 279href=href.trim();var extension=Utils.getLinkExtension(href);var track_download=!1;if(extension.length>0){if(options.dynamicEvents.hasOwnProperty("automatic_event_download")){var pixels=Object.keys(options.dynamicEvents.automatic_event_download);for(var i=0;i<pixels.length;i++){var event=Utils.clone(options.dynamicEvents.automatic_event_download[pixels[i]]);var extensions=event.extensions;if(extensions.includes(extension)){if(pixels[i]=="tiktok"||pixels[i]=="reddit"){getPixelBySlag(pixels[i]).fireEvent(tikEvent.name,event)}else{if(options.enable_remove_download_url_param){href=href.split('?')[0]} 280event.params.download_url=href;event.params.download_type=extension;event.params.download_name=Utils.getLinkFilename(href);getPixelBySlag(pixels[i]).onDownloadEvent(event)} 281isFired=!0}}}}} 282if(isFired){return}}})} 283$.each(options.triggerEventTypes,function(triggerType,events){$.each(events,function(eventId,triggers){switch(triggerType){case 'url_click':break;case 'css_click':Utils.setupCSSClickEvents(eventId,triggers);break;case 'css_mouseover':Utils.setupMouseOverClickEvents(eventId,triggers);break;case 'scroll_pos':Utils.setupScrollPosEvents(eventId,triggers);break;case 'comment':Utils.setupCommentEvents(eventId,triggers);break}})});if(options.woo.enabled){if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")&&options.woo.hasOwnProperty("addToCartCatchMethod")&&options.woo.addToCartCatchMethod==="add_cart_js"){$('.add_to_cart_button:not(.product_type_variable,.product_type_bundle,.single_add_to_cart_button)').on("click",function(e){var product_id=$(this).data('product_id');if(typeof product_id!=='undefined'){if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")){var tmpEventID=pys_generate_token();$.each(options.dynamicEvents.woo_add_to_cart_on_button_click,function(i,tag){tag.eventID=tmpEventID})} 284if(typeof product_id!=='undefined'){Facebook.onWooAddToCartOnButtonEvent(product_id);Analytics.onWooAddToCartOnButtonEvent(product_id);GTM.onWooAddToCartOnButtonEvent(product_id);Pinterest.onWooAddToCartOnButtonEvent(product_id);Bing.onWooAddToCartOnButtonEvent(product_id);Reddit.onWooAddToCartOnButtonEvent(product_id)}}});$('body').onFirst('click','button.single_add_to_cart_button,.single_add_to_cart_button',function(e){var $button=$(this);if($button.hasClass('disabled')){return} 285var $form=$button.closest('form');var product_type=Utils.PRODUCT_SIMPLE;if($form.length===0){return}else if($form.hasClass('variations_form')){product_type=Utils.PRODUCT_VARIABLE}else if($form.hasClass('bundle_form')){product_type=Utils.PRODUCT_BUNDLE}else if($form.hasClass('grouped_form')){product_type=Utils.PRODUCT_GROUPED} 286var product_id;var qty;if(product_type===Utils.PRODUCT_GROUPED){qty=1;product_id=parseInt($form.find('*[name="add-to-cart"]').val())}else if(product_type===Utils.PRODUCT_VARIABLE){product_id=parseInt($form.find('*[name="add-to-cart"]').val());var qtyTag=$form.find('input[name="quantity"]');if(qtyTag.length<=0){qtyTag=$form.find('select[name="quantity"]')} 287qty=parseInt(qtyTag.val())}else{product_id=parseInt($form.find('*[name="add-to-cart"]').val());var qtyTag=$form.find('input[name="quantity"]');if(qtyTag.length<=0){qtyTag=$form.find('select[name="quantity"]')} 288qty=parseInt(qtyTag.val())} 289if(options.dynamicEvents.hasOwnProperty("woo_add_to_cart_on_button_click")){var tmpEventID=pys_generate_token();$.each(options.dynamicEvents.woo_add_to_cart_on_button_click,function(i,tag){tag.eventID=tmpEventID})} 290Facebook.onWooAddToCartOnSingleEvent(product_id,qty,product_type,$form);Analytics.onWooAddToCartOnSingleEvent(product_id,qty,product_type,$form);GTM.onWooAddToCartOnSingleEvent(product_id,qty,product_type,$form);Pinterest.onWooAddToCartOnSingleEvent(product_id,qty,product_type,!1,$form);Bing.onWooAddToCartOnSingleEvent(product_id,qty,product_type,!1,$form);Reddit.onWooAddToCartOnSingleEvent(product_id,qty,product_type,!1,$form)})} 291if(options.dynamicEvents.hasOwnProperty("woo_remove_from_cart")){$('body').on('click',options.woo.removeFromCartSelector,function(e){var $a=$(e.currentTarget),href=$a.attr('href');var regex=new RegExp("[\\?&]remove_item=([^&#]*)"),results=regex.exec(href);if(results!==null){var item_hash=results[1];if(options.dynamicEvents.woo_remove_from_cart.hasOwnProperty(item_hash)){var events=options.dynamicEvents.woo_remove_from_cart[item_hash];Utils.fireEventForAllPixel("onWooRemoveFromCartEvent",events)}}})}} 292if(options.edd.enabled){if(options.dynamicEvents.hasOwnProperty("edd_add_to_cart_on_button_click")){$('form.edd_download_purchase_form .edd-add-to-cart').on("click",function(e){var $button=$(this);var $form=$button.closest('form');var variable_price=$button.data('variablePrice');var price_mode=$button.data('priceMode');var ids=[];var quantities=[];var qty;var id;if(variable_price==='yes'&&price_mode==='multi'){id=$form.find('input[name="download_id"]').val();$.each($form.find('input[name="edd_options[price_id][]"]:checked'),function(i,el){ids.push(id+'_'+$(el).val())});$.each(ids,function(i,variant_id){var variant_index=variant_id.split('_',2);qty=$form.find('input[name="edd_download_quantity_'+variant_index[1]+'"]').val();if(typeof qty!=='undefined'){quantities.push(qty)}else{quantities.push(1)}})}else if(variable_price==='yes'&&price_mode==='single'){id=$form.find('input[name="download_id"]').val();ids.push(id+'_'+$form.find('input[name="edd_options[price_id][]"]:checked').val());qty=$form.find('input[name="edd_download_quantity"]').val();if(typeof qty!=='undefined'){quantities.push(qty)}else{quantities.push(1)}}else{ids.push($button.data('downloadId'));qty=$form.find('input[name="edd_download_quantity"]').val();if(typeof qty!=='undefined'){quantities.push(qty)}else{quantities.push(1)}} 293$.each(ids,function(i,download_id){var q=parseInt(quantities[i]);var variant_index=download_id.toString().split('_',2);var price_index;if(variant_index.length===2){download_id=variant_index[0];price_index=variant_index[1]} 294Facebook.onEddAddToCartOnButtonEvent(download_id,price_index,q);Analytics.onEddAddToCartOnButtonEvent(download_id,price_index,q);GTM.onEddAddToCartOnButtonEvent(download_id,price_index,q);Pinterest.onEddAddToCartOnButtonEvent(download_id,price_index,q);Bing.onEddAddToCartOnButtonEvent(download_id,price_index,q);Reddit.onEddAddToCartOnButtonEvent(download_id,price_index,q)})})} 295if(options.dynamicEvents.hasOwnProperty("edd_remove_from_cart")){$('form#edd_checkout_cart_form .edd_cart_remove_item_btn').on("click",function(e){var href=$(this).attr('href');if(href){var key=href.substring(href.indexOf('=')+1).charAt(0);if(options.dynamicEvents.edd_remove_from_cart.hasOwnProperty(key)){var events=options.dynamicEvents.edd_remove_from_cart[key];Utils.fireEventForAllPixel("onEddRemoveFromCartEvent",events)}}})}}
296if(options.dynamicEvents.hasOwnProperty("automatic_event_comment")){$('form.comment-form').on("submit",function(){if(options.dynamicEvents.hasOwnProperty("automatic_event_comment")){var pixels=Object.keys(options.dynamicEvents.automatic_event_comment);for(var i=0;i<pixels.length;i++){var event=Utils.clone(options.dynamicEvents.automatic_event_comment[pixels[i]]);if(pixels[i]!=='reddit'){Utils.copyProperties(Utils.getRequestParams(),event.params)} 297getPixelBySlag(pixels[i]).onCommentEvent(event)}}})} 298if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){$(document).onFirst('submit','form',function(e){var $form=$(this);if($form.hasClass('comment-form')||$form.hasClass('search-form')||$form.attr('id')==='adminbarsearch'){return} 299if($form.hasClass('woocommerce-product-search')||$form.hasClass('cart')||$form.hasClass('woocommerce-cart-form')||$form.hasClass('woocommerce-shipping-calculator')||$form.hasClass('checkout')||$form.hasClass('checkout_coupon')){return} 300if($form.hasClass('edd_form')||$form.hasClass('edd_download_purchase_form')){return} 301if($form.hasClass('wpcf7-form')){return} 302if($form.hasClass('forminator-custom-form')||$form.hasClass('forminator_ajax')){return} 303if($form.hasClass('wpforms-form')||$form.hasClass('wpforms-ajax-form')){return} 304if($form.parent().hasClass('nf-form-layout')){return} 305if($form.hasClass('frm-fluent-form')){return} 306if(!options.enable_success_send_form){var params={form_id:$form.attr('id'),form_class:$form.attr('class'),text:$form.find('[type="submit"]').is('input')?$form.find('[type="submit"]').val():$form.find('[type="submit"]').text()};if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){var pixels=Object.keys(options.dynamicEvents.automatic_event_form);for(var i=0;i<pixels.length;i++){var event=Utils.clone(options.dynamicEvents.automatic_event_form[pixels[i]]);if(pixels[i]==="tiktok"||pixels[i]==="reddit"){getPixelBySlag(pixels[i]).fireEvent(event.name,event)}else{Utils.copyProperties(params,event.params,)
307Utils.copyProperties(Utils.getRequestParams(),event.params);getPixelBySlag(pixels[i]).onFormEvent(event)}}}}});document.addEventListener('wpcf7mailsent',function(event){var form_id=event.detail.contactFormId;sendFormAction($(event.target),form_id)},!1);$(document).on('forminator:form:submit:success',function(event){var form_id=$(event.target).find('input[name="form_id"]').val();sendFormAction($(event.target),form_id)});$('form.wpforms-form').on('wpformsAjaxSubmitSuccess',(event)=>{var form_id=$(event.target).attr('data-formid');sendFormAction($(event.target),form_id)}) 308$(document).on('frmFormComplete',function(event,form,response){const form_id=$(form).find('input[name="form_id"]').val();sendFormAction($(event.target),form_id)});$(document).onFirst('nfFormSubmitResponse',function(event,data){const form_id=data.response.data.form_id;sendFormAction($(event.target),form_id)});var fluentForms=$('form.frm-fluent-form');fluentForms.each(function(){var $form=$(this);$form.on('fluentform_submission_success',function(event){var $formItem=$(this);var form_id=$formItem.attr('data-form_id');sendFormAction($(event.target),form_id)})})} 309Utils.loadPixels();if(Utils.isCheckoutPage()){Utils.addCheckoutFields()}});var sendFormAction=function(form_target,formId){var params={form_id:formId,text:form_target.find('[type="submit"]').is('input')?form_target.find('[type="submit"]').val():form_target.find('.forminator-button-submit').text()!=''?form_target.find('.forminator-button-submit').text():form_target.find('[type="submit"]').text()};if(options.dynamicEvents.hasOwnProperty("automatic_event_form")){var pixels=Object.keys(options.dynamicEvents.automatic_event_form);for(var i=0;i<pixels.length;i++){var event=options.dynamicEvents.automatic_event_form[pixels[i]];if(pixels[i]==="tiktok"||pixels[i]==="reddit"){getPixelBySlag(pixels[i]).fireEvent(event.name,event)}else{Utils.copyProperties(params,event.params)
310Utils.copyProperties(Utils.getRequestParams(),event.params);getPixelBySlag(pixels[i]).onFormEvent(event)}}}}}(jQuery,pysOptions);function pys_generate_token(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,c=>(c^crypto.getRandomValues(new Uint8Array(1))[0]&15>>c/4).toString(16))} 311function getBundlePriceOnSingleProduct(data){var items_sum=0;jQuery(".bundle_form .bundled_product").each(function(index){var id=jQuery(this).find(".cart").data("bundled_item_id");var item_price=data.prices[id];var item_quantity=jQuery(this).find(".bundled_qty").val();if(!jQuery(this).hasClass("bundled_item_optional")||jQuery(this).find(".bundled_product_optional_checkbox input").prop('checked')){items_sum+=item_price*item_quantity}});return items_sum} 312function getUrlParameter(sParam){var sPageURL=window.location.search.substring(1),sURLVariables=sPageURL.split('&'),sParameterName,i;for(i=0;i<sURLVariables.length;i++){sParameterName=sURLVariables[i].split('=');if(sParameterName[0]===sParam){return sParameterName[1]===undefined?!0:decodeURIComponent(sParameterName[1])}} 313return!1};function getCookieYes(key){const cookiesObj=document.cookie.split(";").reduce((ac,cv)=>{const[k,v]=cv.split("=");if(k&&v)ac[k.trim()]=v;return ac},{});const consentCookie=cookiesObj["cookieyes-consent"]||cookiesObj.wt_consent;if(!consentCookie)return undefined;const{[key]:value}=consentCookie.split(",").reduce((obj,pair)=>{const[k,v]=pair.split(":");if(k&&v)obj[k]=v;return obj},{});return value} 314function getRootDomain(useSubdomain=!1){const hostname=window.location.hostname;if(typeof tldjs==="undefined"){console.warn("tldjs is not defined");return hostname} 315const rootDomain=tldjs.getDomain(hostname);return rootDomain?(useSubdomain?'.'+rootDomain:rootDomain):hostname}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.