blob: 2f855c3a9c1237520ac48b0d0e5d2cd039617ca9 (
plain)
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
43
44
45
46
47
48
49
50
51
|
function isDoNotTrackEnabled() {
if (typeof window === 'undefined') return false
const {doNotTrack, navigator} = window
// Do Not Track Settings across browsers
const dnt = (doNotTrack || navigator.doNotTrack || navigator.msDoNotTrack)
if (!dnt) return false
return dnt === true ||
dnt === 1 ||
dnt === 'yes' ||
(typeof dnt === 'string' && dnt.charAt(0) === '1');
}
if (isDoNotTrackEnabled()) {
// Skip analytics for users with Do Not Track enabled
console.info('[TRACKING]: Respecting DNT with respect to analytics...')
} else {
// Known DNT values not set, so we will assume it's off.
const data = JSON.parse(document.getElementById('ed-data').innerHTML)
if (typeof data !== 'undefined' && data.analytics_code) {
(function () {
// New Google Site Tag (gtag.js) tagging/analytics framework
// See: https://developers.google.com/gtagjs
const base_url = 'https://www.googletagmanager.com'
let script = document.createElement("script");
script.src = base_url + "/gtag/js?id=" + data.analytics_code;
script.type = "text/javascript";
script.async = true;
document.getElementsByTagName("head")[0].appendChild(script);
}())
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
// Setup the project analytics code and send a pageview
gtag('config', data.analytics_code, {
'anonymize_ip': true,
'cookie_expires': 30 * 24 * 60 * 60 // 30 days
})
}
}
|