Info
Innehåll

Google Tag Manager (GTM)

Vänligen notera: Om du vill leverera consentmanager kod via GTM kan endast den manuella spärrkoden levereras med hjälp av en TagManager. Om du vill använda automatisk kodblockering måste du infoga CMP-koden direkt på din webbplats.

Vänligen notera: Systemet skickar information till window.dataLayer. GTM erbjuder möjligheten att byta namn på denna variabel till ett annat värde. Om så är fallet kommer uppgifterna inte längre att tas emot av GTM. Se därför till att inte (om) namnge variabeln än dataLayer.

Allmän information

För att använda samtyckeinformation med Google Tag Manager (GTM) kommer CMP att skjuta in så kallade datalager till GTM. CMP skapar följande datalagvariabler:

Variabel

Beskrivning

cmpRegulation

Sträng av förordningens namn (t.ex. GDPR, CCPA och så vidare)

cmpConsentString

Ställer in IAB-godkännandesträngen

cmpConsentVendors

Ställer in en kommaavgränsad lista över leverantörs-ID som fick samtycke, t.ex. 3,7, s22,31, c88, (listan börjar och slutar med komma)

cmpGoogleVendorsConsent

Samma som cmpConsentVendors men ingår Googles ATP-ID.

cmpConsentPurposes

Ställer in en kommaseparerad lista över syften som fick samtycke, t.ex. 1,2, s3, s4, s5, (listan börjar och slutar med komma)

cmpCurrentStatus

Aktuellt namn för cmp-händelsestatus. Möjliga värden: okänt, laddar, samtycke, legitimtIntresse
Obs! Ytterligare status kan läggas till då och då

cmpLastStatus

Senaste/föregående cmp-händelsens statusnamn. Möjliga värden: unknown, loading, loaded, consent, legitimateInterest, disabled, hidden, visible, tcloaded, consent-loaded, useraction.
Obs! Ytterligare status kan läggas till då och då
Obs: Detta inkluderar även ALLA TCF- och GPP-statusnamn, t.ex. sectionChange.*, cmpDisplayStatus.*, och så vidare

cmpLoadingStatus

Statusnamn för laddningssekvensen (stub, laddning, laddad, fel)

cmpDisplayStatus

Statusnamn för visningen av samtyckeslagret (synlig, dold, inaktiverad)

samtycke finns

En samtyckesstatus finns (sant/falskt). Observera att detta gäller så snart samtyckesskiktet visas och/eller i de fall då inget samtycke krävs.

userChoiceExists

Det finns en samtyckesstatus som är baserad på användarens val (sant/falskt), t.ex. användaren klickade på acceptera, avvisa eller sparade de anpassade inställningarna.

Händelsen cmpEvent i kombination med ovanstående variabler kan sedan användas som en trigger för tagghanteraren för att veta om/när koderna ska aktiveras.

Integration via GTM-mall

  1. Logga in på din Google Taggstyrning och klicka på Taggar> Ny> Taggkonfiguration
  2. Välj menyn Taggtyp Funktioner Community CMP -mallar> Consentmanager CMP



  3. Klicka på Lägg till i arbetsyta> Lägg till



  4. Få ditt CMP-ID, CDN och värd från ditt konto från Meny > CMPs > Hämta koder för ... webbplatser



  5. Infoga ditt CMP-ID, CDN och Host i vår GTM-mall och spara.

    Infoga utan protokollet "https://"!


    gtm_inputs.jpg

  6. Ställ in taggen med CMP-kod för att utlösa på varje sidvisning:

 

Vänligen notera: På grund av Googles riktlinjer måste vi först aktivera Consent Mode. Detta kan vara förvirrande när kunder integrerar vår mall och t.ex. inte ser live Google Analytics-nummer. Om du INTE vill använda Consent Mode, glöm inte att avaktivera funktionen i mallen.

 

Manuell integration

Om du inte vill använda GTM-mallen eller GTM-receptet (se ovan) kan du infoga CMP-koden manuellt i din TagManager. Kopiera därför den halvautomatiska / manuella blockeringskoden från Meny > CMPs > Hämta kod för ... Webbplats och klistra in den i din TagManager som en ny tagg. Ställ in taggen som ska avfyras med tidigast möjliga händelse (PageView eller tidigare). Ange inte ett villkor / uteslutning för taggen.

För att kunna använda consentmanager med GTM och Googles samtyckesläge, se vår dedikerad hjälpsektion om Googles samtyckesläge här.

Uppdaterar dina taggar och villkor

Obs: Om Googles samtycke-läge är aktiverad kan du använda inbyggda samtyckesvariabler för att filtrera taggarna. I de flesta fall är detta enklare jämfört med att uppdatera utlösningsvillkor. Mer information om Google samtyckesläge se här.

Följ dessa steg för att endast visa vissa koder om samtycke ges:

  1. Skapa variabler i GTM: Gå till Variabler> Nytt och klicka på konfigurera:

  2. Välj variabel typ Sidvariabler> Datalagervariabel, skapa de nödvändiga variablerna, vanligtvis behöver du åtminstone variabeln cmpConsentVendors. Lägg till fler variabler från tabellen ovan om det behövs:

  3. Upprepa stegen ovan för alla andra variabler som du behöver (vanligtvis cmpGDPR, cmpConsentVendors, cmpConsentPurposes, ...)

  4. Gå till Utlösare> Nytt och klicka på konfigurera:



  5. Använd händelsens namn cmpEvent och lägg till anpassade händelser till det:

     

  6. För varje evenemang krävs minst en regel:  cmpConsentVendors contains ...  (eller cmpConsentPurposes contains ... ).

  7. Ställ in händelsereglerna till cmpConsentVendors contains ,x, var x är säljarens ID. ID:n för leverantörerna finns under menyn Leverantörer/Vitlista:


    Viktigt: Använd alltid bara en leverantör per trigger (... contains ,x, och inte ... contains ,x,y,z,). Om du arbetar med flera leverantörer, skapa flera trigger och en trigger per leverantör.
    Viktigt: Använd alltid kommatecken före och efter leverantörs-ID (t.ex cmpConsentVendors contains ,x,och inte cmpConsentVendors contains x)

     

  8. Upprepa ovanstående steg för varje leverantör och skapa en ny trigger för varje leverantör

  9. Använd avtryckaren på dina taggar och se till att taggarna inte avfyras med pageView-händelsen utan endast med cmpEvent:



    Exempel för Google Analytics:



    Viktigt: Se till att utlösaren är endast trigger för varje tagg du använder. Kombinera inte utlösare med andra utlösare / händelser som "Alla sidor" eller "On page load" och så vidare.

Exempel: Blockering av Google Analytics med Google TagManager (GTM)

Här är några exempel på skärmdumpar hur en installation skulle se ut för att blockera Google Analytics om inget medgivande ges.

Trigger

Utlös Google Analytics på alla sidor när samtycke ges:

tagg

Google Analytics-tagg med tilldelade triggers (andra trigger är valfritt):

Hur blockerar jag Google TagManager-koden om inget medgivande ges?

Vänligen notera: Om du returnera inte vill blockera själva GTM men bara taggarna som aktiveras av GTM och när du använder automatisk blockering, se till att TagManager förhindras från att blockeras genom att infoga attributet data-cmp-ab="1" in i TagManager-koden.

Om du inte bara vill blockera koderna i TagManager utan också TagManager själv kan du göra det genom att följa dessa steg:

Din GTM-kod ser på något sätt ut så här:

<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-ABCDEF');</script>

För att tillåta consentmanager.net CMP för att blockera och endast aktivera koden på samtycke måste du ändra koden på följande sätt: (se ändringar i <script ...> del av koden)

<script data-cmp-vendor="s905" type="text/plain" class="cmplazyload" >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-ABCDEF');</script>

Vänligen notera att den automatiska blockeringskoden kan hindra webbläsaren från att exekvera GTM-koden men kanske inte kan stoppa webbläsaren från att ladda ner GTM-källkoderna. Därför kan det vara så att sökroboten varnar dig om att GTM laddas utan samtycke. Om du vill vara säker på att GTM inte laddas utan samtycke, MÅSTE du ändra GTM-koden enligt beskrivningen ovan.

Hur kan man förhindra att Google TagManager avfyras flera gånger?

CMP avfyrar cmpEvent-datalagaren varje gång samtyckeinformationen uppdateras. Detta inträffar när sidan laddas och information om samtycke hittas i besökarnas cookie, när samtycksskiktet visas och besökaren gör ett val eller när besökaren återgår till samtyckeslagret och ändrar inställningarna. I det sista fallet kan det hända att besökaren öppnar och stänger samtycksskiktet flera gånger. Varje gång lagret stängs kommer datalayern att avfyras och Google TagManager kan visa några taggar eller avfyra räkningar från Google Analytics. Följ dessa steg för att förhindra att taggar avfyras flera gånger på en sida:

  1. Skapa en ny tagg för varje tagg som du vill förhindra att avfyras igen. Använd en anpassad HTML-kod och sätt in följande kod:

    <script> window.prevent_duplicate_googleanalytics = true; </script>

  2. Använd samma trigger för den här nya taggen som du använder för den ursprungliga taggen.

  3. Skapa en ny variabel av typen anpassat javascript och använd följande kod:
    function (){ return ("prevent_duplicate_googleanalytics" in window); }

  4. Lägg till ytterligare ett villkor till din befintliga utlösare med variabeln du skapade tidigare ("Variabel XXX är lika med falsk"):

Hur hanterar du dataLayer eller eventorder?

I vissa fall bör taggar bara avfyras när mer än händelse har inträffat, t.ex. en viss åtgärd av användaren och samtycke ges. För att kombinera en befintlig händelse med ConsentManager cmpEvent, följ dessa steg:

  1. Redigera taggen och ta bort den utgående utlösaren från den.
  2. Klicka på ikonen för att tilldela en ny trigger till taggen och skapa sedan en ny trigger:

  3. Ge den nya utlösaren ett namn och välj utlösartyp "Trigger Group":

  4. Lägg till din befintliga trigger och cmpEvent-utlösaren i triggergruppen:

  5. Ställ in triggerbetingelserna på samma sätt som med vanliga triggers (t.ex. lägg till cmpGDPR equals 1 som villkor).
  6. Spara triggergruppen och tilldela den till taggen.

Pausa / skjuta upp dataLayer-händelser tills samtycke ges

Som ett alternativ till Trigger Groups kan du använda consentmanageregen dataLayer-funktion genom att anropa window.cmp_gtag(...)  istället för Googles window.gtag(...) eller trycka in data cmp_dataLayer istället för dataLayer. Alla samtal till cmp_gtag(...) kommer automatiskt att pausas och skjutas upp tills användaren gjort ett val (acceptera, avvisa eller anpassad). När valet är gjort kommer CMP automatiskt att överföra alla samtal till window.gtag(...) som tidigare har skickats till window.cmp_gtag(...) (och alla efterföljande samtal). För att kunna använda funktionen, se till att lägga till följande kod på din webbplats (före det första samtalet):

<script>
if(!('cmp_dataLayer' in window)){window.cmp_dataLayer = [];}
if(!('cmp_gtag' in window)){ window.cmp_gtag = function (){window.cmp_dataLayer.push(arguments);}}
</script>

Du kan då helt enkelt ändra alla samtal från gtag(...) till cmp_gtag(...) och dataLayer till cmp_dataLayer och vårt system tar hand om resten.

Exempel med dataLayer

Innan:

<script>
 var gtmInitialData = {"general":{"language":"en","country":"GB","page_type":"LISTPAGE"}};        
 window.dataLayer = window.dataLayer || [];
 window.dataLayer.push(gtmInitialData);
</script>

Efter:

<script>
if(!('cmp_dataLayer' in window)){window.cmp_dataLayer = [];}
var gtmInitialData = {"general":{"language":"en","country":"GB","page_type":"LISTPAGE"}}; 
window.cmp_dataLayer.push(gtmInitialData);
</script>

Viktigt: Do inte ersätt dataLayer-namnet i initialiseringsanropet för GTM eller Analytics. Ersätt till exempel inte "dataLayer" i den här koden:

<script>
 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
 var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;
 j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);}
 )(window,document,'script','dataLayer','GTM-...'); /* do NOT replace dataLayer with cmp_dataLayer */
</script>
Exempel med gtag

Innan:

<script>       
 window.gtag = function (){dataLayer.push(arguments);};
 window.gtag("myEvent",{...some event data ...});
</script>

Efter:

<script>       
 if(!('cmp_dataLayer' in window)){window.cmp_dataLayer = [];}
 if(!('cmp_gtag' in window)){ window.cmp_gtag = function (){window.cmp_dataLayer.push(arguments);}}
 window.cmp_gtag("myEvent",{...some event data ...});
</script>

Webbseminarium/handledning om GTM-implementering

Vänligen notera: För närvarande kan vi bara erbjuda denna instruktionsvideo i tysk. GTM-inställningen startar cirka minut 05:00 - 22:00. Om du inte använder Googles samtyckesläge kan du hoppa över resten av videon.

 

Tillbaka till toppen