3 must-have Google Tag Manager tags

Google Tag Manager tags

Het opzetten, beheren en verbeteren van Google Tag Manager (GTM) accounts behoort inmiddels tot mijn dagelijkse werkzaamheden. Van simpele implementaties zoals standaard Google Analytics, Adwords Remarketing, Adroll etc. tot geavanceerde Google Analytics implementaties, custom JavaScript en Event Tracking. Maar elk van mijn GTM-accounts bevat een set van exact dezelfde tags. Dit zijn tags die op elke website relevant en eenvoudig te implementeren zijn. In deze blog-post deel ik mijn Top 3 van GTM tags:

UPDATE: deze tags zijn nu als container te importeren

  • E-mail link klikken
  • Downloads
  • Outbound links

Zoals altijd wordt er een basiskennis GTM verwacht en is niet alles uitgekauwd. Alle voorbeelden zijn specifiek voor Google Tag Manager v2.

(P.S. Sinds ik heb besloten dit postje te schrijven, origineel met screenshots, heb ik 'm 3x moeten corrigeren omdat Google nogal wispelturig is in hoe ze dingen willen weergeven. Met andere woorden: de Google Tag Manager interface verandert vaak. Het heeft daarom niet veel zin deze post van screenshots te voorzien, dus krijg je duidelijke tekst-instructies met hoe wat te bereiken.)


Tag 1: e-mail link klikken

Doel: het meten van klikken op e-mailadressen, waar dan ook op de site. Bijvoorbeeld een klik op info@remkovanderzwaag.nl. Dit kan handig zijn om (soft-)conversies te meten of gewoon om te meten of er uberhaupt op geklikt wordt.

Tag

Tracking-ID: {{UA}}
Een macro van het Google Analytics tracking-ID. Macro's zijn hier handig omdat je het tracking-ID binnen GTM op veel plekken gebruikt en bij een wijziging later dus maar 1x hoeft aan te passen.
Trackingtype: Gebeurtenis
(Event) Categorie: lead generatie
Of een andere naam, wat je wilt. Zo komt het Google Analytics binnen.
(Event) Actie: email link klik
(Event) Label: {{Click URL}}

Trigger

Trigger gebeurtenis: klik
Triggertype: klik op link
Inschakelen wanneer:
Click URL bevat mailto:


Tag 2: downloads

Doel: het tracken van downloads (pdf, zip, xls etc.)

Macro

We maken hier een Macro aan die de bestands-extensie ('filetype') extraheert uit een URL (was al geschreven door Simon Avaha, dus scheelde mij weer). Dit is nodig als je de filetype als Event Categorie in Google Analytics wilt opslaan, zodat je kunt kiezen op welke filetype je wilt inzoomen. Heb je deze wens niet (als je het geen probleem vindt dat alle filetypes in Google Analytics door elkaar staan), kun je het maken van deze macro overslaan.

Macronaam: filetype
Type macro: Aangepaste JavaScript-macro


function() {
  var ext = {{element}}.pathname.split(".");
  return ext.length>1?ext.pop():'html';
}

{{element}} dient eerst als variabele te worden aangemaakt indien deze nog niet bestaat. Type: variabele voor auto-gebeurtenis. Componenttype: element. Naam: element.

Tag

Tracking-ID: {{UA}}
Trackingtype: Gebeurtenis
(Event) Categorie: downloads
(Event) Actie: {{filetype}}
(Event) Label: {{Click URL}}
Wanneer je de macro {{filetype}} niet gebruikt, dien je de macro {{Click URL}} als Event Actie te gebruiken.

Trigger

Trigger gebeurtenis: klik
Triggertype: klik op link
Inschakelen wanneer:
filetype komt overeen met regex (hoofdlettergebruik negeren) ^(pdf|xlsx|docx)$
De lijst van filetypes kun je zelf uitbreiden zoal het regex-format goed is.


Tag 3: outbound links

Doel: het meten van alle klikken op links naar een domein dat niet gelijk is aan het huidige domein. Bijvoorbeeld een link op example.com die verwijst naar voorbeeld.nl. Dit trackt Google Analytics standaard niet, maar is in veel gevallen wel handig te weten.

Macro

We maken hier een Macro aan die checkt of de hostname (domeinnaam) in de link wel of niet gelijk is aan die van het huidige domein. Dit kan op een simpelere manier door het gebruik van de trigger "url bevat niet huidigedomein.nl", maar dit is niet schaalbaar naar meerdere domeinen in 1 Google Tag Manager container. Daarom wordt onderstaande methode aanbevolen.

Macronaam: matching hostname
Type macro: Aangepaste JavaScript-macro


function () {
var hostname = {{url hostname}},
    url = {{Click URL}};

return (url.indexOf(hostname) !== -1) ? 'match' : 'no match';
}

{{url hostname}} dient eerst als variabele te worden aangemaakt indien deze nog niet bestaat. Type: URL. Componenttype: Hostnaam. Naam: url hostname.

Tag

Tracking-ID: {{UA}}
Trackingtype: Gebeurtenis
(Event) Categorie: outbound links
(Event) Actie: {{Click URL}}

Trigger

Trigger gebeurtenis: klik
Triggertype: klik op link
Inschakelen wanneer (1 trigger met 2 voorwaarden):
matching hostname bevat no match
filetype komt niet overeen met regex (hoofdlettergebruik negeren) \.(pdf|xlsx|docx)$
Gebruik hier dezelfde lijst van filetypes als in tag 2. Doel is te voorkomen dat een download van een extern domein zowel als outbound link als download gezien wordt. Ik prefereer het wanneer het alleen een 'download' is.

De volgende stap binnen Google Tag Manager is wat mij betreft een goede share-functie op Tag-niveau, dan kunnen dit type tags eenvoudig met elkaar gedeeld worden.

Bij vragen en/of opmerkingen, laat het vooral hieronder weten. Met dank aan pdds.