Consent Mode v2 implementering: Trin-for-trin guide med GTM
Praktisk implementeringsguide til Consent Mode v2 via Google Tag Manager — inkl. cookiebanner-integration, test og fejlfinding.
Kristoffer Søgaard
Consent Mode v2 implementering via GTM sikrer at din tracking overholder GDPR, mens du bevarer mest mulig data til optimering. Denne guide dækker den fulde opsætning fra start til verificering.
Forudsætninger
Før du starter, har du brug for:
- -Google Tag Manager (web container, helst med server-side)
- -Et CMP (Consent Management Platform) — fx Cookiebot, CookieInformation eller Usercentrics
- -Adgang til din GA4-property og Google Ads-konto
Grundlæggende vs. Avanceret — hvad skal du vælge?
Grundlæggende Consent Mode
Tags blokeres fuldstændigt indtil brugeren accepterer. Simpelt, men du mister al data fra brugere der afviser (30-45% i Danmark).
Avanceret Consent Mode (anbefalet)
Tags fyrer i "cookieless" tilstand selv uden samtykke. Google modtager anonymiserede pings og modellerer konverteringer. Du bevarer datatilgang uden at bryde GDPR.
Anbefaling: Vælg altid Avanceret Consent Mode med mindre du har juridisk rådgivning der siger andet. Googles cookieless pings indeholder ikke persondata og er GDPR-kompatible.
Trin 1: Konfigurer default consent state i GTM
Opret et nyt tag i GTM:
- -Tag type: Google Tag — Consent Initialization
- -Trigger: Consent Initialization - All Pages (fyrer før alle andre tags)
Indstillinger:
- -analytics_storage: denied
- -ad_storage: denied
- -ad_user_data: denied
- -ad_personalization: denied
- -functionality_storage: denied
- -personalization_storage: denied
- -security_storage: granted
Denne konfiguration sikrer at ingen data sendes før brugeren vælger — men med Avanceret mode sender Google stadig anonyme pings.
Trin 2: Integrer dit cookiebanner
Dit CMP skal opdatere consent state når brugeren vælger. De fleste CMP'er har native GTM-integration:
Cookiebot
- 1.Tilføj Cookiebot-scriptet i GTM (Custom HTML tag, trigger: All Pages)
- 2.Cookiebot opdaterer automatisk consent state via gtag()
- 3.Verificer med: window.dataLayer → kig efter consent_update events
CookieInformation
- 1.Brug CookieInformation GTM-templaten fra Community Template Gallery
- 2.Konfigurer mapping mellem CI-kategorier og consent types
- 3.Sæt "Default consent" til denied i templaten
Usercentrics
- 1.Installer Usercentrics CMP-template fra GTM Gallery
- 2.Map kategorier: Marketing → ad_storage + ad_user_data + ad_personalization
- 3.Map kategorier: Statistics → analytics_storage
Trin 3: Konfigurer tag-consent settings
Hvert Google-tag i GTM skal have consent settings:
GA4 Configuration Tag
- -Required consent: analytics_storage
Google Ads Conversion Tag
- -Required consent: ad_storage
Google Ads Remarketing Tag
- -Required consent: ad_storage, ad_personalization
Meta Pixel (Custom HTML)
- -Required consent: ad_storage (sæt via Built-in Consent Checks)
Trin 4: URL passthrough og ads_data_redaction
To vigtige indstillinger i din Google Tag:
URL passthrough
Sender click-identifiers (gclid, fbclid) videre via URL selv uden samtykke. Forbedrer attribution markant.
- -Aktivér via Google Tag → Settings → url_passthrough: true
Ads data redaction
Fjerner ad click-identifiers fra requests når ad_storage er denied. Anbefalet for streng GDPR-compliance.
- -Aktivér via Google Tag → Settings → ads_data_redaction: true
Trin 5: Test din implementering
Med Tag Assistant (Chrome)
- 1.Åbn din side med Tag Assistant aktiv
- 2.Slet alle cookies og genindlæs
- 3.Før samtykke: Verificer at consent state viser "denied" for alle typer
- 4.Klik "Acceptér alle": Verificer at consent state opdateres til "granted"
- 5.Klik "Afvis": Verificer at state forbliver "denied" men Google-tags stadig fyrer (cookieless pings)
Med GA4 DebugView
- 1.Åbn GA4 → Admin → DebugView
- 2.Genindlæs din side uden samtykke
- 3.Du bør se events med et "Consent: denied" badge
- 4.Acceptér cookies → events skifter til "Consent: granted"
Med Google Ads Diagnostics
- 1.Gå til Google Ads → Konverteringer → Diagnostics
- 2.Tjek at din konverteringshandling viser "Consent Mode active"
- 3.Verificer at "Modeled conversions" vises efter 24-48 timer
Fejlfinding: De mest almindelige problemer
Problem 1: Consent state opdateres ikke
Årsag: CMP-scriptet fyrer efter Google-tags
Fix: Sørg for at CMP-tag har triggeren "Consent Initialization" (ikke "All Pages")
Problem 2: Tags fyrer slet ikke uden samtykke
Årsag: Du har Grundlæggende mode i stedet for Avanceret
Fix: Fjern "Require additional consent" fra dine tags. I Avanceret mode skal tags have lov til at fyre — consent settings styrer hvad de sender
Problem 3: Google Ads viser "No consent signal"
Årsag: ad_user_data og ad_personalization mangler i consent update
Fix: Opdatér dit CMP til at sende alle fire signaler: ad_storage, analytics_storage, ad_user_data, ad_personalization
Problem 4: Dobbelt consent-popup
Årsag: CMP-scriptet er inkluderet både i GTM og direkte i HTML
Fix: Fjern det ene — anbefalet at styre alt via GTM
Consent Mode og server-side tracking
Med server-side GTM kan du styrke din Consent Mode-implementering:
- -Server-side consent enforcement — Selv hvis client-side manipuleres, tjekker server-containeren consent state
- -Bedre modellering — Flere server-side datapunkter giver Google bedre modelleringsgrundlag
- -Anonymiseret videresendt data — Serveren kan strippe PII før afsendelse til platforme
Læs mere om server-side tracking og hvordan det styrker din privacy-compliance.
Opsummering: Tjekliste
- 1.Default consent state sat til "denied" for alle typer
- 2.CMP integreret og opdaterer consent korrekt
- 3.Alle Google-tags har korrekte consent settings
- 4.URL passthrough aktiveret
- 5.Avanceret mode aktiv (tags fyrer cookieless)
- 6.Test gennemført med Tag Assistant
- 7.Google Ads diagnostics viser "Consent Mode active"
- 8.ad_user_data og ad_personalization sendes korrekt
Er din Consent Mode korrekt implementeret? Kør en gratis tracking audit — den tjekker automatisk dine consent-signaler og viser præcis hvad der mangler. Eller læs mere om Google Ads tracking og Consent Mode.
Er din tracking sat korrekt op?
Få en gratis audit og find ud af hvad der mangler.