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

Tutorial
Every modern browser supports displaying PDF in it's own way. But sometimes you stumble upon a client, which does not like, that every…
Tutorial
Universal way of adding HTTPS only solution to your Drupal 8 installation.

Recommended

Tutorial
2 views
There is a very handy function in Drupal 8 / 9, allowing developers refresh view when…
Tutorial
2 views
Often, when doing SEO checkups, SEO specialist come up with adding Schema.org…
Tutorial
3 views
I needed to test my contracts against USDC contract, specifically I needed ERC-721 mint…
Tutorial
1 views
If you are a newbie like I am and struggling with setting the proper MYSQL my.cnf config…
Tutorial
5 views
I had trouble to set this up properly, because documentation is quite misleading or often…