diff --git a/Universal-Federated-Analytics-Min.js b/Universal-Federated-Analytics-Min.js index 874b395..78d13cb 100644 --- a/Universal-Federated-Analytics-Min.js +++ b/Universal-Federated-Analytics-Min.js @@ -1,61 +1,2 @@ -var tObjectCheck,_allowedQuerystrings=[],isSearch=!1,oCONFIG={GWT_GA4ID:["G-CSLL4ZEK4L"],FORCE_SSL:!0,ANONYMIZE_IP:!0,AGENCY:"",SUB_AGENCY:"",VERSION:"20240712 v8.2 - GA4",SITE_TOPIC:"",SITE_PLATFORM:"",SCRIPT_SOURCE:"",URL_PROTOCOL:location.protocol,USE_MAIN_CUSTOM_DIMENSIONS:!0,MAIN_AGENCY_DIMENSION:"agency",MAIN_SUBAGENCY_DIMENSION:"subagency",MAIN_CODEVERSION_DIMENSION:"version",MAIN_SITE_TOPIC_DIMENSION:"site_topic",MAIN_SITE_PLATFORM_DIMENSION:"site_platform",MAIN_SCRIPT_SOURCE_URL_DIMENSION:"script_source", -MAIN_URL_PROTOCOL_DIMENSION:"protocol",MAIN_INTERACTION_TYPE_DIMENSION:"interaction_type",MAIN_USING_PARALLEL_DIMENSION:"using_parallel_tracker",USE_PARALLEL_CUSTOM_DIMENSIONS:!1,PARALLEL_AGENCY_DIMENSION:"agency",PARALLEL_SUBAGENCY_DIMENSION:"subagency",PARALLEL_CODEVERSION_DIMENSION:"version",PARALLEL_SITE_TOPIC_DIMENSION:"site_topic",PARALLEL_SITE_PLATFORM_DIMENSION:"site_platform",PARALLEL_SCRIPT_SOURCE_URL_DIMENSION:"script_source",PARALLEL_URL_PROTOCOL_DIMENSION:"protocol",PARALLEL_INTERACTION_TYPE_DIMENSION:"interaction_type", -PARALLEL_USING_PARALLEL_DIMENSION:"using_parallel_tracker",COOKIE_DOMAIN:location.hostname.replace(/^www\./,"").toLowerCase(),COOKIE_TIMEOUT:63072E3,SEARCH_PARAMS:"q|query|nasaInclude|k|querytext|keys|qt|search_input|search|globalSearch|goog|s|gsearch|search_keywords|SearchableText|sp_q|qs|psnetsearch|locate|lookup|search_api_views_fulltext|keywords|request|_3_keywords|searchString",YOUTUBE:!1,YT_MILESTONE:25,AUTOTRACKER:!0,EXTS:"doc|docx|xls|xlsx|xlsm|ppt|pptx|exe|zip|pdf|js|txt|csv|dxf|dwgd|rfa|rvt|dwfx|dwg|wmv|jpg|msi|7z|gz|tgz|wma|mov|avi|mp3|mp4|csv|mobi|epub|swf|rar", -SUBDOMAIN_BASED:!0,GA4_NAME:"GSA_GA4_ENOR",USE_CUSTOM_URL:!1,USE_CUSTOM_TITLE:!1,USING_PARALLEL_TRACKER:"no",ACTIVATE_DEV:!1};_updateConfig();_setEnvironment();var head=document.getElementsByTagName("head").item(0),GA4Object=document.createElement("script");GA4Object.setAttribute("type","text/javascript");GA4Object.setAttribute("src","https://www.googletagmanager.com/gtag/js?id="+oCONFIG.GWT_GA4ID[0]);head.appendChild(GA4Object);window.dataLayer=window.dataLayer||[]; -function gtag(){dataLayer.push(arguments)}gtag("js",new Date);gtag("set",{cookie_flags:"SameSite=Strict;Secure",transport_type:"beacon"});function _onEveryPage(){_payloadInterceptor();_defineCookieDomain();_defineAgencyCDsValues();_setAllowedQS();createTracker()}_onEveryPage(); -function _defineCookieDomain(){/(([^.\/]+\.[^.\/]{2,3}\.[^.\/]{2})|(([^.\/]+\.)[^.\/]{2,4}))(\/.*)?$/.test(oCONFIG.SUBDOMAIN_BASED.toString())?(oCONFIG.COOKIE_DOMAIN=oCONFIG.SUBDOMAIN_BASED.toLowerCase().replace(/^www\./i,""),oCONFIG.SUBDOMAIN_BASED=!0):!1===oCONFIG.SUBDOMAIN_BASED?(oCONFIG.COOKIE_DOMAIN=document.location.hostname.match(/(([^.\/]+\.[^.\/]{2,3}\.[^.\/]{2})|(([^.\/]+\.)[^.\/]{2,4}))(\/.*)?$/)[1],oCONFIG.SUBDOMAIN_BASED=!0):(oCONFIG.COOKIE_DOMAIN=location.hostname.toLowerCase().replace(/^www\./i, -""),oCONFIG.SUBDOMAIN_BASED=!1)}function _defineAgencyCDsValues(){oCONFIG.AGENCY=oCONFIG.AGENCY||"unspecified:"+oCONFIG.COOKIE_DOMAIN;oCONFIG.SUB_AGENCY=oCONFIG.SUB_AGENCY||""+oCONFIG.COOKIE_DOMAIN;oCONFIG.SITE_TOPIC=oCONFIG.SITE_TOPIC||"unspecified:"+oCONFIG.COOKIE_DOMAIN;oCONFIG.SITE_PLATFORM=oCONFIG.SITE_PLATFORM||"unspecified:"+oCONFIG.COOKIE_DOMAIN} -function _setEnvironment(){if(document.location.href.match(/([?&])(dap-dev-env)([^&$]*)/i)||oCONFIG.ACTIVATE_DEV)oCONFIG.GWT_GA4ID[0]="G-9TNNMGP8WJ"}function _cleanBooleanParam(a){switch(a.toString().toLowerCase()){case "true":case "on":case "yes":case "1":return!0;case "false":case "off":case "no":case "0":return!1;default:return a}}function _isValidGA4Num(a){a=a.toLowerCase();a=a.match(/^g\-([0-9a-z])+$/);return null!==a&&0=_buckets[cCi].milestone&&!_buckets[cCi].triggered&&_buckets[b].id===b&&(_buckets[cCi].triggered=!0,l.video_percent=_buckets[cCi].milestone,l.video_current_time=Math.round(l.video_duration/_buckets.length*(cCi+1)),_sendEvent("video_progress", -l),cCi++)},(void 0!==playerArray[b].playerInfo?Math.round(playerArray[b].playerInfo.duration):Math.round(playerArray[b].getDuration()))/_buckets.length)}]),ytUtils[ytUtils.length-1][1](b))):a.data==YT.PlayerState.PLAYING&&_sendEvent("video_play",k);a.data==YT.PlayerState.ENDED&&_sendEvent("video_complete",k);a.data==YT.PlayerState.PAUSED&&_sendEvent("video_pause",k)}catch(h){}};youtube_parser=function(a){if((a=a.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&\?]*).*/))&&11==a[2].length)return a[2]}; -IsYouTube=function(a){a=a.match(/(.*)(youtu\.be\/|youtube(\-nocookie)?\.([A-Za-z]{2,4}|[A-Za-z]{2,3}\.[A-Za-z]{2})\/)(watch|embed\/|vi?\/)?(\?vi?=)?([^#&\?\/]{11}).*/);return null!=a&&00&&oCONFIG.USE_PARALLEL_CUSTOM_DIMENSIONS){r={groups:oCONFIG.GA4_NAME+b,cookie_expires:parseInt(oCONFIG.COOKIE_TIMEOUT),page_location:ur,page_title:n,[oCONFIG.PARALLEL_AGENCY_DIMENSION]:oCONFIG.AGENCY.toUpperCase(),[oCONFIG.PARALLEL_SUBAGENCY_DIMENSION]:oCONFIG.SUB_AGENCY.toUpperCase(),[oCONFIG.PARALLEL_SITE_TOPIC_DIMENSION]:oCONFIG.SITE_TOPIC.toLowerCase(),[oCONFIG.PARALLEL_SITE_PLATFORM_DIMENSION]:oCONFIG.SITE_PLATFORM.toLowerCase(),[oCONFIG.PARALLEL_SCRIPT_SOURCE_URL_DIMENSION]:oCONFIG.SCRIPT_SOURCE.toLowerCase(),[oCONFIG.PARALLEL_CODEVERSION_DIMENSION]:oCONFIG.VERSION.toLowerCase(),[oCONFIG.PARALLEL_URL_PROTOCOL_DIMENSION]:oCONFIG.URL_PROTOCOL.toLowerCase(),[oCONFIG.PARALLEL_USING_PARALLEL_DIMENSION]:oCONFIG.USING_PARALLEL_TRACKER.toLowerCase()};document.referrer&&-1!==document.referrer.search(location.hostname)?r.page_referrer=_scrubbedURL(document.referrer):document.referrer;var rr=_piiRedactor(_objToQuery(r),"default");rr=_queryToJSON(rr);rr=_unflattenJSON(rr);gtag("config",oCONFIG.GWT_GA4ID[b],rr)}else{r={groups:oCONFIG.GA4_NAME+b,cookie_expires:parseInt(oCONFIG.COOKIE_TIMEOUT),page_location:ur,page_title:n};document.referrer&&-1!==document.referrer.search(location.hostname)?r.page_referrer=_scrubbedURL(document.referrer):document.referrer;var rr=_piiRedactor(_objToQuery(r),"default");rr=_queryToJSON(rr);rr=_unflattenJSON(rr);gtag("config",oCONFIG.GWT_GA4ID[b],rr)}}isSearch?_sendViewSearchResult({search_term:isSearch}):""}function _initAutoTracker(){var _isDownload=function(a){var ex=a.href.toLowerCase().replace(/[#?&].*/,"").split(a.hostname)[1].split(".");var ext=ex[ex.length-1];if(ext.match(new RegExp("^("+oCONFIG.EXTS+")$"))!=null){return ext}else{return false}};var _enforeLower=function(j){try{var d=JSON.stringify(j);return JSON.parse(d.toLowerCase())}catch(error){}};var _eventHandler=function(event){try{if("mousedown"===event.type||"keydown"===event.type&&13===event.keyCode){if(event.target.nodeName==="A"||event.target.closest("a")!==null){var b=oCONFIG.COOKIE_DOMAIN,c="";var d="",f="",e=/^mailto:[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/i,h=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/i,i="",t="",l={},g=/^(tel:)(.*)$/i;var a=event.target.closest("a");if("mousedown"===event.type){t="Mouse Click"}else if("keydown"===event.type&&13===event.keyCode){t="Enter Key Keystroke"}if(e.test(a.href)||h.test(a.href)||g.test(a.href)){try{h.test(a.href)?(f=a.hostname.toLowerCase().replace(/^www\./i,""),i="l"):e.test(a.href)?(f=a.href.split("@")[1].toLowerCase(),i="m"):g.test(a.href)&&(f=a.href,f=f.toLowerCase(),i="t")}catch(k){}}if(oCONFIG.SUBDOMAIN_BASED?-1!==f.indexOf(b):f===b){if("m"===i){c=a.href.match(/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/);l={link_id:a.id,link_url:c[0],link_domain:c[0].split("@")[1],link_text:a.text.replace(/(?:[\r\n]+)+/g,"").trim(),link_classes:a.className,interaction_type:t};_sendEvent("email_click",_enforeLower(l))}else{if("l"===i&&_isDownload(a)){c=a.pathname.split(/[#?&?]/)[0];d=_isDownload(a);l={file_name:c,file_extension:d,link_text:a.text.replace(/(?:[\r\n]+)+/g,"").trim(),link_id:a.id,link_url:a.href.replace(/[#?&].*/,""),link_domain:a.hostname.replace(/^www\./i,""),interaction_type:t};_sendEvent("file_download",_enforeLower(l))}else if("l"===i&&!_isDownload(a)){}}}else{if("l"===i&&_isDownload(a)){c=a.pathname.split(/[#?&?]/)[0];d=_isDownload(a);l={file_name:c,file_extension:d,link_text:a.text.replace(/(?:[\r\n]+)+/g,"").trim(),link_id:a.id,link_url:a.href.replace(/[#?&].*/,""),link_domain:a.hostname.replace(/^www\./i,""),outbound:true,interaction_type:t};_sendEvent("file_download",_enforeLower(l))}else if("l"===i&&!_isDownload(a)){l={link_id:a.id,link_url:a.href.replace(/[#?&].*/,""),link_domain:a.hostname.replace(/^www\./i,""),link_text:a.text.replace(/(?:[\r\n]+)+/g,"").trim(),link_classes:a.className,outbound:true,interaction_type:t};_sendEvent("click",_enforeLower(l))}else if("m"===i){c=a.href.match(/[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/);l={link_id:a.id,link_url:c[0],link_domain:c[0].split("@")[1],link_text:a.text.replace(/(?:[\r\n]+)+/g,"").trim(),link_classes:a.className,outbound:true,interaction_type:t};_sendEvent("email_click",_enforeLower(l))}else if("t"===i){l={link_id:a.id,link_url:a.href.split("tel:")[1],link_text:a.text.replace(/(?:[\r\n]+)+/g,"").trim(),link_classes:a.className,interaction_type:t};_sendEvent("telephone_click",_enforeLower(l))}}}}}catch(error){}};document.addEventListener?document.addEventListener("mousedown",_eventHandler,false):document.attachEvent&&document.attachEvent("onmousedown",_eventHandler);document.addEventListener?document.addEventListener("keydown",_eventHandler,false):document.attachEvent&&document.attachEvent("onkeydown",_eventHandler)}if(oCONFIG.YOUTUBE){var tag=document.createElement("script");tag.src="https://www.youtube.com/iframe_api";var firstScriptTag=document.getElementsByTagName("script")[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);var videoArray=[];var playerArray=[];var _buckets=[];var _milestoneController=oCONFIG.YT_MILESTONE;var ytUtils=[];onYouTubeIframeAPIReady=function(){for(var i=0;i=_buckets[cCi].milestone&&!_buckets[cCi].triggered&&_buckets[videoIndex].id===videoIndex){_buckets[cCi].triggered=true;y.video_percent=_buckets[cCi].milestone;y.video_current_time=Math.round(y.video_duration/_buckets.length*(cCi+1));_sendEvent("video_progress",y);cCi++}}},(playerArray[videoIndex].playerInfo!==undefined?Math.round(playerArray[videoIndex].playerInfo.duration):Math.round(playerArray[videoIndex].getDuration()))/_buckets.length)}]);ytUtils[ytUtils.length-1][1](videoIndex)}}else if(event.data==YT.PlayerState.PLAYING){_sendEvent("video_play",p)}if(event.data==YT.PlayerState.ENDED){_sendEvent("video_complete",p)}if(event.data==YT.PlayerState.PAUSED){_sendEvent("video_pause",p)}}catch(error){}};youtube_parser=function(e){var t=e.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);if(t&&11==t[2].length)return t[2]};IsYouTube=function(u){var e=u.match(/(.*)(youtu\.be\/|youtube(\-nocookie)?\.([A-Za-z]{2,4}|[A-Za-z]{2,3}\.[A-Za-z]{2})\/)(watch|embed\/|vi?\/)?(\?vi?=)?([^#&\?\/]{11}).*/);return null!=e&&e.length>0};YTUrlHandler=function(t){return t=t.replace(/origin\=(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})\&?/gi,"origin="+document.location.protocol+"//"+document.location.host),stAdd="",adFlag=!1,-1==t.indexOf("https")&&(t=t.replace("http","https")),-1==t.indexOf("?")&&(stAdd="?flag=1"),-1==t.indexOf("enablejsapi")&&(stAdd+="&enablejsapi=1",adFlag=!0),-1==t.indexOf("origin")&&(stAdd+="&origin="+document.location.protocol+"//"+document.location.host,adFlag=!0),1==adFlag?t+stAdd:t};_initYouTubeTracker=function(){var i=0;var allIframes=document.getElementsByTagName("iframe");for(var iframe=0;iframe0){beacon.events.join("\r\n");arguments[1]=beacon.events.join("\r\n")}}return pl.apply(this,arguments)}}catch(e){return pl.apply(this,arguments)}}}function _unflattenJSON(data){try{if(Object(data)!==data||Array.isArray(data))return data;var result={},cur,prop,idx,last,temp;for(var p in data){cur=result,prop="",last=0;do{idx=p.indexOf(".",last);temp=p.substring(last,idx!==-1?idx:undefined);cur=cur[prop]||(cur[prop]=!isNaN(parseInt(temp))?[]:{});prop=temp;last=idx+1}while(idx>=0);cur[prop]=data[p]}return result[""]}catch(error){}}function _flattenJSON(data){try{var result={};function recurse(cur,prop){if(Object(cur)!==cur){result[prop]=cur}else if(Array.isArray(cur)){for(var i=0,l=cur.length;i2?_param.slice(1).join("="):_param[1];_param.splice(2);_param[1]=_para;var _val;try{_val=decodeURIComponent(decodeURIComponent(_param[1]))}catch(e){_val=decodeURIComponent(_param[1])}if((_param[0].match(new RegExp(checkParams))!=null||/query|json/gi.test(type))&&_val.indexOf("?")>-1){var paramArray=_val.split("?").splice(1).join("&").split("&");var paramSubArray=[];for(pa=0;pa-1){paramSubArray.push(paramArray[pa].split("?")[1])}}paramArray=paramArray.concat(paramSubArray);for(var ix=0;ix1?(o.split("?")[1].split("&").forEach(function(o,i){_allowedQuerystrings.indexOf(o.split("=")[0])>-1&&(t=t+"&"+o)}),t.length>0?a+"?"+_piiRedactor(t.substring(1),"query"):a):a;return r}function _setAllowedQS(){var queries={default:["utm_id","utm_source","utm_medium","utm_campaign","utm_term","utm_content","utm_source_platform","utm_creative_format","utm_marketing_tactic","gbraid","wbraid","_gl","gclid","dclid","gclsrc","affiliate","dap-dev-env","v"],gsa:["challenge","state"],dhs:["appreceiptnum"],doc:["station","meas","start","atlc","epac","cpac","basin","fdays","cone","tswind120","gm_track","50wind120","hwind120","mltoa34","swath","radii","wsurge","key_messages","inundation","rainqpf","ero","gage","wfo","spanish_key_messages","key_messages","sid","lan","office","pil"],hhs:["s_cid","selectedFacets"],hud:["PostID"],nasa:["feature","ProductID","selectedFacets"],nps:["gid","mapid","site","webcam","id"],nsf:["meas","start","atlc","epac","cpac","basin","fdays","cone","tswind120","gm_track","50wind120","hwind120","mltoa34","swath","radii","wsurge","key_messages","inundation","rainqpf","ero","gage","wfo","spanish_key_messages","key_messages","sid"],va:["id"],dod:["p"],opm:["l","soc","jt","j","rmi","smin","hp","g","d","a"]};_allowedQuerystrings=queries.default.concat(queries[oCONFIG.AGENCY.toLowerCase()]).concat(oCONFIG.SEARCH_PARAMS.toLowerCase().split("|"))}function _setUpTrackers(){oCONFIG.ENHANCED_LINK?_initIdAssigner():"";oCONFIG.AUTOTRACKER?_initAutoTracker():"";oCONFIG.YOUTUBE?_initYouTubeTracker():"";_initBannerTracker()}function _setUpTrackersIfReady(){return"interactive"===document.readyState||"complete"===document.readyState?(_setUpTrackers(),!0):!1}_setUpTrackersIfReady()||(document.addEventListener?document.addEventListener("DOMContentLoaded",_setUpTrackers):document.attachEvent&&document.attachEvent("onreadystatechange",_setUpTrackersIfReady)); +//# sourceMappingURL=Universal-Federated-Analytics-Min.js.map \ No newline at end of file diff --git a/Universal-Federated-Analytics.js b/Universal-Federated-Analytics.js index e924ca5..03c24f9 100644 --- a/Universal-Federated-Analytics.js +++ b/Universal-Federated-Analytics.js @@ -71,6 +71,7 @@ GA4Object.setAttribute( "src", "https://www.googletagmanager.com/gtag/js?id=" + oCONFIG.GWT_GA4ID[0] ); +GA4Object.async = true; head.appendChild(GA4Object); window.dataLayer = window.dataLayer || []; function gtag() {