Cookie Consent & Google Consent Mode v2. Cookie Consent toont een AVG-cookiebanner met gedetailleerde categorieën en koppelt Google Consent Mode v2. De module kan GA4, Google Tag Manager en de Meta (Facebook) Pixel pas laden nadat de bijbehorende toestemming is gegeven, bekende scripts van derden tot dan blokkeren, een cookieverklaring publiceren en een toestemmingsregister bijhouden dat u naar CSV kunt exporteren. Geen programmeerwerk, geen aanpassingen aan het thema.
Cookie Consent toont een AVG-cookiebanner met gedetailleerde categorieën en koppelt Google Consent Mode v2. De module kan GA4, Google Tag Manager en de Meta (Facebook) Pixel pas laden nadat de bijbehorende toestemming is gegeven, bekende scripts van derden tot dan blokkeren, een cookieverklaring publiceren en een toestemmingsregister bijhouden dat u naar CSV kunt exporteren. Geen programmeerwerk, geen aanpassingen aan het thema.
1. Installatie
- Ga in het back-office naar Modules → Module Manager → Upload a module en selecteer de ZIP van de module.
- Klik na de installatie op Configure om de installatiewizard te openen.
.local, .test, localhost) zijn altijd toegestaan. Zodra er een nieuwe versie beschikbaar is, wordt dit direct in de module getoond.Als u in plaats van de bevestiging de melding ‘Upload failed’ ziet, heeft PrestaShop de module mogelijk zonder bericht uitgeschakeld: uw instellingen en gegevens blijven behouden. Hoe u een module bijwerkt en wat u doet bij de melding ‘Upload failed’.
2. Configuratie: stap voor stap
Het scherm Configure heeft twee tabbladen: Settings (alles hieronder) en Consent register (het logboek voor verantwoording). Alle opties staan in één formulier op Settings, gegroepeerd in de hier beschreven secties.
Cookie consent settings
Open het tabblad Settings, vul de groepen in volgorde in en druk daarna onderaan op Save.
- General: Enable the cookie banner (hoofdschakelaar: bij uit geen banner, geen tags, geen blokkering), Banner position (Bottom bar of Centered modal), Block third-party scripts until consent (maakt bekende trackers onschadelijk: Analytics, GTM, Facebook, Hotjar, DoubleClick, YouTube en elk script met
type="text/plain" data-cookiecategory="..."), Show only to EU visitors (best effort), Consent lifetime (months) (1-24, standaard 6) en Policy version (verhoog dit om iedereen na een wijziging van het beleid opnieuw te vragen). - Categories: noodzakelijke cookies zijn altijd actief en kunnen niet worden uitgeschakeld. Schakel de optionele categorieën in die u gebruikt: Preferences, Statistics / Analytics en Marketing.
- Google & Meta tags: GA4 Measurement ID (
G-XXXXXXX, geladen via gtag.js, afhankelijk van Consent Mode v2 / Statistics), Google Tag Manager ID (GTM-XXXXXX, de standaardwaarde van Consent Mode wordt doorgegeven voordat GTM laadt) en Meta (Facebook) Pixel ID (numeriek, alleen geladen wanneer Marketing is toegestaan). - Appearance: Background color, Text color, Primary button color en Primary button text color (hexwaarden zoals
#222222). - Banner texts (per language): overschrijf per taal van de webwinkel de Title, de Body, de knop "Accept all", de knop "Reject all", de knop "Customise" en de knop "Save preferences". Laat een veld leeg om de ingebouwde tekst te behouden.
- Category descriptions (per language): de toelichting die in het voorkeurenpaneel onder Necessary, Preferences, Statistics en Marketing wordt getoond.
- Cookie declaration: de tabel per categorie die in het voorkeurenpaneel wordt weergegeven: kies een Category en voer de naam van de Cookie, het Domain, de Duration en het Purpose in. Laat de categorie leeg om een rij te verwijderen.
- Data: Drop data on uninstall. Laat dit uit: het toestemmingsregister is uw bewijs ter verantwoording, dus het blijft na het deïnstalleren bestaan tenzij u ervoor kiest het te verwijderen.




3. Controleer of het werkt
- Open uw webwinkel in een nieuw of incognitovenster: de banner moet bij het eerste bezoek verschijnen.
- Klik op Reject all en controleer daarna de paginabron of het tabblad Netwerk: GA4 en de Meta Pixel mogen niet laden.
- Klik bij een nieuw bezoek op Accept all en controleer dat de tags nu worden geactiveerd (verzoeken van gtag / GTM / Pixel verschijnen).
- Open het tabblad Consent register: uw keuzes moeten als nieuwe rijen zijn vastgelegd. Gebruik Export CSV om het logboek te downloaden.

4. FAQ
Ondersteunt het Google Consent Mode v2?
Ja. De standaardwaarde van Consent Mode (alles geweigerd) wordt doorgegeven voordat GTM/GA4 laadt, en de toestemming wordt bijgewerkt zodra de bezoeker kiest, waarbij Statistics en Marketing worden afgeschermd.
Blokkeert het scripts vóór toestemming?
Ja. Met Block third-party scripts until consent aan draaien bekende trackers en elk script met type="text/plain" data-cookiecategory="..." pas nadat de bijbehorende categorie is toegestaan.
Waar staat het toestemmingsregister en wat slaat het op?
Op het tabblad Consent register. Het is een logboek voor verantwoording (AVG art. 7 lid 1), zonder persoonsgegevens: de identiteit van de bezoeker is een gezouten hash en het IP-adres wordt geanonimiseerd. U kunt het filteren en naar CSV exporteren.
Moet ik mijn thema aanpassen?
Nee. De banner is zelfstandig en werkt via standaardhooks met elk thema.
5. De zes signalen van Consent Mode v2, en waarom de volgorde telt
Een cookiebanner en Consent Mode v2 bevinden zich op verschillende niveaus: de banner is de interface die de bezoeker om toestemming vraagt, Consent Mode is het protocol dat die toestemming doorgeeft aan de tags van Google, opgebouwd uit signalen met een vaste naam. Sinds versie 2 zijn er zes signalen: ad_storage en analytics_storage (al aanwezig in v1), plus ad_user_data en ad_personalization (toegevoegd met v2), en in de praktijk verwerkt vrijwel elke implementatie ook functionality_storage en personalization_storage voor de eigen voorkeuren van de site. Een zevende signaal, security_storage, blijft altijd toegestaan, omdat het technische beveiligingscookies dekt en geen tracking.
De meest voorkomende fout zit niet in de gekozen waarden maar in de volgorde: een Google-tag die laadt voordat de site een standaardwaarde voor toestemming heeft opgegeven, gedraagt zich alsof er helemaal geen toestemmingskader bestaat. De module geeft de geweigerde standaardwaarde op zodra het document begint te laden, met een respijtperiode van 500 milliseconden zodat een eerder opgeslagen keuze opnieuw kan worden gelezen, en pas nadat de standaardwaarde is opgegeven (of de update, als de bezoeker bij een eerder bezoek al heeft gekozen) laadt ze GTM, GA4 en elke pixel van derden.
Het blokkeren van scripts van derden (zie sectie 2) werkt door de DOM te volgen terwijl de pagina wordt opgebouwd en een script of iframe te herkennen aan de hand van een lijst met domeinpatronen (bijvoorbeeld google-analytics.com, facebook.net, doubleclick.net), en het te vervangen door een inactieve placeholder totdat de categorie is geaccepteerd: zonder deze laag dekt een geweigerde standaardwaarde alleen tags die de site zelf heeft geschreven, niet tags die in modules van derden zijn meegeleverd.
Een echt geval: een correcte standaardwaarde, een banner die niemand kon lezen
In onze eigen webwinkel troffen we op 14 september 2026 een leerzaam gebrek aan: het mechanisme van Consent Mode zelf was correct, maar de tekst van de banner (titel, hoofdtekst, knoppen, namen van categorieën) verscheen in het Engels voor iedereen die de Franse, Spaanse of Duitse versie van de site bezocht, omdat de tekst rechtstreeks in de code van de module stond, in een array die slechts twee talen dekte. Opgelost door de drie ontbrekende taalblokken toe te voegen (elk 17 teksten, met echte letters met accenten) in versie 1.0.9. Toestemming die wordt verzameld met een tekst die de bezoeker niet kan lezen, is zwakke toestemming: de AVG zelf vereist dat de informatie begrijpelijk is voor wie haar leest, en niet alleen technisch op de pagina aanwezig.
Een checklist om uw eigen configuratie te controleren
- In de paginabron van de homepage moet
gtag("consent","default",...)vóór elke GTM- of gtag.js-tag staan, niet erna. - Alle zes de signalen moeten in de standaardwaarde staan, niet alleen de van v1 geërfde
ad_storageenanalytics_storage: ontbrekendead_user_dataofad_personalizationis de meest voorkomende fout. - Controleer met de netwerktools van de browser dat een script zoals Google Analytics niet vóór toestemming wordt geactiveerd: nul netwerkverzoeken naar dat domein, en niet alleen een opgegeven maar genegeerd signaal.
- Wissel van taal in de webwinkel en bekijk de banner opnieuw: een tekst die maar half is vertaald komt even vaak voor als hij onzichtbaar is voor wie hem heeft gepubliceerd.
