summaryrefslogtreecommitdiffstats
path: root/layouts/partials/head/analytics.html
diff options
context:
space:
mode:
authorSerghei Iakovlev <egrep@protonmail.ch>2024-09-27 20:23:26 +0200
committerGitHub <noreply@github.com>2024-09-27 20:23:26 +0200
commit628b3c2249db280ecb60ec0f8fd8053f88a265e4 (patch)
tree28b485882134deee3a6b1cb78b041c4fe4930f1a /layouts/partials/head/analytics.html
parent96fdcc50bde51af98c8ded2890f4c45c2c801b6e (diff)
downloadgohugo-theme-ed-628b3c2249db280ecb60ec0f8fd8053f88a265e4.tar.gz
Add Google Tag Manager support (#178)
Diffstat (limited to 'layouts/partials/head/analytics.html')
-rw-r--r--layouts/partials/head/analytics.html22
1 files changed, 22 insertions, 0 deletions
diff --git a/layouts/partials/head/analytics.html b/layouts/partials/head/analytics.html
new file mode 100644
index 0000000..74d045d
--- /dev/null
+++ b/layouts/partials/head/analytics.html
@@ -0,0 +1,22 @@
+{{- if eq hugo.Environment "production" }}
+ {{- if not site.Params.Privacy.GoogleTagManager.Disable }}{{/* First check GTM */}}
+ {{- with site.Params.Services.GoogleTagManager }}
+ {{- $gtmParams := dict "gtmCode" (.ID) -}}
+ {{- $gtmParams = merge $gtmParams (dict "respectDoNotTrack" site.Params.Privacy.GoogleTagManager.RespectDoNotTrack | default true) }}
+
+ {{- $gtmScript := slice -}}
+ {{- $gtmScript = $gtmScript | append (resources.Get "js/gtm.js") -}}
+ {{- $gtmScript = $gtmScript | resources.Concat "js/analytics.js" -}}
+ {{- $gtmScript = $gtmScript | js.Build (dict "format" "iife" "target" "es2015" "minify" true "params" $gtmParams) -}}
+
+ {{- if site.Params.assets.disable_fingerprinting }}
+ <script src="{{ $gtmScript.RelPermalink }}"></script>
+ {{- else -}}
+ {{- $gtmScript = $gtmScript | fingerprint -}}
+ <script src="{{ $gtmScript.RelPermalink }}" integrity="{{ $gtmScript.Data.Integrity }}" crossorigin="anonymous"></script>
+ {{- end -}}
+ {{- end -}}
+ {{ else }}{{/* If GTM is disabled delegate the rest to Hugo */}}
+ {{ template "_internal/google_analytics.html" . }}
+ {{ end }}
+{{ end }}