-
Kevin Abel authored
Was missing the Google Provided boilerplate code (ga.js). Analytics module should call track page.
Kevin Abel authoredWas missing the Google Provided boilerplate code (ga.js). Analytics module should call track page.
analytics.js 3.01 KiB
/* global define: false */
define(['jquery'], function($) {
"use strict";
var wdnProp = 'UA-3203435-1';
var unlDomain = '.unl.edu';
var Plugin;
var thisURL = String(window.location);
var gaWdnName = 'wdn';
var gaWdn = gaWdnName + '.';
// ga.js method for getting default tracker (with set account)
var getDefaultGATracker = function() {
var tracker = _gat._getTrackerByName();
if (tracker._getAccount() !== 'UA-XXXXX-X') {
return tracker;
}
return undefined;
};
// analytics.js method for getting default tracker
var getDefaultAnalyticsTracker = function() {
return ga.getByName('t0');
};
Plugin = {
initialize : function() {
ga('create', wdnProp, {
name: gaWdnName,
cookieDomain: unlDomain,
allowLinker: true
});
Plugin.callTrackPageview();
},
callTrackPageview: function(thePage, trackInWDNAccount){
var action = 'pageview', method = 'send', legacyMethod = '_trackPageview';
if (!thePage) {
ga(gaWdn+method, action);
return;
}
if (trackInWDNAccount !== false) {
trackInWDNAccount = true;
}
// First, track in the wdn analytics
if (trackInWDNAccount) {
ga(gaWdn+method, action, thePage);
}
// Second, track in local site analytics
try {
_gaq.push(function() {
var tracker = getDefaultGATracker();
if (tracker) {
tracker[legacyMethod](thePage);
}
});
ga(function() {
var tracker = getDefaultAnalyticsTracker();
if (tracker) {
tracker[method](action, thePage);
}
});
} catch(e) {}
},
callTrackEvent: function(category, evtaction, label, value, noninteraction) {
var action = 'event', method = 'send', legacyMethod = '_trackEvent', evtOpt;
if (noninteraction !== true) {
noninteraction = false;
}
evtOpt = {
eventCategory: category,
eventAction: evtaction,
eventLabel: label,
eventValue: value,
nonInteraction: noninteraction
};
ga(gaWdn+method, action, evtOpt);
try {
_gaq.push(function() {
var tracker = getDefaultGATracker(), legacyValue = value;
if (tracker) {
if (typeof value !== "undefined") {
legacyValue = Math.floor(value);
}
tracker[legacyMethod](category, evtaction, label, legacyValue, noninteraction);
}
});
ga(function() {
var tracker = getDefaultAnalyticsTracker();
if (tracker) {
tracker[method](action, evtOpt);
}
});
} catch(e) {}
},
callTrackTiming: function(category, variable, value, label, sampleRate) {
var action = 'timing', method = 'send', legacyMethod = '_trackTiming';
ga(gaWdn+method, action, category, variable, value, label);
try {
_gaq.push(function() {
var tracker = getDefaultGATracker();
if (tracker) {
tracker[legacyMethod](category, variable, value, label, sampleRate);
}
});
ga(function() {
var tracker = getDefaultAnalyticsTracker();
if (tracker) {
tracker[method](action, category, variable, value, label);
}
});
} catch (e) {}
}
};
return Plugin;
});