Category Archives: GTM

Generisk Event Tracking i Google Tag Manager

Hvis du skal opsætte Event Tracking på større websites, kan din container i Google Tag Manager nemt blive omdannet til et univers med uoverskueligt mange Event-tags, som kun adskilles af eventet der trigger dem eller af værdierne i Event Category / Action / Label / Value. Jo flere tags, desto vanskeligere bliver det at fastholde overblik og struktur i din Google Tag Manager-konto. I dette indlæg vil jeg vise, hvordan du kan skrumpe din container ved at tracke 5,10 eller 100 forskellige events med ét tag.

Personligt bruger jeg denne teknik til at tracke events såsom navigation i menuer, kliks på knapper, links, accordions og radiobuttons, downloads af PDF samt en masse andre website events.

Introduktion

Du skal bruge følgende ressourcer for at konfiguere det generiske tag i Google Tag Manager:

  • Ét Universal Analytics Tag (Event tag)
  • Fem datalagsvariabler, én for hvert felt i tagget
  • Én trigger (Custom Event Type)

Konfiguration

Begynd med at oprette datalagsvariablerne. Du behøver én for hver af Google Analytics’ mests benyttede eventvariabler. Hvis du aldrig bruger Event Value eller Non-Interaction, kan du undlade at oprette disse, ellers skal samtlige datalagsvariabler have følgende komposition:

Jeg har valgt disse navne til datalagsvariablerne:

  • eventCategory – indeholder værdien i Event Category
  • eventAction – indeholder værdien i Event Action
  • eventLabel – indeholder værdien i Event Label
  • eventValue – indeholder værdien i Event Value
  • nonInteraction – indeholder værdien i NonInteraction

Du kan vælge andre navne, hvis du foretrækker det – navngivningen har ingen teknisk betydning. Ovenstående navngivning er dog best practice.

Herefter opretter du Triggeren. Jeg har valgt at bruge navnet GAEvent, men også her kan du vælge et hvilket som helst navn. Triggeren skal være af typen Custom Event og konfigureres på følgende måde:

Afslutningsvis mangler du kun at oprette et tag. Tagget skal tilknyttes triggeren, du lige har oprettet. Dernæst skal du indsætte datalagsvariablerne, som du oprettede tidligere, i deres respektive felter. Når du er færdig, skal tagget se således ud:

Tagget er nemt at udfylde, eftersom variablerne blot skal indsættes i deres dertilindrettede felter. Triggeren tilsikrer, at tagget aktiveres, når GAEvent værdien pushes til dataLayer.

Tagget betjenes af denne kommando, der aktiverer det generiske Event Tag, når værdierne tilføjes til dataLayer.push():

dataLayer.push({
  'event' : 'GAEvent',
  'eventCategory' : værdi_af_Event_Category,
  'eventAction' : værdi_af_Event_Action,
  'eventLabel' : værdi_af_Event_Label,
  'eventValue' : værdi_af_Event_Value,
  'nonInteraction' : værdi_af_Non_Interaction 
});

Protip! Det er bedst practice at pushe værdien undefined i ubenyttede eventfelter, da det forhindrer det generiske tag i at bruge variabler, som tidligere er pushet til siden, hvilket ellers vil give temmeligt mærkelige events. Denne teknikalitet er aktuel, fordi datalagsvariablerne er linket til Google Tag Managers datamodel.

Vil du eksempelvis sende et event til Google Analytics, der kun bruger Event Category, Event Action og Event Label og altså ikke Event Value og NonInteraction, vil push() se således ud:

dataLayer.push({
  'event' : 'GAEvent',
  'eventCategory' : 'Navigation menu',
  'eventAction' : 'State: Open',
  'eventLabel' : {{Click Text}},
  'eventValue' : undefined,
  'nonInteraction' : undefined
});

Ovenstående tilsikrer, at enhver værdi som måtte være tilstede i eventValue og nonInteraction slettes, og derfor ikke kan konflikte med det generiske event tag.

Track brugere med Adblock i Google Analytics og Tag Manager

En AdBlocker er et simpelt plugin til en browser, som kan forhindre annoncer og scripts i at blive vist og indlæst på et website. Eksempelvis kan AdBlockere sætte analyse- og trackingsystemmer såsom Google Analytics, Google Tag Manager (GTM), Adobe Analytics og Tealium ud af spil, hvilket kan reducere mængden af data indsamlet fra et website. Mange AdBlockere blokerer dog kun annoncer indlejret direkte på websitet og ikke nødvendigvis scripts fra Google Analytics og GTM. Det åbner muligheden for, at du ved hjælp af netop Google Analytics og GTM kan tracke, om brugerne på dit website anvender AdBlocker.

AdBlock Detector JavaScript

Nedenstående JavaScript kan opdage, om brugerne har en AdBlocker aktiveret, når de besøger dit website. Hvis koden returnerer “True”, har brugeren en AdBlocker aktiveret, mens “False” betyder, at brugeren ikke har en AdBlocker aktiveret.

function AdBlockEnabled() {
  var ad = document.createElement('ins');
  ad.className = 'AdSense';
  ad.style.display = 'block';
  ad.style.position = 'absolute';
  ad.style.top = '-1px';
  ad.style.height = '1px';
  document.body.appendChild(ad);
  var isAdBlockEnabled = !ad.clientHeight;
  document.body.removeChild(ad);
  return isAdBlockEnabled;
}

JavaScriptet skal implementeres som en Custom JavaScript variabel i GTM. Konfigurationen skal således ud:

Efter oprettelsen kan du i GTM Preview Mode se variablen “AdBlock”. Hvis du har en AdBlocker aktiveret, vil resultatet se således ud:

Afslutningsvis oprettes “AdBlock” som en Custom Dimension i Google Analytics, således du kan tilføje denne i dine rapporter og herigennem opnå databaseret indsigt på forekomsten af brugernes anvendelse af AdBlockers på dit website.

Nyttige variabler til Google Tag Manager

Selvom Google Tag Manager er født med en række standard variabler, og der løbende kommer nye til, mangler der alligevel nogle variabler, som ofte har været nyttige for mig. Derfor vil jeg i denne guide give en indføring til de tilpassede variabler, som jeg hyppist anvender i Google Tag Manager.

En variabel er et symbol, der bruges til at repræsentere en værdi, som bliver ændret i både triggers og tags i Google Tag Manager.  I triggers benyttes de til at definere filtre, der styrer hvornår et bestemt tag aktiveres, mens variabler i tags bruges til at registrere dynamiske værdier.

1. Sidetitel

På lige fod med andre webanalytikere forstår jeg ikke, hvorfor der endnu ikke findes en standard variabel for sidetitel. Det er mærkværdigt, at Google ikke har indbygget denne variabel, eftersom Google Analytics tracker sidetitler som standard.

Heldigvis kan du nemt konfigurere denne variabel, så du kan hente sidetitlen. Det gør du ved at gå til variabler i Google Tag Manager. Herefter tilføjer du en JavaScript-variabel, indtaster document.title som navn på den globale variabel, og så er du færdig.

javascript sidetitel tag manager

2. Titel på downloadet element

Mange der tracker downloads af eksempelvis PDF’er, sender hele URL’en (fx: https://www.micklyngo.dk/denstorebog.pdf) til Google Analytics som Event Action eller Event Label. Selvom det virker fint, er det i praksis ikke hverken læse- eller analysevenligt. I stedet vil det være mere optimalt, hvis du udelukkende sender titlen på PDF’en (denstorebog.pdf) til Google Analytics.

Dette kan du opnå ved at oprette en ny Java Script-variabel med følgende kode:

function() {
var filepath = {{Click Element}}.pathname.split("/");
var filename = filepath.pop();
return filename.indexOf(".") > -1?filename:'n/a';
}

3. Lookup tabel til websites med flere domæner

Hvis du har identiske webshops på forskellige domæmner (fx. micklyngo.dk, micklyngo.co.uk og micklyngo.com), og du ønsker at skubbe deres data til separate ejendomme i Google Analytics, selvom alle domænerne anvender den samme Google Tag Manager-container, kan du gøre dette ved hjælp af en lookup tabel variabel.

En lookup tabel variabel er en variabel, der har værdien af en anden variabel som input. Det lyder mere indviklet, end det er i praksis. I Tag Manager skal du oprette en ny lookup tabel, og konfigurere den som vist nedenfor. Herefter kan den anvendes som Tracking ID i Google Analytics tagget.

I lookup tabellen er Page hostname valgt som inputvariabel og definerer følgende regler:

  1. Hvis Page Hostname er lig med micklyngo.dk, vis Google Analytics tracking ID UA-XXXXXX-01
  2. Hvis Page Hostname er lig med micklyngo.co.uk, vis Google Analytics tracking ID UA-XXXXXX-02
  3. Hvis Page Hostname er lig med micklyngo.com, vis Google Analytics tracking ID UA-XXXXXX-03

lookup-tag-manager

Bemærk, at alle input i en lookup tabel opererer som er lig med. Derfor skal du tilføje alle varianter af dit websites hostname til lookup tabellen, hvis det kan tilgås med og uden www.

4. UTM-parametre

Hvis du anvender UTM-parametre (det gør du med garanti, hvis du læser dette indlæg), kan du aktivere tags baseret på bestemte værdier i utm_campaign, utm_source, utm_medium osv.
Hvis du som mig ønsker at fastholde en struktur i dine variabler, tags og triggers, anbefaler jeg at oprette seperate variabler for hvert UTM-parameter, så de kan anvendes som betingelser i en trigger.

Du kan selvfølgelig også blot lave en betingelse i din trigger, hvor {{Page URL}} indeholder X eller Y. I denne konstruktion behøver du ikke oprette UTM-parametre som variabler, men sidstnævnte hjælper med at fastholde orden i din container i Tag Manager.

Nedenstående konfiguration viser, hvordan du operationaliserer UTM-parametre til variabler i Google Tag Manager:

Form tracking med Google Tag Manager

Har du formularer på dit website, er du formentlig interesseret i at følge med i, hvor mange der udfylder dem. Dette kan du tracke ved hjælp af Google Tag Manager og Google Analytics. Den store udfordring i forhold til tracking består i, at formularer på websites kan være udviklet på et utal måder. Der findes nemlig ikke en formel standard for, hvordan formularer udvikles. Eksempelvis refresher nogle forms efter et succesfuldt submit, andre gør ikke og igen findes der forms, som redirecter til en kvitteringsside. Disse forskelle har betydning for, hvordan trackingen konfigureres.

I denne guide vil jeg give eksempler på, hvordan du kan konfigurere tracking af formularer ved hjælp af Google Tag Manager og sende data til Google Analytics. På den måde kan du sende data fra dit website til Google Analytics, når en bruger udfylder en formular på dit website. Guiden forklarer også, hvorfor bestemte trackingkonfigurationer ikke fungerer, og hvad du i så fald så kan gøre. Vær opmærksom på, at nogle eksempler kræver hjælp at implementere fra udviklere.

Konfigurer tag i  Google Tag Manager

Alle interaktioner, du ønsker at tracke på dit website, skal have et tag og en trigger i Google Tag Manager. Det gælder også tracking af formularer. Inden du læser videre i denne guide, skal du derfor konfigurere et tag i Google Tag Manager. Tagget styrer, hvordan data sendes til Google Analytics og kan konfigureres som vist nedenfor.

  1. Gå til Tags
  2. Tryk på New
  3. Vælg Universal Analytics i Tag Configuration:
    1. Vælg event som Track Type
    2. Angiv Form submission som Event Catagory (du kan frit vælge en anden titel, men husk at titlen sendes til Google Analytics)
    3. Angiv Contact Form som Event Action (du kan frit vælge en anden titel, men husk at titlen sendes til Google Analytics)
    4. Angiv {{Page URL}} som Event Label (du kan frit vælge en anden titel, men husk at titlen sendes til Google Analytics)
  4. Gem tagget uden at tilføje en trigger lige nu

Nu er tagget oprettet, og dermed mangler du kun en trigger, før data kan sendes fra dit website til Google Analytics. Resten af dette blogindlæg forklarer, hvordan du ved hjælp af forskelige metoder konfigurerer disse triggere. Metodevalget afhænger af, hvordan formularerne på dit website er udviklet, herunder hvilken hændelse der forekommer på dit website, når en formular submittes.

Det er vigtigt, at guiden læses grundigt og instruktionerne overholdes, da det ellers kan give fejl i trackingen og medføre ugyldige eller forkerte data.

1. Google Tag Manager form listener

Første metode til tracking af formularer anvender Google Tag Managers indbyggede form listener. Åben først listen af variabler i din Google Tag Manager. Som standard er alle form variabler deaktiverede og skjulte. Gå derfor til built-in variables, klik Configure og sæt flueben i alle form variabler. Du skal ikke trykke gem, da alle ændringer automatisk gemmes.form trigger variables

Herefter opretter du en ny trigger ved at klikke på Triggers. Triggeren kan konfigureres således:

  • Titel – “UA Event – Form submission”
  • Trigger type – Form submission
  • Sæt ikke flueben i Wait for tags
  • Sæt flueben i Check validation. Denne funktion medfører, at Google Tag Manager ikke aktiverer triggeren, hvis formularens standardhændelse (submit eller redirect) er blokeret. Vælger du ikke at aktivere funktionen, sendes der muligvis data til Google Analytics, hver gang brugeren klikker på send-knappen, også selv om formularen ikke udfyldes korrekt, fx hvis brugeren mangler at udfylde obligatoriske felter
  • Fire on. Her kan du vælge, om triggeren skal aktiveres på alle eller bestemte sider på dit website

 

Test

Åben Preview and Debug Mode i Google Tag Manager ved at klikke på Preview, og test om triggeren registrerer, når en formular udfyldes. Du ser et orange banner, når Preview and Debug Mode er aktiveret. Herefter navigerer du til dit website og finder en formular. I debug consolen nederst i browseren kan du se detaljeret information omkring tags, hvordan de skyder og hvilke data der procederes. Consolen er kun synlig for dig og ikke andre besøgende på dit website.

For at teste trackingen skal du udfylde og submitte en formular på dit website. Hvis du ikke ser et gtm.formSubmit event i consolen, virker Google Tag Managers indbygggede form auto-event listener ikke på formularerne på dit website. Du kan derfor springe direkte videre til næste trackingmetode.

Hvis der er registreret et gtm.formSubmit, betyder det, at Google Tag Manager registrerer submits på formularer. I så fald bør du lave en sidste test, som består i at sende en formular med fejl. På den måde kan du verificere, at der ikke sendes et event, når en formular submittes med fejl. Du kan fremkalde en fejl ved at submitte formularen uden at udfylde alle obligatoriske felter.

  • Hvis gtm.formSubmit skyder, når du submitter formularen med fejl, er trackingen behæftet med fejl, fordi der ikke kun trackes succesfulde form submits, men alle kliks på submit-knappen. I så fald skal du finde en anden trackingmetode
  • Hvis gtm.formSubmit event ikke skyder, betyder det, at Google Tag Manager udelukkende tracker succesfulde form submits. Trackingen vil i så fald være konfigureret korrekt, og du skal blot knytte triggeren til det tag, som findes i indledningen af denne guide

2. Den skudsikre. Form tracking med data layer events

Hvis Google Tag Managers indbyggede form listener ikke virker, kan du implementere et tilpasset dataLayer.push() i den callback funktion der aktiveres, når en formular submittes. Jeg vil altid anbefale denne metode til tracking af formularer, fordi den er robust og kun svagt påvirkelig over for ændringer på websitet. Årsagen til metoden ikke nævnes først i denne guide er, at den kræver hjælp at implementere fra udviklere.

Anmod din udvikler om implementering af nedenstående kode på alle formularere på dit website.

window.dataLayer = window.dataLayer || []
window.dataLayer.push({
'event': 'formSubmission',
});

Send eventuelt denne guide til dataLayer.push til din udvikler, hvis vedkommende ikke er bekendt med dataLayer events eller Google Tag Manager.

Test

Efter dataLayer.push er implemeneteret på alle formularer, bør du teste, om formSubmission eventet registreres af Google Tag Manager.

    1. Åben Preview and Debug mode
    2. Gå til website og submit formularen:
      1.  Submit først formulareren med fejl. I dette tilfælde bør der ikke blive sendt et dataLayer event.
      2. Submit dernæst formularen korrekt ved at udfylde alle obligatoriske felter. Du bør nu se et event i Preview and debug mode.
    3. Når du har fået bekræftet, at eventet sendes korrekt, skal du konfigurere en trigger, der kan opsamle data fra eventet

Konfigurer trigger

Opsæt trigger med disse indstillinger, og knyt den herefter til tagget, som du tidligere har oprettet. Herefter er trackingen færdigkonfigureret.

Trigger Type: Custom event
Event name: formSubmission (event name blev defineret i koden. Vær sikker på, at du og udvikleren anvender det samme navn)
This trigger fires on: All custom events (det betyder, at alle formSubmissions trackes)

form trigger tag manager

Tracking outbound links med Google Tag Manager

Denne guide viser, hvordan du opsætter Google Tag Manager til at tracke outbound links. Dette er meget nyttigt, fordi du herigennem får indblik i, hvor ofte brugerne klikker på links, der fører dem væk fra dit website. Guiden er udformet i henhold til Google Tag Manager Version 2 og består af fire trin. Først skal du aktivere en indbygget variabel, der henter URL’en, som knytter sig til de elementer, brugerne klikker på. Dernæst skal du oprette en trigger, der definerer hvad et outbound klik er. Til sidst skal du oprette et tag, der registrerer klik på outbound links som events i Google Analytics.

1. Aktiver variablen Click URL

I Google Tag Manager version 2 kan du aktivere og deaktivere forskellige prædefinerede variabler (tidligere kendt som makroer). Har du behov for at oprette egne variabler, kan du også det. Variabler i denne sammenhæng reducerer mængden af JavaScripts, hvilket bidrager til at optimere indlæsningstiden på dit website.

google tag manager variable

For at tracke outbound links skal du aktivere den indbyggede variabel ‘Click URL’. Variablen indfanger URL’en på de links, som brugerne klikker på. For at aktivere variablen, skal du afkrydse checkboxen ud for ‘Click URL’.

google tag manager active variable

2. Opret Outbound Links Trigger

Google Tag Manager Version 2 anvender triggers til at definere, hvornår et tag affyres. Eksempelvis, når en bestemt type klik registreres, en bestemt side indlæses eller en specifik formular udfyldes. For at opsætte en trigger for kliks på outbound links, skal du gøre følgende:

  1. Opret en ny trigger ved at klikke ‘New’ på siden, der administrerer triggers.
  2. Erstat ‘Untitled Trigger’ med et beskrivende navn, fx ‘Outbound Links’.
  3. Choose Event: Vælg ‘Klik’.
  4. Configure Trigger:
    1. Vælg Targets ‘Just Links’. Dette definerer, at klikket skal være på et link og ikke knapper eller andre elementer på websitet.
    2. Afkryds checkbox ‘Wait for Tags’ og indstil ‘Max wait time’ til 2000 millisekunder. Det tillader triggeren at vente i op til to sekunder på, at alle tags er klar, inden brugeren omdirigeres til linket.
    3. Afkryds checkbox ‘Check Validation’. Dette kontrollerer gyldigheden af linket, der omdirigerer brugeren til en anden side.
  5. Enable when:
    1. Her vælges ‘Page URL’ > ‘matches RegEx’ > ‘.*’. Dette aktiverer triggeren på alle websitets sider.
  6. Fire On:
    1. Her vælges ‘Click URL’ > ‘does not match RegEx’ > ‘.ditwebsite\.dk.+’. Dette sikrer, at du ikke tracker på interne sider.
  7. Save trigger.

google tag manager trigger

3. Opret Outbound Link Click Event Tag

Dette tag anvender variabelen, som du aktiverede i første trin, og triggeren oprettet i andet trin til at eksekvere trackingen af outbound link clicks. Tagget definerer, hvordan og hvornår en hændelse sendes til Google Analytics. Du oprettet tagget således:

  1. Opret nyt tag ved at klikke ‘New’ på Tag-siden.
  2. Erstat ‘Untitled Tag’ med et beskrivende navn, fx ‘Outbound Link Click Event’.
  3. Choose Product: Select ‘Google Analytics’.
  4. Choose a Tag Type: Vælg ‘Universal Analytics’ eller ‘Classic Google Analytics’ afhængigt af trackingen på dit website.
  5. Configure Tag:
    1. Tracking ID: Indtast Tracking ID på den Google Analytics ejendom, som er tilknyttet dit website.
    2. Track Type: Vælg ‘Event’.
    3. Category: Indtast ‘Outbound links’.
    4. Action: Indtast ‘Click’.
    5. Label: Indtast ‘{{Click URL}}’.
    6. Non-Interaction Hit: Vælg ‘True’. Det betyder, at eventet ikke vil ændre din bounce rate, fordi det ikke registreres som en interaktion på dit website. Dette er meningsfuldt for outbound links, men for andre events kan det være fordelagtigt at tælle eventet som en interaktion
  6. Fire On:
    1. Vælg ‘Click’.
    2. Fra menuen ‘Choose from existing CLick Triggers’ vælger du den ‘Outbound Links Trigger’, du oprettede i andet trin.
  7. Save tag.

google tag manager tag

4. Test og udgiv

Dine tags virker ikke før, at du udgiver dem. Inden du udgiver, bør du dog teste om alt fungerer. Dette er især vigtigt, hvis du har oprettet triggers, som venter på tags og check validation. Du kan teste dit setup ved at klikke ‘Publish > Preview and Debug function’.

Fungerer alt efter hensigten, skal du udgive dit setup, så dine tags begynder at fungere på dit website. Har du fulgt alle ovenstående trin, har du den nødvendige trigger og tag i din Google Tag Manager til at tracke outbound links.

I Google Analytics finder du oversigten med klikkede outbound links under ‘Adfærd’ -> ‘Hændelser’ -> Hændelsesetik’.

Opret sporing/tracking af Facebookannonce i Google Analytics (UTM Tracking)

Denne guide viser, hvordan du opretter et sporingsid (betegnes andre steder som trackingid og UTM Tracking) i tilknytning til en annonce eller kampagne på Facebook, således at annoncen kan spores i Google Analytics.

1. Konstruér din URL

Det første du skal gøre er at konstruere en URL, der føjer parametre til den webadresse, som din Facebookannonce refererer til. Der findes flere værktøjer hertil, men jeg anbefaler Googles “Værktøj til oprettelse af webadresser”.  Her skal du udfylde en formular, hvilket du gør på følgende måde, når der er tale om sporing af Facebookannoncer:

Webadresse på website –> Her indtaster du URL’en til den webadresse, som Facebookannoncen peger på, fx. http://www.micklyngo.dk/
Kampagnekilde –> facebook
Kampagnemedium –> cpc
Kampagneudtryk –> Dette felt efterlades blankt.
Kampagneindhold –> Indtast annoncens navn (anvendes til at skelne mellem flere annoncer i samme kampagne i Google Analytics).
Kampagnenavn –> Indtast navnet på din kampagne. Det er dette navn, som fremgår i Google Analytics.

Ovenstående eksempel danner følgende URL, som skal indlejres i Facebookannoncen: <code>http://www.micklyngo.dk/utm_source=facebook&amp;amp;utm_medium=facebook&amp;amp;utm_content=cpc&amp;amp;utm_campaign=Mick%20Lyng%C3%B8’s%20annonce</code>

Kopier eventuelt URL’en ind i din browser og besøg siden, da dette genererer trafik. Du kan ikke spore URL’en før, at der er dannet trafik.

2. Spor annoncen i Google Analytics

1. Du kan spore annoncen i Google Analytics ved at vælge Anskaffelse –> Kampagnetrafik –> Alle kampagner og herefter lokalisere dit angivne kampagnenavn.
2. Husk eventuelt vælge den rigtige tidsperiode for visning af kampagnetrafik, hvis ikke den fremgår i Google Analytics.

Links:

Google’s værktøj til oprettelse af webadresser