GTM opsætning
Hurtig start
Section titled “Hurtig start”Indsæt dette som det allerførste i <head>:
<script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('consent', 'default', { ad_storage: 'denied', analytics_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', functionality_storage: 'denied', personalization_storage: 'denied', security_storage: 'granted', wait_for_update: 500 });</script><!-- Google Tag Manager --><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-XXXXXXX');</script><!-- End Google Tag Manager --><script src="https://consent.cookiepopup.net/cookiepopup.js" data-language="xx" async></script>Udskift disse værdier før brug:
GTM-XXXXXXXmed jeres eget GTM-container-iddata-language="xx"med det sprog, banneret skal starte på, for eksempeldaelleren
Det vigtige er både placering og rækkefølge:
- Hele blokken skal ligge som det første i
<head>. - Sæt default consent først.
- Load derefter GTM.
- Load til sidst CookiePopup.net scriptet.
Så starter Google i en sikker standardtilstand, indtil CookiePopup.net har læst eller indsamlet brugerens samtykke.
Hvad koden gør
Section titled “Hvad koden gør”Den første blok sætter Google Consent Mode til denied som default for alt, der ikke er strengt nødvendigt. security_storage sættes til granted, og wait_for_update: 500 giver lidt tid til, at consent kan blive opdateret, før tags når at affyre.
Den næste blok loader Google Tag Manager på normal vis og bruger dataLayer, som også er det lag CookiePopup.net senere sender consent-data til.
Den sidste blok loader CookiePopup.net banneret. Når banneret har anvendt consent, pushes et fælles event til dataLayer:
cookiepopup_consent_readyDet er det event, jeres GTM-tags bør reagere på.
Udviklerflow i praksis
Section titled “Udviklerflow i praksis”Hvis I vil holde integrationen enkel, så brug denne model:
- CookiePopup.net styrer brugerens samtykke
- GTM lytter kun på
cookiepopup_consent_ready - jeres statistik- og marketingtags affyres kun, når den relevante kategori er
true
Det betyder, at I ikke skal håndtere forskellige custom events for førstegangsaccept og senere sidevisninger. I får ét ensartet flow hver gang consent er klar.
Hvad CookiePopup sender til GTM
Section titled “Hvad CookiePopup sender til GTM”Når consent er klar og anvendt, pushes dette event til dataLayer:
{ event: "cookiepopup_consent_ready", cookiepopupConsent: { consentId: "...", categories: { necessary: true, statistics: true, marketing: false } }}Det betyder, at GTM kan læse de aktuelle consent-værdier direkte fra cookiepopupConsent.categories.
Hurtigste vej i GTM
Section titled “Hurtigste vej i GTM”Hvis I sætter det hele op manuelt, er dette nok til at komme videre:
- Opret en
Custom Eventtrigger med navnetcookiepopup_consent_ready. - Opret Data Layer Variables for de kategorier, I vil bruge.
- Kobl jeres tags på triggeren.
- Begræns hvert tag med den relevante consent-kategori.
Typiske variabler er:
cookiepopupConsent.categories.necessarycookiepopupConsent.categories.statisticscookiepopupConsent.categories.marketing
Et statistik-tag skal for eksempel kun køre, når cookiepopupConsent.categories.statistics er true.
GTM starter kit til download
Section titled “GTM starter kit til download”Hvis I vil slippe for det manuelle grundarbejde, kan I hente et færdigt starter kit her:
Starter kittet er en GTM container-export med:
- en mappe til CookiePopup.net-elementer
- Data Layer Variables til
necessary,statisticsogmarketing - færdige triggers, der lytter på
cookiepopup_consent_ready
Det er tænkt som et hurtigt udgangspunkt. Importér det i GTM, og kobl derefter jeres egne tags på de relevante triggers.
Google Consent Mode
Section titled “Google Consent Mode”Hvis I bruger Google Consent Mode, er anbefalingen stadig den samme:
- indsæt scriptblokken som det første i
<head> - sæt default consent før GTM loader
- lad CookiePopup.net opdatere consent bagefter
- brug
cookiepopup_consent_readytil jeres GTM-triggerlogik
Det holder jeres opsætning enkel og gør den lettere at fejlfinde.
Fejlsøgning
Section titled “Fejlsøgning”Hvis noget ikke virker, så kontroller disse punkter først:
- at hele scriptblokken ligger som det første i
<head> - at default consent-scriptet ligger før GTM-scriptet
- at
cookiepopup_consent_readyfaktisk vises i GTM Preview - at den relevante Data Layer Variable læser den forventede værdi
- at tagget kun kører, når kategorien matcher
true
I browserens konsol kan I også kontrollere den seneste consent-data:
window.dataLayerog finde eventet:
window.dataLayer.filter((entry) => entry && entry.event === "cookiepopup_consent_ready")Resultat
Section titled “Resultat”Når opsætningen er på plads, får I et hurtigt og forudsigeligt setup:
- Google starter med sikre standardværdier
- CookiePopup.net opdaterer consent, når brugeren har taget stilling
- GTM får
cookiepopup_consent_ready, når consent er klar - jeres tags kan reagere direkte på de relevante kategorier
Det er den hurtigste vej til en udviklervenlig integration mellem CookiePopup.net og Google Tag Manager.