summaryrefslogtreecommitdiffstats
path: root/layouts
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
parent96fdcc50bde51af98c8ded2890f4c45c2c801b6e (diff)
downloadgohugo-theme-ed-628b3c2249db280ecb60ec0f8fd8053f88a265e4.tar.gz
Add Google Tag Manager support (#178)
Diffstat (limited to 'layouts')
-rw-r--r--layouts/partials/head.html2
-rw-r--r--layouts/partials/head/analytics.html22
-rw-r--r--layouts/partials/seo/ga.html18
3 files changed, 23 insertions, 19 deletions
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 036b26d..5bf6e09 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -37,5 +37,5 @@
{{- /* Scripts */}}
{{- partial "partials/scripts.html" . }}
- {{- partial "partials/seo/ga.html" . }}
+ {{- partial "partials/head/analytics.html" . }}
</head>
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 }}
diff --git a/layouts/partials/seo/ga.html b/layouts/partials/seo/ga.html
deleted file mode 100644
index 40758d8..0000000
--- a/layouts/partials/seo/ga.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{{- if (or (eq (getenv "HUGO_ENV") "production") (eq site.Params.env "production")) -}}
- {{- with site.GoogleAnalytics -}}
- {{- $gaParams := dict "analyticsCode" (site.GoogleAnalytics | default "") -}}
-
- {{- $gaScript := slice -}}
- {{- $gaScript = $gaScript | append (resources.Get "js/ga.js") -}}
- {{- $gaScript = $gaScript | resources.Concat "js/analytics-bundle.js" -}}
-
- {{- $gaScript = $gaScript | js.Build (dict "format" "iife" "target" "es2015" "minify" true "params" $gaParams) -}}
-
- {{- if site.Params.assets.disable_fingerprinting }}
- <script src="{{ $gaScript.RelPermalink }}"></script>
- {{- else -}}
- {{- $gaScript = $gaScript | fingerprint }}
- <script src="{{ $gaScript.RelPermalink }}" integrity="{{ $gaScript.Data.Integrity }}"></script>
- {{- end -}}
- {{- end -}}
-{{- end -}}