Hi everyone,
just for developer and analyst 's hugers! Meanwhile I developed my blog (migration from wordpress), I had a tips about implementation of container (script) of Google Tag Manager.
So, here my guide how I implemented it.
file config.toml or similar
I added new params
[params]
Enable container by entering your Google Tag Manager container ID
google_tag_manager = “GTM-XXXXXX” // change XXX’s with your containerID
After in your theme > layouts > partials find your header.html
add before tag those lines:
{{ if $.Site.Params.google_tag_manager }}
<!-- Google Tag Manager -->
<!-- create dataLayer -->
<script>
<!-- OPTIONAL dataLayer -->
var dataLayer = window.dataLayer = window.dataLayer || [];
dataLayer.push({
page:'{{ .Title }}',
categories:'only examples about your dataLayer'
});
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','{{ $.Site.Params.google_tag_manager }}');</script>
<!-- End Google Tag Manager -->
{{ end }}
and after tag, first line:
{{ if $.Site.Params.google_tag_manager }}
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ $.Site.Params.google_tag_manager }}"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
{{ end }}
It’s all and works fine your Google Tag Manager.
So, if you can add first dataLayer as my code, you can add new values.