Cookiebanner op WordPress zonder plugin: zo doe je het
4 min leestijd · 24-8-2026
Kort antwoord: je hebt geen plugin nodig. Een cookiebanner op WordPress is één script in de <head> van je site, of één tag in Google Tag Manager. De plugin-route is alleen makkelijker als je liever helemaal niet in je thema of in GTM werkt — technisch voegt hij niets toe wat je met een script-tag niet ook krijgt.
Waarom mensen naar een plugin grijpen
Bij WordPress is de reflex: probleem → plugin. Voor een cookiebanner is dat vaak juist onhandig. Elke extra plugin is code die meelaadt op elke pagina, die je moet bijwerken en die kan botsen met je cache- of pagebuilder-plugin. En de meeste cookieplugins doen precies één ding: een script inladen dat ook rechtstreeks in je header kan.
Er is één praktisch voordeel: een plugin overleeft een thema-wissel. Dat is op te lossen zonder plugin, en daar komen we zo op.
Route 1: via Google Tag Manager (aanbevolen)
Gebruik je al GTM voor Google Analytics of Google Ads, dan is dit de beste plek. Je zet de banner als tag in dezelfde container waar je meetscripts staan, waardoor toestemming en tags niet uit elkaar kunnen lopen.
- Importeer de tagtemplate van je consentoplossing in GTM.
- Zet de tag op trigger Consent Initialization – All Pages, zodat de standaardinstellingen vóór je meettags landen.
- Publiceer de container en controleer in de preview-modus of de banner verschijnt.
Het grote voordeel: je raakt je thema nooit aan, en een thema-update kan er niets aan stukmaken. Zie ook de installatiehandleidingen voor de exacte stappen.
Route 2: één script-tag in de header
Geen GTM? Dan volstaat één regel in de <head>. Zet 'm niet rechtstreeks in header.php van je actieve thema — dat verdwijnt bij de eerstvolgende update. Gebruik in plaats daarvan:
- een child theme met een eigen
functions.php; - of een snippet-plugin die code in de header injecteert;
- of het header-veld dat veel thema's en pagebuilders al ingebouwd hebben (vaak onder "Custom code" of "Head scripts").
In functions.php van je child theme ziet dat er zo uit:
add_action('wp_head', function () { echo '<script src="https://cookiekompas.nl/consent.js"></script>'; }, 1);
De prioriteit 1 is belangrijk: het script moet vóór je analytics- en advertentietags staan, anders vuren die al voordat iemand iets heeft gekozen.
Consent Mode v2 vergeten is de dure fout
Een banner die er alleen maar staat, doet niets voor je metingen. Google verwacht sinds 2024 dat je via Consent Mode v2 doorgeeft of iemand toestemming gaf voor advertenties en analytics. Ontbreekt dat signaal, dan verlies je conversiedata in Google Ads en werkt remarketing in de EER niet meer zoals je gewend was.
Zorg dus dat je banner niet alleen zichtbaar is, maar ook de vier consent-signalen zet (ad_storage, ad_user_data, ad_personalization, analytics_storage). Meer daarover in wat Consent Mode v2 precies is.
Trackers écht blokkeren, niet alleen verbergen
Een banner is geen blokkade. Zonder extra stap laden je Meta Pixel, Hotjar of embedded YouTube-video's gewoon door terwijl de bezoeker nog niets heeft aangeklikt — precies waar toezichthouders op letten.
- Met GTM: koppel elke niet-Google-tag aan de consent-instellingen van de container, zodat hij pas vuurt na toestemming.
- Zonder GTM: tag de scripts in je thema zodat de loader ze tegenhoudt tot iemand kiest. Dat is een kwestie van het
type- ofdata-attribuut aanpassen op de scripts die je wilt blokkeren.
Werkt dit ook met caching en pagebuilders?
Ja. De banner laadt aan de browserkant, dus WP Rocket, LiteSpeed of een CDN veranderen daar niets aan. Twee dingen om op te letten:
- Sluit het consent-script uit van JavaScript-uitstel (defer/delay). Wordt het uitgesteld, dan verschijnt de banner pas ná je trackers.
- Leeg je cache na installatie, anders zie je zelf een oude pagina zonder banner en denk je dat het niet werkt.
Controleren of het klopt
Doe na installatie deze drie checks:
- Open je site in een incognitovenster — verschijnt de banner?
- Kijk in de netwerk-tab of je pixels pas ná je keuze laden.
- Controleer in GTM-preview of de consent-standaardwaarden op
deniedstaan vóór de keuze.
Liever geautomatiseerd: met de gratis check zie je in een paar seconden of je banner en Consent Mode v2 goed staan, zonder account.
Kort samengevat
Een plugin is een gemaksoplossing, geen vereiste. Via GTM of één script in de header sta je even snel live, met minder onderhoud en zonder extra ballast op elke pagina. Doe het wel compleet: banner, Consent Mode v2 én de blokkade van niet-noodzakelijke scripts. Twee van de drie is precies de situatie waarin je denkt dat het geregeld is, terwijl het dat niet is.
Veelgestelde vragen
- Heb ik een plugin nodig voor een cookiebanner in WordPress?
- Nee. Eén script-tag in de header of een tag in Google Tag Manager is genoeg. Een plugin is handig als je liever niets in je thema aanraakt, maar hij is geen voorwaarde.
- Wat gebeurt er bij een thema-update?
- Zet je het script rechtstreeks in header.php, dan verdwijnt het bij een thema-update. Gebruik een child theme, een code-snippet-plugin of Google Tag Manager, dan blijft het staan.
- Blokkeert een script-tag ook mijn trackers?
- Alleen als je die trackers ook echt aan toestemming koppelt. Via GTM regel je dat met consent-instellingen; zonder GTM tag je de scripts zodat de loader ze tegenhoudt tot iemand kiest.
Klaar om Consent Mode v2 correct in te stellen?
Maak een account en wees binnen 10 minuten live via Google Tag Manager.
Start nu