@@ -7,33 +7,40 @@ if (navigator.doNotTrack === '1') {
7
7
console . log ( 'Respecting DNT with respect to analytics...' ) ;
8
8
} else {
9
9
if ( typeof READTHEDOCS_DATA !== 'undefined' && READTHEDOCS_DATA . global_analytics_code ) {
10
- // RTD Analytics Code
11
- ( function ( i , s , o , g , r , a , m ) { i [ 'GoogleAnalyticsObject' ] = r ; i [ r ] = i [ r ] || function ( ) {
12
- ( i [ r ] . q = i [ r ] . q || [ ] ) . push ( arguments ) } , i [ r ] . l = 1 * new Date ( ) ; a = s . createElement ( o ) ,
13
- m = s . getElementsByTagName ( o ) [ 0 ] ; a . async = 1 ; a . src = g ; m . parentNode . insertBefore ( a , m )
14
- } ) ( window , document , 'script' , 'https://www.google-analytics.com/analytics.js' , 'ga' ) ;
10
+ ( function ( ) {
11
+ // New Google Site Tag (gtag.js) tagging/analytics framework
12
+ // https://developers.google.com/gtagjs
13
+ var script = document . createElement ( "script" ) ;
14
+ script . src = "https://www.googletagmanager.com/gtag/js?id=" + READTHEDOCS_DATA . global_analytics_code ;
15
+ script . type = "text/javascript" ;
16
+ script . async = true ;
17
+ document . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( script ) ;
18
+ } ( ) )
15
19
16
- ga ( 'create' , READTHEDOCS_DATA . global_analytics_code , 'auto' , 'rtfd' , {
17
- 'cookieExpires' : 30 * 24 * 60 * 60
20
+ window . dataLayer = window . dataLayer || [ ] ;
21
+ function gtag ( ) { dataLayer . push ( arguments ) ; }
22
+ gtag ( 'js' , new Date ( ) ) ;
23
+
24
+ // Setup the RTD global analytics code and send a pageview
25
+ gtag ( 'config' , READTHEDOCS_DATA . global_analytics_code , {
26
+ 'anonymize_ip' : true ,
27
+ 'cookie_expires' : 30 * 24 * 60 * 60 , // 30 days
28
+ 'dimension1' : READTHEDOCS_DATA . project ,
29
+ 'dimension2' : READTHEDOCS_DATA . version ,
30
+ 'dimension3' : READTHEDOCS_DATA . language ,
31
+ 'dimension4' : READTHEDOCS_DATA . theme ,
32
+ 'dimension5' : READTHEDOCS_DATA . programming_language ,
33
+ 'dimension6' : READTHEDOCS_DATA . builder ,
34
+ 'groups' : 'rtfd'
18
35
} ) ;
19
- ga ( 'rtfd.set' , 'dimension1' , READTHEDOCS_DATA . project ) ;
20
- ga ( 'rtfd.set' , 'dimension2' , READTHEDOCS_DATA . version ) ;
21
- ga ( 'rtfd.set' , 'dimension3' , READTHEDOCS_DATA . language ) ;
22
- ga ( 'rtfd.set' , 'dimension4' , READTHEDOCS_DATA . theme ) ;
23
- ga ( 'rtfd.set' , 'dimension5' , READTHEDOCS_DATA . programming_language ) ;
24
- ga ( 'rtfd.set' , 'dimension6' , READTHEDOCS_DATA . builder ) ;
25
- ga ( 'rtfd.set' , 'anonymizeIp' , true ) ;
26
- ga ( 'rtfd.send' , 'pageview' ) ;
27
36
28
- // User Analytics Code
37
+ // Setup the project (user) analytics code and send a pageview
29
38
if ( READTHEDOCS_DATA . user_analytics_code ) {
30
- ga ( 'create' , READTHEDOCS_DATA . user_analytics_code , 'auto' , 'user' , {
31
- 'cookieExpires' : 30 * 24 * 60 * 60
39
+ gtag ( 'config' , READTHEDOCS_DATA . user_analytics_code , {
40
+ 'anonymize_ip' : true ,
41
+ 'cookie_expires' : 30 * 24 * 60 * 60 // 30 days
32
42
} ) ;
33
- ga ( 'user.set' , 'anonymizeIp' , true ) ;
34
- ga ( 'user.send' , 'pageview' ) ;
35
43
}
36
- // End User Analytics Code
37
44
}
38
45
// end RTD Analytics Code
39
46
}
0 commit comments