Tutorial

How to add Google Analytics to your theme in Drupal 8

This one is quick and works the same with any other code provided by third party.

Pridal/a lubo dňa Št, 03/26/2020 - 22:43
Navigate to your theme

Navigate to /themes/YourTheme

Find / Create file html.html.twig

Navigate to your theme's templates folder. If there is no templates folder, you can always create one.

Find the file html.html.twig.

If you can not find this file, navigate to parent theme of your child theme and copy the file from there to your sub-theme to match the same folder structure.

Never edit core files or core theme's files (like Bartik)!

Edit html.html.twig file

Add the snipplet provided by Google Analytics to your website after the opening of <head> tag.

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-XXXXXXXX');
</script>
Clear the cache!

Drupal 8 caches twig templates, you have to clear the caches to see the difference.

Done!

Easy as that. This works with any snipplet provided by other platforms, like Facebook Pixel or similar.

Might interest you

Module
This very simple module just adds Price from Drupal Commerce to Datalayer. It has only a few lines and relies on hooks. Dependencies: -…
Module
Simple module which adds "I agree with Terms and Conditions" Checkout Pane. Text is translatable and you are able to add a link to "Terms…

Recommended

Article
32 views
For the past few days I am trying to comprehend why / how this blockchain even gained it'…
Tutorial
95 views
This sketch is quite easy, I used Arduino Nano with OLED 0.96″ display 128×64 resolution…
Tutorial
157 views
While working on a fairly complex website with very complex views setup, including tens…
Tutorial
14 views
In this case we have two options, either we use hook_user_presave() or we can create new…
Tutorial
15 views
When using Swiftmailer under Drupal 8 / 9 it automatically sets the headers for sender to…
Tutorial
7 views
Yes, IOS / Safari is the new internet explorer. Amount of time I spend on debugging…
Tutorial
43 views
There is a very handy function in Drupal 8 / 9, allowing developers refresh view when…
Tutorial
22 views
Often, when doing SEO checkups, SEO specialist come up with adding Schema.org…
Tutorial
174 views
I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint…
Tutorial
85 views
If you are a newbie like I am and struggling with setting the proper MYSQL my.cnf config…
Tutorial
25 views
I had trouble to set this up properly, because documentation is quite misleading or often…
Article
72 views
As the title says, DO NOT in any circumstances install ANY bitcoin price extension to ANY…
Tutorial
278 views
This is (or should be) a working example of sending some Ether between two addresses.…
Module
45 views
This list was fetched from Zapper, with their /v1/token-list endpoint. Which you can…
Tutorial
143 views
In the last months I am being pretty much bombarded by my clients with asking what…