> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pandectes.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Controleren of Google Consent Mode correct is geïmplementeerd

**Zorg ervoor dat Google Consent Mode correct is geïmplementeerd in je Shopify-winkel met onze handleiding. Leer hoe je je configuratie controleert en problemen oplost voor naleving en nauwkeurigheid.**

### Video tutorial

${youtube}[Check if you are Google Consent Mode V2 compliant - Shopify and Pandectes tutorial](2zg7dBeH71o)

### Introductie

Door onze applicatie te gebruiken met de Google Consent Mode-integratie ingeschakeld, kun je het gedrag van je Google-tags aanpassen op basis van de toestemming die je gebruikers wel of niet hebben gegeven. Je kunt aangeven of er toestemming is verleend voor Analytics- en/of Ads-cookies, en de tags van Google passen zich dynamisch aan door cookies alleen te gebruiken voor de aangewezen doeleinden of cookiecategorieën. Dit is een alternatief voor het blokkeren van scripts.

| Lees [hier](https://help.pandectes.io/nl/article/een-banner-maken-die-voldoet-aan-de-bannervereisten-van-google-legacy-versie-1q7qdrv/) hoe je een banner maakt die voldoet aan de bannervereisten van Google.

Google Consent Mode (GCM) is een eenvoudige en betrouwbare methode om te voorkomen dat Google-scripts cookies plaatsen via Google Tag Manager of gtag. Hoewel de implementatie eenvoudig is, kan het lastig zijn om te bevestigen of alles correct is ingesteld en goed werkt.

Het is belangrijk te vermelden dat alleen specifieke tags in Google Tag Manager vooraf geïnstalleerde toestemmingscontroles hebben. Deze staan in de volgende afbeelding.

![](https://storage.crisp.chat/users/helpdesk/website/1a5af239e847cf00/image_185jx11.png)

Wanneer Consent Mode is geactiveerd, wijzigt het de werking van de volgende soorten pings.

* Consent status pings - Consent status pings worden verstuurd vanaf elke pagina die de gebruiker bezoekt waar consent mode is geïmplementeerd, en ook wanneer de toestemming verandert (bijvoorbeeld als de gebruiker akkoord gaat). Deze pings geven de toestemmingsstatus door (d.w.z. granted of denied) voor elk toestemmingstype (bijv. ad storage, analytics storage).
* Conversion pings - Conversion pings worden verstuurd om aan te geven dat er een conversie heeft plaatsgevonden.
* Google Analytics pings - Google Analytics pings worden verstuurd op elke pagina van een website waar Google Analytics is geïmplementeerd en wanneer events worden geregistreerd.

Om de effectiviteit van Consent Mode te controleren, moet je drie aspecten onderzoeken:

* Ingebouwde toestemmingstags worden geactiveerd, ongeacht de toestemming.
* Google Tag Manager heeft de standaardinstellingen van Consent Mode geregistreerd, en bijgewerkte configuraties worden naar de dataLayer gestuurd wanneer toestemmingsvoorkeuren worden vastgesteld.
* Cookies worden niet aangemaakt vóór toestemming of na het weigeren.

Met deze controles kun je beoordelen of Google Consent Mode correct is geïmplementeerd en naar behoren werkt.

### Controleren met Google Tag Assistant

Je kunt de preview inspecteren om te bevestigen dat Consent is ingeschakeld en of je versie 2 gebruikt. Ga naar [Google Tag Assistant](https://tagassistant.google.com/) en voer het adres van je winkel in. Er opent een ander tabblad met je winkel. Op het vorige tabblad met Google Tag Assistant zie je wat in de onderstaande afbeelding wordt getoond.

1. Selecteer "Consent"
2. Selecteer het tabblad "Consent"
3. Controleer of de "On-page Defaults" zijn ingesteld en of ze de twee nieuwe parameters bevatten: `ad_personalization` en `ad_user_data`.

![](https://storage.crisp.chat/users/helpdesk/website/1a5af239e847cf00/image_wo8xmu.png)

### Controleren of tags worden geactiveerd

Je kunt deze controle uitvoeren met de dev tools van je browser in de console.

```javascript
"Pandectes" in window
  ? Pandectes.consent.status && Pandectes.fn.revokeConsent()
  : console.warn("Pandectes methods are not available!");
```

Onze volgende stap is controleren of tags vóór het verkrijgen van toestemming zijn geactiveerd, met behulp van de browserplug-in Google Tag Assistant. Hiermee bevestig je of de goedgekeurde tags zijn uitgevoerd. In dit geval kunnen we bevestigen dat zowel Google Tag Manager als Google Analytics zijn geladen.

![](https://storage.crisp.chat/users/helpdesk/website/1a5af239e847cf00/image_jt7btj.png)

|| Opmerking: er mogen na het verzenden van de toestemming geen andere ondersteunde tags aan deze lijst worden toegevoegd.

### De Consent Mode-instellingen controleren

###### Bij gebruik van Google Tag Manager

Bij het laden van een pagina vóór het verkrijgen van toestemming moeten de instellingen van Google Consent Mode nauwkeurig worden geregistreerd in Google Tag Manager. Met onze integratie voor Google Consent Mode worden de standaardinstellingen naar de dataLayer gestuurd. Hier is daarom een script waarmee je de geregistreerde toestemmingsvoorkeuren in Google Tag Manager kunt onderzoeken (als je GTM niet aan je winkel hebt toegevoegd, wordt dit script niet uitgevoerd):

```javascript
(() => {
  l = s => s == undefined ? "" : s ? "granted" : "denied";
  c = s => s == "granted" ? "color: #0C0": "color: #C00"; 
  if (!"google_tag_data" in window) {
    console.log("No Google Consent Mode data found");
    return;
  }
  var g = google_tag_data.ics.entries, 
      i = "",
      t = "", 
      u = "";
  for (var a in g) {
    i = l(g[a]['initial']);
    u = l(g[a]['update']);
    if (i == "" && u == "") continue;
    t = ("\t" + a + ":" +
      (i != "" ? "\n\t\tDefault: %c" + i : "%c")
      + "%c" +
      (u != "" ? "\n\t\tUpdate: %c" + u : "%c"));
    console.log(t, i != "" ? c(i) : "",
    "", u != "" ? c(u) : "", "");
  }
  if (i == "") console.log("No default Google Consent settings found");
})()
```

###### Bij gebruik van andere Google-properties

Als de Google Consent Mode-integratie vanuit onze applicatie actief is, zou je deze instellingen vóór al het andere in de dataLayer moeten zien.

Je kunt de inhoud van de dataLayer controleren door simpelweg het commando **dataLayer** in de console uit te voeren, of met dit script om het wat leesbaarder te maken:

```javascript
(function(w, d, t) {
  for (i of w[d])
    t += JSON.stringify(i).replaceAll(/\"\d{1,}\":/g, "") + "\n";
  console.log(t);
})(window, "dataLayer", "")
```

De uitvoer zou er ongeveer zo uit moeten zien (instellingen van Google Consent Mode in **vet**):

**{"set","ads_data_redaction",true}**
**{"set","url_passthrough",true}**
**{"consent","default",{"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","personalization_storage":"denied","security_storage":"granted","wait_for_update":2000}}**
{"event":"Pandectes_Consent_Update","pandectes_status":"deny","pandectes_categories":{"C000":"allow","C001":"deny","C002":"deny","C003":"deny"},"gtm.uniqueEventId":4}
{"gtm.start":1676370384330,"event":"gtm.js","gtm.uniqueEventId":5}
{"event":"sh_info","page_type":"Homepage","page_currency":"EUR","user":{"type":"visitor"},"gtm.uniqueEventId":6}
{"event":"gtm.dom","gtm.uniqueEventId":7}
{"event":"gtm.load","gtm.uniqueEventId":8}

Nadat er toestemming is gegeven voor alle soorten cookies, bevat de dataLayer zowel de initiële als de bijgewerkte instellingen van Google Consent Mode (GCM in **vet**):

**{"set","ads_data_redaction",true}**
**{"set","url_passthrough",true}**
{"consent","default",{"ad_personalization":"denied","ad_storage":"denied","ad_user_data":"denied","analytics_storage":"denied","functionality_storage":"denied","personalization_storage":"denied","security_storage":"granted","wait_for_update":2000}}
{"event":"Pandectes_Consent_Update","pandectes_status":"deny","pandectes_categories":{"C000":"allow","C001":"deny","C002":"deny","C003":"deny"},"gtm.uniqueEventId":4}
{"gtm.start":1676370384330,"event":"gtm.js","gtm.uniqueEventId":5}
{"event":"sh_info","page_type":"Homepage","page_currency":"EUR","user":{"type":"visitor"},"gtm.uniqueEventId":6}
{"event":"gtm.dom","gtm.uniqueEventId":7}
{"event":"gtm.load","gtm.uniqueEventId":8}
**{"consent","update",{"ad_personalization":"granted", "ad_storage":"granted","analytics_storage":"granted","ad_user_data":"granted","functionality_storage":"granted","personalization_storage":"granted","security_storage":"granted"}}**
{"event":"Pandectes_Consent_Update","pandectes_status":"allow","pandectes_categories":{"C0000":"allow","C0001":"allow","C0002":"allow","C0003":"allow"},"gtm.uniqueEventId":10}
{"event":"gtm.triggerGroup","gtm.triggers":"9024031_93,9024031_140,9024031_255","gtm.uniqueEventId":11}
{"js","2023-02-14T10:26:32.900Z"}

### Controleren of cookies zijn geplaatst

Dit is het lastigste aspect. Om er zeker van te zijn dat er eerder geen cookies zijn aangemaakt of vanaf een ander domein zijn overgedragen, moeten we bevestigen dat er geen bestaande cookies zijn.

Om dit te garanderen, kun je tijdens het browsen de incognitomodus gebruiken of cookies handmatig verwijderen via de Developer tools (F12 of Ctrl + Shift + i) en naar het gedeelte Application → Cookies te gaan.

Navigeer vóór het geven van toestemming door een paar pagina's en klik op verschillende links. In die tijd mag je niet zien dat de cookies **_ga**, **_gid** of **_gat** worden aangemaakt.

Als de voorgaande twee controles correct zijn uitgevoerd, is het onwaarschijnlijk dat je bovengenoemde cookies vóór het verkrijgen van toestemming ziet worden geplaatst. Als dat toch gebeurt, voeg je ze waarschijnlijk toe via een inline script, zoals analytics.js, dat Consent Mode niet ondersteunt.

###### Consent mode cookies

Nadat je consent mode versie 2 hebt geconfigureerd, kun je de activering bevestigen door te controleren op de parameters **gcs** en **gcd**. **gcs** heeft betrekking op de oorspronkelijke consent mode, terwijl **gcd** specifiek betrekking heeft op consent mode versie 2. Deze parameters zijn zichtbaar in de netwerkpayload, zoals hieronder weergegeven.

![](https://storage.crisp.chat/users/helpdesk/website/1a5af239e847cf00/image_1mo0k9c.png)

G111 – Weergegeven in het G1xy-formaat, waarbij x en y staan voor Google Ads- (ad_storage) en Google Analytics-cookies (analytics_storage). De waarden 1 en 0 geven respectievelijk acceptatie en weigering aan.

Hieronder staan de mogelijke combinaties van de gcs-parameter

| Code van gcs | Wat betekent het? | Waarde van toestemmingstype |
| ---- |
| G111 | Toestemming verleend voor Google Ads en Google Analytics | ad_storage='granted', analytics_storage='granted' |
| G110 | Toestemming verleend voor Google Ads en geweigerd voor Google Analytics | ad_storage='granted', analytics_storage='denied' |
| G101 | Toestemming geweigerd voor Google Ads en verleend voor Google Analytics | ad_storage='denied', analytics_storage='granted' |
| G100* | Toestemming geweigerd voor zowel Google Ads als Analytics | ad_storage='denied', analytics_storage='denied' |
**G100 is alleen mogelijk wanneer je de advanced consent mode implementeert.*

Wanneer je echter consent mode versie 2 gebruikt, zie je de gcd-parameter. Deze parameter bevat de voorkeuren voor ad_storage, analytics_storage, ad_user_data en ad_personalization, als volgt gestructureerd:

&gcd=11<ad_storage>1<analytics_storage>1<ad_user_data>1<ad_personalization>Z

Hier kan Z 5 zijn of soms een andere waarde.

Opvallend is dat de reeks begint met 11, waarbij het cijfer 1 als scheidingsteken tussen elke voorkeur fungeert.

In de praktijk ziet het formaat eruit zoals in de getoonde schermafbeelding, ongeveer als:

gcd: 11r1r1r1r5

Met de onderstaande tabel kun je de toestemmingsstatus voor de gcd decoderen

| Waarde van gcd-parameter met de letter (alles in kleine letters) | Beschrijving |
| ---- |
| l | Kleine letter L betekent dat het signaal niet met consent mode is ingesteld en er dus niets is geweigerd of toegestaan |
| p | p staat voor standaard geweigerd |
| q | q staat voor standaard geweigerd en ook na een update vanuit de toestemmingsbanner door de gebruiker |
| t | t betekent standaard toegestaan en er is geen update, ook niet nadat de gebruiker een actie op de toestemmingsbanner uitvoert |
| r | r betekent dat de toestemming standaard is geweigerd en wordt bijgewerkt zodra de gebruiker toestemming geeft. |
| m | m geeft aan dat de gebruiker de toestemming heeft geweigerd en dat deze na de update geweigerd blijft. Er is geen standaardwaarde. |
| n | n geeft aan dat de gebruiker de toestemming heeft gegeven en dat deze dus na de update toegestaan blijft. Er is geen standaardwaarde. |
| u | u betekent dat de toestemming standaard is toegestaan en geweigerd wordt nadat de gebruiker de toestemming afwijst. |
| v | v geeft aan dat de toestemming standaard is toegestaan en ook nadat de gebruiker toestemming geeft. |
###### Voorbeeld

gcd: 11l1p1u1v5 geeft aan dat er geen signaal is ingesteld voor ad_storage (Google Ads); analytics storage automatisch op geweigerd staat; toestemming voor het gebruik van persoonsgegevens voor Google Ads-doeleinden aanvankelijk is gegeven maar later door de gebruiker is ingetrokken; en toestemming voor gepersonaliseerde advertenties (retargeting) standaard wordt gegeven, waarbij de gebruiker deze toestemming ook bevestigt.

Opmerking: de hierboven getoonde letters kunnen worden gewijzigd. Google kan deze aanpassen om te voorkomen dat mensen consent mode ontcijferen door de URL te bekijken. De beste manier om vast te stellen of consent mode correct is geconfigureerd, is het gebruik van de tag assistant en het bekijken van het tabblad Consent, zoals al eerder beschreven.

**Waarom lijken gegevens mogelijk onnauwkeurig?**

Nadat je de hierboven beschreven stappen hebt voltooid, kan het zijn dat je gegevens niet overeenkomen met je verwachtingen. We krijgen hier veel vragen over, maar helaas kunnen we op dit vlak geen ondersteuning bieden.

Google Consent Mode is in de eerste plaats een API die onze applicatie gebruikt om toestemmingsinformatie door te geven aan Google Tag Manager. Hoe een tag deze gegevens moet interpreteren, valt buiten ons bereik. Hoewel we kunnen garanderen dat onze applicatie de toestemmingsinstellingen correct doorgeeft en dat Google Tag Manager ze correct ontvangt, weten we niet hoe tags deze gegevens gebruiken.

We kunnen geen inzicht geven in hoe Google Analytics zou moeten reageren op de Consent Mode-instructies, en we kunnen ook niet namens Google zeggen welke gegevens moeten worden vastgelegd. Hoewel dit misschien weinig behulpzaam lijkt, kunnen we het proces van gegevensregistratie in Google Analytics niet vanuit onze kant aanpassen. Onze applicatie en de Google Consent Mode-integratie zijn er alleen verantwoordelijk voor dat de toestemmingsstatus in Google Tag Manager wordt ingesteld en bijgewerkt. Voor meer informatie over Consent Mode en het gedrag van tags raadpleeg je de documentatie over [Google's Consent Mode](/nl/article/google-consent-mode-v2-o289sx/).

Als je de Google Consent Mode-integratie wilt uitschakelen, schakel je deze gewoon uit in de integratie.

Meer over Google Consent Mode van Google vind je [hier](https://developers.google.com/tag-platform/security/guides/consent?consentmode=advanced).