github.com/fighterlyt/hugo@v0.47.1/tpl/tplimpl/embedded/templates/google_analytics.html (about)

     1  {{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
     2  {{- if not $pc.Disable -}}
     3  {{ with .Site.GoogleAnalytics }}
     4  <script type="application/javascript">
     5  {{ template "__ga_js_set_doNotTrack" $ }}
     6  if (!doNotTrack) {
     7  	(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
     8  	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
     9  	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    10  	})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
    11  	{{- if $pc.UseSessionStorage }}
    12  	if (window.sessionStorage) {
    13  		var GA_SESSION_STORAGE_KEY = 'ga:clientId';
    14  		ga('create', '{{ . }}', {
    15  	    'storage': 'none',
    16  	    'clientId': sessionStorage.getItem(GA_SESSION_STORAGE_KEY)
    17  	   });
    18  	   ga(function(tracker) {
    19  	    sessionStorage.setItem(GA_SESSION_STORAGE_KEY, tracker.get('clientId'));
    20  	   });
    21     }
    22  	{{ else }}
    23  	ga('create', '{{ . }}', 'auto');
    24  	{{ end -}}
    25  	{{ if $pc.AnonymizeIP }}ga('set', 'anonymizeIp', true);{{ end }}
    26  	ga('send', 'pageview');
    27  }
    28  </script>
    29  {{ end }}
    30  {{- end -}}
    31  {{- define "__ga_js_set_doNotTrack" -}}{{/* This is also used in the async version. */}}
    32  {{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
    33  {{- if not $pc.RespectDoNotTrack -}}
    34  var doNotTrack = false;
    35  {{- else -}}
    36  var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
    37  var doNotTrack = (dnt == "1" || dnt == "yes");
    38  {{- end -}}
    39  {{- end -}}