Add abbility to use Google Tag Manager for analytics (#514)

* Add ability to embed custom code to <head>

* add myself to CONTRIBUTORS.md

* implement dedicated template for Google Tag Manager

* move google tag manager to bottom of the body tag
This commit is contained in:
Viktar Patotski
2021-02-10 20:34:44 +01:00
committed by GitHub
parent c4afd5f51a
commit 963dc43f0f
4 changed files with 18 additions and 0 deletions

View File

@@ -94,3 +94,4 @@
- [Alex Miranda](https://ammiranda.com) - [Alex Miranda](https://ammiranda.com)
- [Alphonse Mariya](https://github.com/alfunx) - [Alphonse Mariya](https://github.com/alfunx)
- [Ziwei Pan](https://github.com/PanZiwei/) - [Ziwei Pan](https://github.com/PanZiwei/)
- [Viktar Patotski](https://github.com/xp-vit)

View File

@@ -87,6 +87,10 @@ disqusShortname = "yourdiscussshortname"
# For cloud-hosting, use provided URL, e.g. example.matomo.cloud # For cloud-hosting, use provided URL, e.g. example.matomo.cloud
serverURL = "analytics.example.com" serverURL = "analytics.example.com"
# If you want to use Google Tag Manager(https://analytics.google.com/) for analytics, add this section
[params.googleTagManager]
id = "gid"
# If you want to implement a Content-Security-Policy, add this section # If you want to implement a Content-Security-Policy, add this section
[params.csp] [params.csp]
childsrc = ["'self'"] childsrc = ["'self'"]

View File

@@ -147,6 +147,10 @@
{{ if and .Site.Params.matomo .Site.Params.matomo.serverURL }} {{ if and .Site.Params.matomo .Site.Params.matomo.serverURL }}
{{- partial "analytics/matomo" . -}} {{- partial "analytics/matomo" . -}}
{{ end }} {{ end }}
{{ if and .Site.Params.googleTagManager .Site.Params.googleTagManager.id }}
{{- partial "analytics/googletagmanager" . -}}
{{ end }}
</body> </body>
</html> </html>

View File

@@ -0,0 +1,9 @@
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ $.Site.Params.googleTagManager.id }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ $.Site.Params.googleTagManager.id }}');
</script>