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.