-
Notifications
You must be signed in to change notification settings - Fork 0
/
dualtracking.min.js
2 lines (2 loc) · 1.42 KB
/
dualtracking.min.js
1
2
/*! Universal Analytics Dual Tracking Plugin v1.0.0 | (c) David Vallejo (@thyng) */
!function(){function a(a,b){var c=window[window.GoogleAnalyticsObject||"ga"];"function"==typeof c&&c("provide",a,b)}var b=function(a,b){this.tracker=a,this.property=b.property,this.isDebug=b.debug,this.transport=b.transport||"beacon"};b.prototype.doDualTracking=function(){if(this.debugMessage("Initializing the dualtracking plugin for GA"),!this.property||!this.property.match(/^UA-([0-9]*)-([0-9]{1,2}$)/))return this.debugMessage("dualtracking plugin: property id, needs to be set and have the following format UA-XXXXXXXX-YY"),0;window.__gaDualTracking={},window.__gaDualTracking.property=this.property,window.__gaDualTracking.transport=this.transport;var a=this.tracker.get("sendHitTask");this.tracker.set("sendHitTask",function(b){var c=b.get("hitPayload"),d=c.replace(/(^\?)/,"").split("&").map(function(a){return a=a.split("="),this[a[0]]=a[1],this}.bind({}))[0];d.tid=window.__gaDualTracking.property,a(b);var e=Object.keys(d).map(function(a){return encodeURIComponent(a)+"="+encodeURIComponent(d[a])}).join("&");if("image"==__gaDualTracking.transport){var f=new Image(1,1);f.src="https://www.google-analytics.com/collect?"+e,f.onload=function(){}}else"beacon"==__gaDualTracking.transport&&navigator.sendBeacon("https://www.google-analytics.com/collect",e)})},b.prototype.debugMessage=function(a){this.isDebug&&console&&console.debug(a)},a("dualtracking",b)}();