-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgoogle-analytics.js
More file actions
43 lines (40 loc) · 1.39 KB
/
google-analytics.js
File metadata and controls
43 lines (40 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-48316355-1', 'auto');
ga('require', 'displayfeatures');
//ga('require', 'linkid', 'linkid.js');
ga('send', 'pageview');
// Monitor all download links in GA
window.onload = function() {
var a = document.getElementsByTagName('a');
var cnt = 0;
for (i = 0; i < a.length; i++) {
var url = a[i].href;
var x = url.indexOf("?");
if (x != -1) {
url = url.substr(0,x);
}
var url_test = url.match(/^https?:\/\/.+(\.rpm|\.deb|\/q|\.tar\.gz|\.zip|\.bat|\.exe)$/i);
if (url_test) {
if (url_test.length > 1) {
var event_action = url_test[1];
}
else {
var event_action = 'unknown_action';
}
a[i].event_action = event_action;
cnt = cnt + 1;
a[i].onclick = function() {
var that = this;
ga('send', 'event', 'Downloads', 'Click on ' + this.event_action, this.getAttribute('href'));
setTimeout(function() {
location.href = that.href;
},500);
return false;
};
}
}
console.log("Converted " + cnt + " links to be GA aware");
}