Automatische scriptblokkering: hoe pre-consentblokkering werkt
Automatische scriptblokkering (ook wel pre-consentblokkering of auto-blocking genoemd) voorkomt dat niet-essentiële scripts worden uitgevoerd voordat de gebruiker toestemming heeft gegeven. Dit is een wettelijke verplichting op grond van artikel 5, lid 3, van de ePrivacy Directive: er mogen geen cookies of trackingtechnologieën op het apparaat van een gebruiker worden geplaatst zonder voorafgaande geïnformeerde toestemming, tenzij ze strikt noodzakelijk zijn voor de dienst die de gebruiker heeft aangevraagd.
Zonder automatische blokkering plaatst een website die Google Analytics, Facebook Pixel of een ander marketingscript van derden laadt cookies en verzamelt gegevens voordat de gebruiker de kans heeft gehad een toestemmingskeuze te maken. Dit is een schending van de regelgeving, ongeacht of er een consentbanner wordt weergegeven.
Waarom handmatig scripts taggen niet volstaat
De traditionele aanpak van het laden van scripts op basis van toestemming vereist dat ontwikkelaars elk script op de site handmatig taggen. Elk script moet worden aangepast zodat het niet standaard laadt en vervolgens voorwaardelijk wordt geactiveerd wanneer de gebruiker toestemming geeft voor de betreffende categorie. Doorgaans houdt dit in dat type="text/javascript" wordt gewijzigd in type="text/plain" en dat er een data-attribuut wordt toegevoegd dat de toestemmingscategorie aangeeft.
Deze aanpak kent serieuze problemen:
- Elk nieuw script dat aan de site wordt toegevoegd, moet handmatig worden getagd. Als een marketingteam een nieuwe trackingpixel toevoegt via een tag manager, wordt deze zonder toestemming geactiveerd, tenzij iemand eraan denkt de blokkeerregel te configureren.
- Scripts van derden laden vaak dynamisch extra scripts. Het blokkeren van het bovenliggende script blokkeert niet automatisch de onderliggende scripts die het zou hebben geladen.
- Inline scripts die in de HTML van de pagina zijn ingebed, kunnen niet eenvoudig worden onderschept.
- De aanpak is kwetsbaar. Eén enkel gemist script betekent al niet-conforme gegevensverzameling.
Hoe automatische blokkering werkt
Een consent management platform met automatische blokkering hanteert een andere aanpak. In plaats van dat ontwikkelaars individuele scripts moeten taggen, onderschept het CMP het laden van alle scripts op browserniveau en blokkeert het alles wat niet strikt noodzakelijk is.
Het proces verloopt als volgt:
- Het CMP wordt geladen als het eerste script in het
<head>-gedeelte van de pagina, vóór alle andere scripts. - Het onderschept de mechanismen waarmee de browser scripts laadt, waaronder
document.createElement('script'), het uitvoeren van inline scripts en dynamisch geïnjecteerde scripts. - Elk script wordt gecontroleerd aan de hand van een classificatiedatabase. Scripts van bekende analytics-, advertentie- en socialmediadomeinen worden geïdentificeerd en gecategoriseerd.
- Scripts die als niet-essentieel worden geclassificeerd, worden in een wachtrij gezet. Ze worden niet uitgevoerd, plaatsen geen cookies en doen geen netwerkverzoeken.
- Wanneer de gebruiker toestemming geeft voor een specifieke categorie, worden de scripts in die categorie uit de wachtrij vrijgegeven en normaal uitgevoerd.
- Als de gebruiker een categorie weigert, blijven de scripts in die categorie geblokkeerd voor de duur van de sessie.
Wat wordt geblokkeerd
Automatische blokkering deelt scripts doorgaans in vier categorieën in die aansluiten bij de standaard cookieconsentcategorieën:
| Categorie | Voorbeelden | Geblokkeerd vóór toestemming |
|---|---|---|
| Strikt noodzakelijk | Betalingsverwerkers, authenticatie, sessiebeheer, het CMP zelf | Nee (altijd toegestaan) |
| Analytics | Google Analytics, Hotjar, Matomo, Plausible | Ja |
| Marketing | Google Ads, Facebook Pixel, LinkedIn Insight, TikTok Pixel | Ja |
| Voorkeuren | Taalvoorkeuren, UI-aanpassingen, A/B-testtools | Ja |
Het timingprobleem
Om automatische blokkering correct te laten werken, moet het CMP het allereerste script zijn dat op de pagina laadt. Als er een niet-essentieel script vóór het CMP laadt, wordt dit zonder toestemming uitgevoerd. Daarom mag de scripttag van het CMP geen defer- of async-attributen gebruiken en moet deze vóór elk ander script in het <head>-gedeelte staan.
Dit is dezelfde architectuur die elk conform CMP hanteert: Cookiebot, OneTrust, CookieYes en Passiro vereisen allemaal synchroon laden als het eerste script in de head van het document.
Interactie met Google Consent Mode
Automatische scriptblokkering werkt samen met Google Consent Mode v2. Terwijl Consent Mode het gedrag van Google's eigen tags aanpast wanneer toestemming wordt geweigerd (door over te schakelen op cookieloze meting), voorkomt automatische blokkering dat niet-essentiële scripts überhaupt worden uitgevoerd.
De twee mechanismen vullen elkaar aan: Consent Mode gaat soepel om met Google-tags (waardoor gemodelleerde conversies mogelijk blijven), terwijl auto-blocking al het overige afhandelt (pixels van derden, social widgets, advertentiescripts van niet-Google-leveranciers).
Automatische blokkering en Passiro
Passiro biedt automatische scriptblokkering in zijn gratis consent-widget. Wanneer het Passiro-script laadt, identificeert en blokkeert het niet-essentiële scripts voordat ze kunnen worden uitgevoerd. Handmatig scripts taggen is niet nodig.
De classificatiedatabase is gebaseerd op de EasyPrivacy community-blocklist (GPL-3.0), die ~4.900 tracker-, analytics- en advertentiedomeinen omvat en dagelijks wordt ververst. Dit is aanzienlijk groter dan de eigen samengestelde lijsten die de meeste commerciële CMP's gebruiken — Cookiebot, OneTrust en anderen vertrouwen doorgaans op databases die een orde van grootte kleiner zijn.
In combinatie met IAB TCF v2.3 en Google Consent Mode v2 zorgt automatische blokkering ervoor dat er geen gegevens worden verzameld voordat toestemming is verleend, waarmee wordt voldaan aan de vereisten van ePrivacy artikel 5, lid 3, en GDPR artikel 6.
Voldoet uw website aan de cookieregels?
Scan uw website gratis en vind alle cookies binnen enkele minuten.
Scan uw cookies gratis