Inhoudsopgave

Adblockers blokkeren niet alleen tracking: ze blokkeren ook banners met cookietoestemming

Ad blocker block consent banners too. The TAGGRS Enhanced tracking script makes your tracking resilient to the ad blockers. Even the most advanced ones.

Adblokkers kunnen voorkomen dat CMP-scripts helemaal worden geladen. Wanneer een Consent Management Platform (CMP) wordt geblokkeerd, verschijnt de toestemmingsbanner niet en wordt de toestemmingsstatus van de gebruiker nooit geregistreerd, en tags die afhankelijk zijn van Consent Mode V2 vuren in een ongedefinieerde status. Dit creëert zowel een GDPR nalevingsgat als een meetgat.

Dit artikel behandelt wat er technisch gebeurt, wat GDPR handhavingsinstanties vereisen en hoe server-side GTM met first-party CMP hosting de kwetsbaarheid wegneemt.

De reeks begint met het CMP-script. De meeste CMP's (zoals Cookiebot, OneTrust of Quantcast) leveren dat script vanuit een CDN van een derde partij. Elke aanbieder gebruikt CDN domeinen die algemeen bekend zijn, consistent in duizenden implementaties en bijgewerkt volgens voorspelbare schema's.

Die consistentie maakt ze doelgericht. Filterlijsten werken door verzoekbestemmingen te vergelijken met bekende domeinen. Een CDN-domein dat voorkomt op duizenden sites is precies het soort stabiele patroon waar filterlijstbeheerders naar zoeken. EasyPrivacy, de privacyfilters van uBlock Origin en verschillende browser-native blockers bevatten al veel voorkomende CMP CDN domeinen.

Wanneer een bezoeker met een van deze blokkers actief op een pagina terechtkomt, vraagt de browser om het CMP-script. De blocker onderschept het. Het script wordt nooit geladen. De pagina wordt weergegeven zonder toestemmingsbanner.

De bezoeker ziet de pagina normaal. Er lijkt niets kapot te zijn. Aan de kant van de site is er geen toestemmingsstatus vastgelegd voor die sessie.

Wat er vervolgens gebeurt hangt af van hoe de tag-instelling omgaat met een afwezig toestemmingssignaal:

  • Tags die zijn geconfigureerd met Consent Mode V2 wachten op een signaal dat nooit aankomt.
  • Tags met fallback-defaults werken op wat die defaults ook waren ingesteld.
  • Tags zonder expliciete toestemmingsconfiguratie kunnen schieten zonder rechtmatige grondslag.

In alle drie de gevallen kreeg de gebruiker nooit een banner te zien. Er is geen verslag van een beslissing.

Google's Consent Mode V2 regelt tag-gedrag door middel van signaalstatussen per categorie:

analytics_storage, ad_storage en ad_personalization. Elke categorie wordt ingesteld op toegestaan of geweigerd. Tags luisteren naar het relevante signaal voordat ze actie ondernemen.

Als de CMP geblokkeerd is, gaat er geen signaal af. De tag ontvangt geen geweigerd en wacht. Hij ontvangt geen granted en firet niet. Hij valt terug naar zijn standaard status, een configuratie die in de GTM container staat, meestal in een tag sjabloon of een initialisatie blok.

Sommige instellingen slaan expliciete standaardinstellingen helemaal over. De aanname is dat de CMP snel laadt en een signaal afvuurt voordat een tag iets doet. Die aanname werkt wanneer de CMP laadt.

Platformgedrag in het ongedefinieerde geval is vaak niet wat teams verwachten:

  • GA4: een ongedefinieerde toestand kan modelsignalen doorlaten.
  • Advertentietags: gedeeltelijk afvuren in een ongedefinieerde staat kan een event registreren dat attributie voedt.
  • Sommige tag sjablonen: de afwezigheid van een expliciete ontkenning wordt behandeld als verleend.

Het resultaat zijn meetgegevens die niet kunnen worden toegewezen aan een geverifieerd toestemmingsdossier.

Waarom dit een GDPR-nalevingsprobleem is, niet alleen een UX-probleem

Artikel 7 van de GDPR legt de bewijslast bij de verwerkingsverantwoordelijke. Toestemming moet vrij gegeven, specifiek, geïnformeerd en ondubbelzinnig zijn. Wanneer dit wordt aangevochten, moet de verwerkingsverantwoordelijke kunnen aantonen dat er toestemming is gegeven, met documentatie, voor die sessie.

Bij een geblokkeerde CMP heeft de verwerkingsverantwoordelijke geen bewijs: geen registratie van de bannerweergave, geen registratie van de reactie van de gebruiker. Drie handhavingsinstanties in de EU hebben dit direct aangepakt:

  1. De Nederlandse DPA (Autoriteit Persoonsgegevens) heeft verklaard dat tracking zonder een geldige toestemmingsregistratie GDPR schendt, ongeacht de oorzaak van het falen van het toestemmingsmechanisme. Technische storingen in de toestemmingsstroom nemen de verantwoordelijkheid niet weg van de verwerkingsverantwoordelijke. (Bron: autoriteitpersoonsgegevens.nl)
  2. De Franse CNIL heeft richtlijnen gepubliceerd dat toestemming moet worden gevraagd voordat er persoonlijke gegevens worden verwerkt en dat organisaties er verantwoordelijk voor zijn dat hun toestemmingsmechanismen ook echt werken. Tags die worden afgevuurd in een ongedefinieerde terugvalstatus vallen buiten die standaard. (Bron: cnil.fr)
  3. De Duitse DSK (Datenschutzkonferenz) heeft aangescherpt dat toestemmingsafhankelijke verwerking verifieerbaar en reproduceerbaar moet zijn. Sessies die doorgaan zonder een toestemmingsregistratie voldoen niet aan die eis. (Bron: datenschutzkonferenz-online.de)

Alle drie de instanties hebben de betrouwbaarheid van de toestemmingsstroom genoemd in actieve handhavingszaken.

De enige manier om naleving te garanderen is door standaard niets te versturen. Het is een gouden pad op de markt van tracking en analytics, maar in combinatie met adblockers kan het echte schade toebrengen aan je gegevens.

Het gegevensverlies en voor wie het eigenlijk gevolgen heeft

Het volgzame pad heeft echte kosten. Sessies waarbij de CMP werd geblokkeerd, genereren geen attributiegegevens, geen conversiesignalen voor advertentieplatforms en geen GA4 events.

De schaal hangt af van het publiek. Ongeveer 30% van de internetgebruikers wereldwijd gebruikt een of andere vorm van advertentieblokkering (GWI, 2025). Voor technische doelgroepen (ontwikkelaars, marketeers, analytics professionals) ligt dit aandeel hoger.

De meeste van deze gebruikers blokkeren metingen niet opzettelijk. GWI's onderzoek uit 2025 laat zien dat slechts 26,6% van de ad blocker gebruikers wereldwijd "het stoppen van gegevensverzameling" noemt als reden om er een te gebruiken. De meerderheid (63,5%) zegt dat er te veel advertenties zijn. Nog eens 53,5% zegt dat advertenties het browsen hinderen, volgens Backlinko, 2025.

Dat onderscheid is belangrijk. De meeste gebruikers die een advertentieblokker hebben geïnstalleerd, kiezen er niet voor om analytics uit te schakelen. Ze willen minder advertenties en een snellere pagina. Als een toestemmingsbanner hen bereikt, zullen velen die accepteren en hun gegevens stromen met een wettelijke basis.

De sessies die donker blijven zijn die waarbij de banner nooit is verschenen, niet omdat de gebruiker weigerde, maar omdat het toestemmingsmechanisme stilletjes faalde.

Het repareren van CMP-aflevering herstelt die sessies.

De kern van het probleem is waar het CMP script wordt gehost. Een CDN van een derde partij heeft een vast, bekend domein. Dat domein verschijnt in filterlijsten. Elke CMP die wordt geleverd door een bekend CDN is een stabiel doelwit.

Door het CMP-script op een subdomein van de eerste partij te hosten, verandert dat. Het subdomein hoort bij de site. Het komt niet voor in algemene filterlijsten die gericht zijn op CMP aanbieders. Een blokkeerder kan er niet tegen optreden zonder ook de assets van de site zelf te blokkeren, wat de meeste filterlijsten juist vermijden.

Als de browser het CMP-script opvraagt vanaf een domein dat de site beheert, wordt het script geladen. De banner wordt weergegeven. De gebruiker ziet de prompt en er gaat een toestemmingssignaal uit voordat er tags zijn afgevuurd.

Dit is hetzelfde infrastructuurprincipe dat wordt beschreven in het artikel Waarom server-side tracking nog steeds gegevens kan verliezen (en hoe het Enhanced Tracking Script dit oplost). Daar werd door het verplaatsen van het trackingverzoek naar een eindpunt van de eerste partij voorkomen dat blokkers het konden vergelijken met bekende analytics CDN-patronen. Toegepast op de toestemmingslaag beschermt dezelfde server-side opstelling een ander stuk: het CMP bereikt de browser in plaats van te worden onderschept voordat de banner kan verschijnen.

Server-side GTM kan CMP-levering afhandelen als onderdeel van een bredere first-party setup. Als het CMP-script wordt geserveerd vanuit hetzelfde subdomein als de servercontainer, bereikt het toestemmingssignaal de container voordat er meet- of reclametags worden afgevuurd.

Het TAGGRS dashboard kan helpen controleren of dit werkt. Controleer onder server-side analytics of tags met toestemming worden geactiveerd in sessies zonder geregistreerde CMP-aanvraag. Dat patroon, events actief maar geen CMP-oproep zichtbaar, betekent dat de toestemmingsbanner een deel van het publiek niet bereikt.

1. Host het CMP-script op een subdomein van de eerste partij. Verwijder het vaste CDN-domein uit de vergelijking. Filterlijsten kunnen niet stilzwijgend een subdomein blokkeren dat de site beheert.

2. Stel expliciete Consent Mode V2 standaard in voor alle regio's. Elke tag in de container moet een gedefinieerd gedrag hebben voor het geval er geen toestemmingssignaal is afgegaan. Geen enkele tag mag werken in een ongedefinieerde terugvalstatus.

3. Vuur eerst de toestemmingsbanner-tags af in de GTM-container. Configureer het toestemmingsinitialisatieblok zodanig dat het wordt uitgevoerd vóór elke meting of reclametag. Het signaal moet bestaan voordat er iets mee gebeurt.

4. Controleer dit via het TAGGRS dashboard. Controleer of tags met toestemming niet worden afgevuurd in sessies waarin geen CMP-verzoek is geregistreerd. Vang hiaten op voordat ze in een audit verschijnen.

5. Documenteer de toestemmingsarchitectuur. Leg de CMP-provider, het hostingpad en de expliciete standaardtoestanden voor elke regio en tagcategorie vast. Wanneer een toezichthouder om bewijs vraagt, is documentatie het eerste wat een controller produceert.

FAQ

Kunnen adblokkers alle CMP blokkeren of alleen specifieke platforms?

Elke CMP die zijn script levert vanaf een CDN van een derde partij is blootgesteld. Standaardinstallaties van Cookiebot, OneTrust en Quantcast laden allemaal het script van de eigen infrastructuur van de provider. CMP's die first-party hosting ondersteunen als configuratieoptie worden niet inherent beïnvloed, maar de functie moet actief worden ingeschakeld.

Het duidelijkste signaal is een mismatch tussen het verzoekvolume aan de server-side en de CMP-toestemmingslogboekvermeldingen. Als de server verzoeken ontvangt in sessies waar geen toestemmingssignaal verschijnt in de CMP records, dan is de banner waarschijnlijk niet geladen voor die gebruikers. Het TAGGRS dashboard maakt dit zichtbaar via verzoekcategorieën. Je kunt ook direct testen door een gemeenschappelijke filterlijst in een browser in te schakelen en te controleren of je eigen toestemmingsbanner wordt weergegeven.

Het handelt het gedrag van tags correct af, maar lost het hoofdprobleem niet op. Het instellen van defaults op denied betekent dat tags niet vuren in de ongedefinieerde status, wat de juiste configuratie is. Wat het niet kan doen is gebruikers een banner tonen die ze nooit hebben gekregen. Een toezichthouder die vraagt om bewijs van toestemming voor een specifieke sessie, zal dat niet vinden. De standaardinstellingen richten zich op naleving op de tag-laag. First-party CMP hosting richt zich op naleving van de toestemmingsverzamelingslaag.

Het Enhanced Tracking Script beschermt het trackingverzoek nadat toestemming is verzameld. Het voorkomt dat advertentieblokkers de browser-to-server event onderscheppen voordat deze de servercontainer bereikt. Een geblokkeerde toestemmingsbanner is een stap eerder: de gebruiker heeft nooit een prompt te zien gekregen, er is nooit een toestemmingssignaal geregistreerd en alle tags die zijn afgevuurd deden dat zonder wettelijke basis. De twee problemen hebben dezelfde infrastructurele oplossing (levering aan de eerste partij), maar bevinden zich op verschillende punten in de gegevensstroom. Het Enhanced Tracking Script van TAGGRS is een perfect hulpmiddel om de CMP te verbergen voor adblockers en op de juiste manier een cookiebanner te laden via de GTM-container op de server.

Over de auteur

Recent gepubliceerd

magnifiercrossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram