> For the complete documentation index, see [llms.txt](https://docs.adpage.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adpage.io/documentation/documentation-nl/optimaliseer-je-setup/consentbeheer.md).

# Consentbeheer

Toestemmingsbeheer maakt technisch gezien geen deel uit van je server-side tagging-configuratie, maar het heeft er wel veel invloed op. Je trackingopzet en je toestemmingsbeheer zijn nu eenmaal met elkaar verweven, of je dat nu wilt of niet. Sinds de GDPR-uitspraak heeft elke website en webshop een Consent Management Platform nodig dat de keuze van bezoekers in je cookiebanner correct verwerkt. Je trackingopzet moet die keuzes vervolgens respecteren. Naast de GDPR heeft Google ook eigen vereisten. Als je hun advertentie- en meetproducten in Europa wilt blijven gebruiken, moet je de juiste toestemmingssignalen voor Consent Mode v2 verzenden.

### Wat is Consent Mode v2?

Consent Mode v2 is Googles framework om het gedrag van tags aan te passen op basis van de cookiekeuzes van een bezoeker, zonder dat je elke Google-tag handmatig volledig hoeft te blokkeren. In plaats van een alles-of-niets-schakelaar geeft je CMP vier toestemmingssignalen door aan de Google-tag:

| Signaal              | Bepaalt                                                                             |
| -------------------- | ----------------------------------------------------------------------------------- |
| `analytics_storage`  | Of meetgegevens (bijv. GA4) mogen worden opgeslagen                                 |
| `ad_storage`         | Of advertentiecookies/-identificatoren mogen worden opgeslagen                      |
| `ad_user_data`       | Of gebruikersgegevens naar Google mogen worden verzonden voor advertentiedoeleinden |
| `ad_personalization` | Of de bezoeker mag worden gebruikt voor gepersonaliseerde/remarketingadvertenties   |

{% hint style="info" %}
Consent Mode v2 regelt alleen **Google's eigen tags** (Google Tag, GA4, Google Ads, Floodlight). Elk ander platform (Meta, Pinterest, LinkedIn, TikTok, enz.) moet apart worden afgeschermd; dat wordt hieronder in stap 2 behandeld.
{% endhint %}

**Basic versus Advanced-modus**

* **Basic-modus** \
  Als een bezoeker toestemming weigert, worden de relevante Google-tags simpelweg helemaal niet geladen. Er bereikt dan geen data Google voor die categorie. Hiervoor moet je op de server blokkerende triggers toevoegen, zodat de tag niet kan afgaan zonder toestemming.
* **Advanced-modus** \
  De tags van Google laden in beide gevallen, ongeacht de keuze van de bezoeker in je cookiebanner. Het verschil zit in welke data er daadwerkelijk de deur uitgaat. Als toestemming wordt geweigerd, wordt uit het verzoek alles verwijderd waarmee de persoon geïdentificeerd zou kunnen worden, en gaat het als een gewone, cookieloze ping naar buiten. Google vult vervolgens de ontbrekende gegevens aan met modelberekening, waarbij het in feite een onderbouwde schatting maakt van het verkeer dat het niet goed kon meten.

In Advanced-modus wordt aan uitgaande verzoeken een extra parameter toegevoegd die aangeeft waarvoor wel en niet toestemming is gegeven:

| Code | Marketingtoestemming | Analysetoestemming |
| ---- | -------------------- | ------------------ |
| G100 | Nee                  | Nee                |
| G101 | Nee                  | Ja                 |
| G110 | Ja                   | Nee                |
| G111 | Ja                   | Ja                 |

De meeste configuraties zouden standaard moeten kiezen voor **Advanced-modus** tenzij er een specifieke compliance-redenen zijn om Google-tags hard te blokkeren, blijft dan veel meer bruikbare data behouden terwijl je nog steeds de keuze van de bezoeker respecteert.

### Stap 1: Configureer Consent Mode v2 in web GTM

{% stepper %}
{% step %}

#### Laad je CMP via de Consent Initialization-trigger

Je CMP (Cookiebot, Consent Studio, enz.) moet worden geladen vóór al het andere op de pagina. GTM heeft hiervoor een speciale **Consent Initialization** trigger, die precies hiervoor is gereserveerd; deze vuurt vóór elke andere tag af, zodat niets anders kan worden geactiveerd totdat er een toestemmingsstatus bestaat.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2F7UUILSdf6T4vyvCAxmBP%2Fimage.png?alt=media&amp;token=172b64f0-ff36-42a0-a73a-e735c32a3a89" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Stel de standaard toestemmingsstatus in

Voordat een bezoeker een keuze maakt, moeten alle vier de signalen (ad\_storage, ad\_user\_data, ad\_personalization, analytics\_storage) standaard op "geweigerd" staan. Stel dit in als de standaardstatus in je Google-tag / toestemmingsinstellingen.
{% endstep %}

{% step %}

#### Schakel Consent Overview in in GTM Web

Schakel de Consent Overview-instellingen in je webcontainer in. Hiermee kun je per tag specifieke toestemmingssignalen vereisen in plaats van te vertrouwen op één globale schakelaar.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FYzPcbOri5ti2RMlwGPaW%2Fimage.png?alt=media&amp;token=12407103-d4e3-4b24-a72b-280bb12c7d55" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Wijs toestemmingsvereisten toe aan elke Google-tag

Voor tags zonder ingebouwde toestemmingscontrole geef je aan welk toestemmingssignaal vereist is. De Google Tag, GA4-eventtags, Conversion Linker en Google Ads-conversietags hebben al ingebouwde toestemmingscontrole, dus die hoeven niet handmatig te worden geconfigureerd; zij lezen de toestemmingsstatus automatisch.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2FnjAjKa7iPCaJOnw2D5aH%2Fimage.png?alt=media&amp;token=901ece80-7e85-4b63-a578-edc45284c441" alt=""><figcaption></figcaption></figure>

In de Consent Overview kun je tags in bulk selecteren om de Additional Consent te kiezen die nodig is om deze tags te laten afvuren.

<figure><img src="https://2136026570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FA65KwL1NwewlJbtCXsXd%2Fuploads%2Fu1YGy8UTAXiiBTuYBgyl%2Fimage.png?alt=media&amp;token=f85dde37-7999-4e2c-bd62-694dd2fa21a3" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Stap 2: Stuur toestemming door naar je servercontainer

Google-tags dragen hun toestemmingssignalen automatisch mee naar GTM Server als onderdeel van het verzoek. Voor die verzoeken hoef je niets extra's te bouwen. Elk ander platform (Meta, Pinterest, LinkedIn, TikTok, enz.) moet zijn toestemmingsstatus handmatig doorgegeven krijgen, omdat die tags Consent Mode v2 helemaal niet begrijpen.

{% stepper %}
{% step %}

#### Vind waar je CMP geaccepteerde vendors opslaat

De meeste CMP's slaan de lijst met vendors/categorieën die een bezoeker heeft geaccepteerd op, ofwel in een first-party cookie of als een dataLayer-variabele. Controleer de documentatie van je CMP om te bevestigen welke van toepassing is; de exacte cookienaam of variabelenaam verschilt per CMP.
{% endstep %}

{% step %}

#### Maak in GTM Web een variabele aan om dit uit te lezen

Voeg een First-Party Cookie-variabele toe (of een Data Layer-variabele, afhankelijk van je CMP) die de geaccepteerde vendors of categorieën vastlegt.
{% endstep %}

{% step %}

#### Voeg dit toe als parameter op je Google-tag

Voeg een extra eventparameter toe (bijvoorbeeld `consent_status`) aan je Google-tagconfiguratie, met de variabele uit de vorige stap als waarde. Dit draagt de toestemmingsinformatie van de browser over naar het verzoek dat naar je servercontainer wordt gestuurd.
{% endstep %}
{% endstepper %}

### Stap 3: Configureer server-side triggers op basis van toestemming

Zodra `consent_status` (of hoe je het ook hebt genoemd) in je GTM Server-container aankomt, heeft elke niet-Google-tag een triggerconditie nodig die dit controleert vóór het afvuren.

{% stepper %}
{% step %}

#### Maak een Event Data-variabele aan

Maak in GTM Server een variabele aan die de binnenkomende `consent_status` parameter uit de eventgegevens leest.
{% endstep %}

{% step %}

#### Voeg een toestemmingsconditie toe aan elke platformtag

Voeg voor elke platformtag (Meta CAPI, Pinterest CAPI, LinkedIn CAPI, enz.) een extra triggerconditie toe die controleert of de Event Data-variabele die platformidentifier bevat, bijvoorbeeld: de Meta-tag vuurt alleen als de waarde "facebook" bevat, de Pinterest-tag alleen als deze "pinterest" bevat.
{% endstep %}

{% step %}

#### Herhaal dit voor elk niet-Google-platform

Pas hetzelfde patroon toe op elke overgebleven server-side tag. Elke tag zonder toestemmingsconditie zal afgaan ongeacht de keuze van de bezoeker, dus controleer goed of niets onbeveiligd is gebleven.
{% endstep %}
{% endstepper %}

### Stap 4: Controleer of het daadwerkelijk werkt

{% stepper %}
{% step %}

#### Test het pad "weigeren"

Open je site in een incognitovenster terwijl GTM Web preview-modus actief is, en weiger alle cookies. Bevestig dat alleen de CMP-/Consent Initialization-tag afgaat; geen enkele Google- of platformtag zou nu al mogen worden geactiveerd.
{% endstep %}

{% step %}

#### Controleer het verzoek van de Google-tag in Basic-modus

Als je Basic-modus gebruikt, controleer dan in de GTM Server-preview dat de Google-tags worden geblokkeerd terwijl toestemming is geweigerd, en dat er voor dat bezoek geen verzoek bij Google Ads of GA4 aankomt.
{% endstep %}

{% step %}

#### Controleer de geanonimiseerde ping in Advanced-modus

Als je Advanced-modus gebruikt, controleer dan dat de Google-tag nog steeds afgaat, maar dat het uitgaande verzoek een `gcs` parameter bevat die overeenkomt met een geweigerde status (bijv. `G100`) en geen identificeerbare cookie-waarden bevat.
{% endstep %}

{% step %}

#### Test het pad "accepteren"

Accepteer alle cookies en laad de pagina opnieuw. Bevestig dat het toestemmingsupdate-evenement of de cookie van de CMP nu volledige toestemming weergeeft, en dat je Google-tags afgaan met de `gcs` parameter die overeenkomt met volledige toestemming (bijv. `G111`).
{% endstep %}

{% step %}

#### Controleer of toestemming de server bereikt voor niet-Google-tags

Inspecteer in GTM Server preview-modus een inkomend verzoek en controleer dat de `consent_status` parameter aanwezig is en de vendors bevat die de bezoeker heeft geaccepteerd.
{% endstep %}

{% step %}

#### Controleer of platformtags alleen afgaan wanneer toestemming is gegeven

Blijf in de Server-preview, accepteer slechts enkele categorieën (bijv. Meta accepteren maar Pinterest weigeren) en bevestig dat de Meta CAPI-tag afgaat terwijl de Pinterest CAPI-tag dat niet doet — en omgekeerd wanneer je de keuze omdraait.
{% endstep %}
{% endstepper %}

Als een van deze controles faalt, ga dan terug naar de bijbehorende stap. Meestal is het probleem een van twee dingen. Ofwel mist de Google-tag een toestemmingsparameter, ofwel heeft een van je platformtags op de server zijn triggerconditie nooit ingesteld gekregen.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.adpage.io/documentation/documentation-nl/optimaliseer-je-setup/consentbeheer.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
