Alle artikelen

Google Consent Mode v2 implementatie: zo werkt het stap voor stap

4 min leestijd · 6-10-2026

Een Google Consent Mode v2-implementatie bestaat uit drie delen: een consent default-blok dat vroeg in de pagina staat, een update die de keuze van de bezoeker doorgeeft, en tags die op die status reageren. Je kiest eerst tussen basic en advanced consent mode, bepaalt of je met gtag of via Google Tag Manager werkt, en test daarna of de signalen echt aankomen. De implementatie zelf is technisch; of het juridisch klopt blijft mensenwerk.

Basic of advanced consent mode: wat kies je?

Bij basic consent mode laad je de Google-tags pas nadat de bezoeker toestemming heeft gegeven. Zonder toestemming gaat er niets naar Google, ook geen cookieloze signalen. Dat is overzichtelijk en makkelijk uit te leggen.

Bij advanced consent mode laden de tags altijd. Zonder toestemming sturen ze alleen geanonimiseerde, cookieloze signalen; met toestemming komt daar de volledige meting bij. Google kan dan modellen gebruiken om ontbrekende data in te schatten.

Welke je kiest hangt af van hoeveel je wilt meten tegenover hoe simpel je het wilt houden. Meer hierover lees je in basic vs advanced consent mode.

Stap 1: consent default plaatsen vóór de Google-tags

Het consent default-blok hoort in de <head>, boven de eerste Google-tag. Daarin zet je de standaardstatus per categorie, meestal op denied:

html <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('consent', 'default', { 'ad_storage': 'denied', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': 'denied' }); </script>

De vier genoemde categorieën zijn de kern van Consent Mode v2. Zet je ze op denied, dan plaatst Google geen cookies tot de bezoeker iets kiest. Dit blok moet er staan vóór je meet-ID's of GTM-container laden.

Stap 2: de keuze van de bezoeker doorgeven met consent update

Zodra de bezoeker in de cookiebanner kiest, stuur je een consent update met de bijbehorende status. Dat gebeurt vanuit je CMP, of je roept het zelf aan:

js gtag('consent', 'update', { 'analytics_storage': 'granted', 'ad_storage': 'denied' });

Geeft de bezoeker later zijn keuze aan te passen, dan stuur je opnieuw een update. De tag leest de laatste status en past het gedrag aan. Een CMP die dit goed regelt, doet dit automatisch; bij een zelfgebouwde banner moet je dit zelf koppelen. Zie ook Consent Mode uitleg voor het waarom achter deze opzet.

Stap 3: implementeren via gtag of via GTM

Werken met gtag betekent dat je de consent-opdrachten in de code van je site zet. Dat is direct en transparant, maar je moet elke wijziging zelf doorvoeren.

Werken met Google Tag Manager betekent dat je een consent-overzicht instelt en per tag bepaalt welke toestemming nodig is. GTM vuurt de tag dan alleen als de status klopt. Dat is overzichtelijker als je meerdere tags beheert, en je kunt instellingen aanpassen zonder in de sitecode te duiken.

Beide routes zijn gangbaar. De precieze stappen voor GTM staan in Consent Mode v2 instellen via GTM.

Stap 4: koppelen aan je cookiebanner

Je CMP moet de consent-status kennen en doorgeven. Gebeurt dat niet, dan blijft alles op denied staan en mis je metingen, of erger: er wordt gemeten zonder dat de bezoeker iets heeft gekozen.

Let op deze punten:

  • De banner stuurt een consent update bij accepteren, weigeren en bij het aanpassen van voorkeuren.
  • De status per categorie klopt met wat de banner belooft.
  • Bij een paginawissel blijft de keuze bewaard, bijvoorbeeld via een cookie of localStorage.

Een cookiebeleid-generator helpt bij de tekst, maar de technische koppeling moet je apart regelen.

Stap 5: testen of de signalen aankomen

Testen is geen sluitpost. Gebruik Tag Assistant om te zien welke tags vuren, en kijk in de developer tools welke netwerkverzoeken en cookies langskomen.

Test in ieder geval:

  • Zonder keuze: vuren er tags, en met welke consent-status?
  • Na accepteren: komt de update aan en verandert het gedrag?
  • Na weigeren: blijven de tags stil of sturen ze alleen cookieloze signalen?
  • Na het later aanpassen van de keuze: werkt de nieuwe status door?

Een uitgebreidere testaanpak staat in Consent Mode v2 testen.

Wat een tool wel en niet doet

CookieKompas regelt de banner, de consent-status en de koppeling met Google Consent Mode v2. Wat het niet doet: bepalen welke cookies jouw site precies plaatst, of jouw verwerking juridisch klopt. Dat blijft mensenwerk.

Voor de technische basis betaal je 9,95 euro per website per maand, exclusief btw. Werk je voor meerdere klanten, dan is er een aparte opzet via for agencies. Wil je eerst zien wat er op je site speelt, dan kun je een scan doen. De tarieven staan op pricing.

Veelgestelde vragen

Wat is het verschil tussen basic en advanced consent mode bij de implementatie?
Bij basic consent mode laadt je de Google-tags pas zodra een bezoeker toestemming geeft. Bij advanced consent mode laden de tags altijd, maar sturen ze zonder toestemming alleen cookieloze signalen. Advanced geeft Google meer data, basic is eenvoudiger te doorgronden.
Moet ik Consent Mode v2 via gtag of via Google Tag Manager implementeren?
Beide kan. Via gtag plaats je de consent-opdrachten direct in de code van je site, via GTM regel je het met een consent-overzicht en tag-triggers. GTM is vaak overzichtelijker als je al met containers werkt.
Waar moet het consent default-blok staan in de HTML?
Het consent default-blok hoort zo vroeg mogelijk in de head te staan, vóór de Google-tags zelf. Zo weet Google bij het laden al wat de standaardstatus is en worden er geen cookies geplaatst voordat de bezoeker iets kiest.
Hoe test ik of mijn Consent Mode v2-implementatie werkt?
Gebruik Tag Assistant en de consent-weergave in Google Analytics, en check in de developer tools welke cookies en netwerkverzoeken langskomen. Test zowel de situatie zonder keuze als met accepteren en met weigeren.

Klaar om Consent Mode v2 correct in te stellen?

Maak een account en wees binnen 10 minuten live via Google Tag Manager.

Start nu
Google Consent Mode v2 implementatie: zo werkt het stap voor stap