Google Tag Manager
Tag Manager voert de tags uit; Cookiemark vertelt Tag Manager wat de bezoeker heeft toegestaan. Op deze pagina zie je hoe die twee samenwerken, zodat elke tag in je container de keuze respecteert.
Wie de container laadt
Dat bepaalt het veld Container-ID op het tabblad Google en GTM.
- Je vult je container-ID in. Cookiemark laadt de container dan zelf, direct na de standaardwaarden voor toestemming. Haal elke andere Tag Manager-snippet van de site, of die nu in je thema, een app of een plugin staat. Staat dezelfde container al op de pagina, dan laadt Cookiemark hem geen tweede keer.
- Je laat het leeg. Cookiemark laadt niets en praat via de datalaag met je container. Houd je eigen snippet onder de regel van Cookiemark, anders starten Google-tags vóór de standaardwaarden.
Cookiemark voegt alleen het scriptdeel van Tag Manager toe, niet het <noscript>-deel.
Google-tags hoeven niet te veranderen
De eigen tags van Google hebben ingebouwde toestemmingscontroles. Dat geldt voor de Google-tag voor GA4, de conversie- en remarketingtags van Google Ads, Floodlight en de Conversion Linker. Ze lezen de toestemmingsstatus die Cookiemark instelt en passen aan wat ze opslaan en versturen.
Laat hun Instellingen voor toestemming op Geen aanvullende toestemming nodig staan, en houd de trigger die je normaal gebruikt. Wil je de instellingen voor toestemming van alle tags in één keer zien, vink dan Toestemmingsoverzicht aanzetten aan onder Beheerder, Containerinstellingen.
Andere tags wachten op een toestemmingsevent
Een tag van een andere leverancier weet niets van Consent Mode. De Meta-pixel, de LinkedIn Insight Tag, Hotjar en elke tag van het type Aangepaste HTML worden geactiveerd zodra hun trigger afgaat. Geef deze tags een trigger op de events die Cookiemark naar de datalaag pusht.
| Event | Cookiemark pusht het als |
|---|---|
cookiemark_consent_preferences | Voorkeuren zijn toegestaan. |
cookiemark_consent_statistics | Statistieken zijn toegestaan. |
cookiemark_consent_marketing | Marketing is toegestaan. |
Elk event komt één keer per paginaweergave binnen. Bij een terugkerende bezoeker gebeurt dat als de pagina laadt. Bij een nieuwe bezoeker gebeurt het op het moment dat die kiest.
Voorbeeld: de Meta-pixel
- Maak onder Triggers een trigger van het type Aangepaste gebeurtenis.
- Vul
cookiemark_consent_marketingin als naam van de gebeurtenis en sla hem op als "Cookiemark, marketing toegestaan". - Maak een tag van het type Aangepaste HTML en plak de pixelcode die je van Meta krijgt.
- Kies onder Instellingen voor toestemming voor Aanvullende toestemming vereisen om tag te activeren en voeg
ad_storagetoe. - Kies de trigger uit stap 2 en sla de tag op.
De trigger en de toestemmingscontrole doen elk iets anders. De trigger bepaalt wanneer de tag draait: zodra marketing is toegestaan, op deze pagina en op elke volgende. De toestemmingscontrole is een tweede slot, voor het geval iemand later een andere trigger aan de tag toevoegt.
Vertrouw niet alleen op de toestemmingscontrole met een trigger Alle pagina's. Tag Manager blokkeert de tag als die trigger zonder toestemming afgaat, en een geblokkeerde tag draait later niet vanzelf. Een nieuwe bezoeker die accepteert, mis je dan tot de volgende pagina.
Tags die op andere events worden geactiveerd
Een tag voor aankopen of formulieren houdt zijn eigen trigger. Voeg er de toestemmingscontrole uit stap 4 aan toe, of geef de trigger een voorwaarde: cookiemark_consent_state bevat |marketing|.
Events en variabelen in de datalaag
Cookiemark pusht naar dataLayer. Gebruikt je container een andere naam, vul die dan in onder Naam van de datalaag.
| Push | Wanneer |
|---|---|
consent, default | Zodra het script draait, op elke pagina, als Consent Mode aanstaat. |
consent, update | Direct na de standaardwaarden bij een terugkerende bezoeker en na elke keuze. |
cookiemark_consent_ready | Eén keer per paginaweergave, als Cookiemark de status kent. Bij een nieuwe bezoeker is dan nog alles geweigerd. |
cookiemark_consent_update | Na elke keuze die de bezoeker maakt. |
cookiemark_consent_preferences en de andere twee | Eén keer per paginaweergave, voor elke categorie die is toegestaan. |
Na een keuze ligt de volgorde vast: eerst de update van Consent Mode, dan cookiemark_consent_update, en dan één event voor elke categorie die eerder niet was toegestaan. De events ready en update bevatten drie waarden.
{
event: 'cookiemark_consent_update',
cookiemark_consent: { necessary: true, preferences: false, statistics: true, marketing: true },
cookiemark_consent_state: '|statistics|marketing|',
cookiemark_consent_id: '0b0f6c1e-3d0a-4c54-9f0e-2f1c8a4e7b11'
}| Variabele | Gebruik |
|---|---|
cookiemark_consent | Een object. Lees één categorie uit met de variabelenaam cookiemark_consent.marketing. |
cookiemark_consent_state | De toegestane categorieën tussen verticale strepen. Is er niets toegestaan, dan is het één streep. |
cookiemark_consent_id | Het consent-ID van de bezoeker, hetzelfde als in het consentlog. Leeg tot de bezoeker kiest. |
Maak deze aan als variabelen van het type Variabele voor gegevenslaag. Ze hebben een waarde vanaf cookiemark_consent_ready.
Formulierevents
Tag Manager ziet niet vanzelf dat een bezoeker een formulier heeft verstuurd als de pagina niet herlaadt. Cookiemark pusht een event als er een formulier wordt verstuurd. Daarin staat welk formulier het was en hoe het ging, nooit wat er is ingetypt. Het staat aan tenzij je Formulierevents versturen uitzet.
| Event | Wanneer |
|---|---|
cookiemark_form_sent | Een formulier is goed aangekomen. Gebruik dit event voor een conversie. De formuliertools in de lijst hieronder pushen het. |
cookiemark_form_submit | Een bezoeker drukte op verzenden, wat er daarna ook gebeurde. Elk formulier op de pagina pusht het, dus dit is het event voor een formuliertool die niet in de lijst staat. |
cookiemark_form_invalid | Een veld in Contact Form 7 is verkeerd ingevuld. |
cookiemark_form_spam | Contact Form 7 heeft het formulier als spam tegengehouden. |
cookiemark_form_failed | Contact Form 7 heeft het formulier geaccepteerd, maar de mail kon niet worden verstuurd. |
De formuliertools die melden dat een formulier goed is aangekomen, en wat cookiemark_form_id voor elk ervan bevat:
| Formuliertool | cookiemark_form_plugin | cookiemark_form_id |
|---|---|---|
| Contact Form 7 | contact-form-7 | Het ID van het formulier |
| WPForms | wpforms | Het ID van het formulier |
| Gravity Forms (AJAX-formulieren) | gravity-forms | Het ID van het formulier |
| Formulieren van Elementor Pro | elementor | Het ID van de formulierwidget |
| Fluent Forms | fluent-forms | Het ID van het formulier |
| Ninja Forms | ninja-forms | Het ID van het formulier |
| Formidable Forms | formidable | Het ID van het formulier |
| Forminator | forminator | Het ID van het formulier |
| Formulieren van Breakdance | breakdance | Het ID van het formulier |
| Formulieren van Bricks | bricks | Het element-ID in Bricks |
| Formulieren van Kadence Blocks | kadence | Het ID van het blok |
| Formulieren van Spectra | spectra | Het ID van het blok |
| Formulieren van Otter Blocks | otter | De id van het formulierblok |
| Everest Forms | everest-forms | Het ID van het formulier |
| HappyForms | happyforms | Het ID van het formulier |
| MetForm | metform | Leeg: MetForm geeft niet door welk formulier het is |
| Quform | quform | Het ID van het formulier |
| weForms | weforms | Het ID van het formulier |
| WS Form | ws-form | Het ID van het formulier |
| Formulieren van Avada | avada | Het ID van het formulier |
| Formulieren van HubSpot | hubspot | Het ID van het formulier |
Een formulier dat na het versturen een nieuwe pagina laadt, zoals een Gravity Forms-formulier zonder AJAX, het contactformulier van Divi of een Jetpack-formulier, pusht alleen cookiemark_form_submit. Wil je tellen welke goed zijn aangekomen, voeg dan in Tag Manager een trigger toe op de bedankpagina. Bij elk ander formulier staat in cookiemark_form_plugin de waarde form, en bevat cookiemark_form_id de naam, de id of het adres waar het formulier naartoe verstuurt. Wil je maar één formulier tellen, voeg dan de voorwaarde toe dat cookiemark_form_id gelijk is aan het ID ervan.
De events bevatten nooit wat de bezoeker heeft ingetypt. Een naam of e-mailadres in de datalaag kan door elke tag in de container worden gelezen, ook voordat de bezoeker heeft gekozen.
De template
Kies de template als je wilt dat Tag Manager de standaardwaarden van Consent Mode instelt in plaats van het script van Cookiemark. Cookiemark toont dan nog steeds de banner, slaat de keuze op en pusht de events. Alleen de standaardwaarden en updates verhuizen naar je container.
- Download de template. Het bestand heet
cookiemark-consent-mode.tpl. - Open in Tag Manager Templates en druk op Nieuw onder Tagtemplates. Open het menu rechtsboven, kies Importeren, kies het bestand en sla op.
- Maak een tag van het type Cookiemark - Consent Mode en activeer hem met de trigger Initialiseren van toestemming geven - Alle pagina's.
- Open in Cookiemark de site, ga naar Google en GTM en zet Google Consent Mode uit. Anders worden de standaardwaarden twee keer ingesteld.
- Zet onder Cookies de dienst Google Tag Manager uit, zodat de container vóór een keuze kan laden.
Probeer het importeren eerst in een testcontainer. Dat kost niets, en een import kan zich in jouw account anders gedragen.
| Veld | Standaardwaarde | Wat je invult |
|---|---|---|
| Consent cookie name | cookiemark_consent | Laat het zoals het is. |
| Consent version | 1 | Hetzelfde nummer als de consentversie van je site, die je ziet onder Instellingen, Iedereen opnieuw vragen. |
| Category per consent type | De standaardkoppeling | Welke categorie elk Google-signaal toekent. |
| Wait for update | 500 | Het aantal milliseconden dat Google-tags op een update wachten. |
| Regions | Leeg | Laat het leeg om overal te weigeren, of vul de landen in waar je de banner toont. |
| Ads data redaction and URL passthrough | Aan en uit | Hetzelfde als de instellingen met die naam in Cookiemark. |
De tag zet elk signaal op geweigerd, behalve security_storage. Daarna leest hij de cookie cookiemark_consent en stuurt hij een opgeslagen keuze als update voordat andere tags afgaan. Voor latere keuzes voegt hij zichzelf toe aan window.cookiemarkListeners, en Cookiemark roept hem na elke keuze aan.
Cookiemark laden vanuit Tag Manager
Bij sommige sites kun je alleen iets toevoegen via Tag Manager, niet in de head van de pagina. Dan kan de template Cookiemark ook laden: zet Also load the Cookiemark script from this tag aan en vul de sitesleutel in, het deel tussen /s/ en .js in de regel op het tabblad Installatie. De tag stelt eerst de standaardwaarden in en laadt het script direct daarna, bij Initialiseren van toestemming geven.
Doe dit alleen als de regel in de head niet mogelijk is. Geladen vanuit Tag Manager start Cookiemark later en kan het geen scripts tegenhouden die in de HTML van de pagina zelf staan, zoals een pixel die in het thema is geplakt. Alleen de tags in deze container wachten op toestemming, via de toestemmingscontroles en de triggers hierboven. De banner, de opgeslagen keuze, het consentlog en de events werken zoals gewoonlijk.
Waar je met de template rekening mee moet houden
- De consentversie staat op twee plekken. Vraag je in Cookiemark iedereen opnieuw, verhoog dan ook het nummer in de tag. Tot je dat doet, negeert de tag opgeslagen keuzes.
- Ook de koppeling van categorieën aan signalen staat op twee plekken. De tag gebruikt zijn eigen koppeling.
- De tests van de template staan onder Tests in de template-editor, als je wilt zien hoe hij zich gedraagt.
Laat Cookiemark je container corrigeren
In plaats van elke tag met de hand na te lopen, kun je het Google-account koppelen dat je container beheert. Cookiemark controleert elke tag in de versie die live staat en toont alleen wat er mis is. Je ziet elke wijziging voordat er iets live gaat. Corrigeren hoort bij betaalde sites; de controle zit in elk abonnement.
- Open de site, ga naar Google en GTM en druk op Google koppelen. Een eigenaar of beheerder kan dat doen, hier of onder Instellingen, Koppelingen. We vragen alleen toegang tot Tag Manager, en je kunt de koppeling op elk moment verbreken.
- Cookiemark opent de container die je scan heeft gevonden, of de container die je eerder hebt gekozen. Wil je een andere, druk dan op Kies een andere container en kies het Tag Manager-account en de container. In beide lijsten kun je zoeken.
- Onder Toestemming in Google Tag Manager zie je elke tag die draait zonder op toestemming te wachten, wat hij nu doet en waarop hij na de correctie zou wachten.
- Druk op Correctie klaarzetten in een werkruimte. Cookiemark zet de wijzigingen in een nieuwe werkruimte in Tag Manager, genoemd naar de datum en tijd. Er staat nog niets live: open Bekijken in Tag Manager om ernaar te kijken, of test het op je site met de eigen voorbeeldmodus van Tag Manager.
- Druk op Publiceren. Cookiemark publiceert een nieuwe containerversie en start een snelle scan om het resultaat te controleren. Wil je het terugdraaien, publiceer dan de vorige versie in Tag Manager. Of druk op Weggooien, dan wordt de werkruimte verwijderd zonder dat er iets verandert.
Wat de correctie verandert:
- Tags die niet van Google zijn, zoals Meta, LinkedIn, TikTok, Hotjar, Leadinfo of een tag met aangepaste HTML, krijgen aanvullende toestemming voor hun categorie: marketing wacht op
ad_storage,ad_user_dataenad_personalization, statistieken opanalytics_storage, volgens je koppeling op dit tabblad. - Start Consent Mode te laat, dan voegt de correctie de template van Cookiemark toe op Initialiseren van toestemming geven, zodat die vóór elke andere tag draait, en zet in dezelfde stap Consent Mode uit in het script van Cookiemark, zodat de standaardwaarden niet twee keer worden ingesteld.
- De eigen tags van Google blijven ongemoeid: Consent Mode regelt die al.
Hoe Cookiemark weet wat een tag is
Een tag wordt herkend aan de diensten die Cookiemark kent, aan domeinen die we voor alle klanten hebben onderzocht, en aan een open database van meer dan 4.500 trackerdomeinen. Een tag die we nog niet herkennen, wacht op toestemming voor marketing, de strengste keuze, zodat hij nooit draait voordat de bezoeker toestemming geeft. Heeft je site de tag nodig om te werken, een chat bijvoorbeeld, kies dan Noodzakelijk in de lijst ernaast voordat je de correctie klaarzet.
Verander je de categorie van een tag die we niet herkenden, dan noteren we het domein waar hij vandaan laadt en je keuze, zonder verder iets over jou of de tag. Zodra we zo'n suggestie hebben gecontroleerd, herkent Cookiemark dat domein voor iedereen.
Wat je achteraf terugziet
Elke correctie blijft staan onder Wijzigingen in Google Tag Manager op hetzelfde tabblad: wanneer hij is gepubliceerd, als welke containerversie, en per tag wat die ervoor en erna deed.
Trackerdomeinen van WhoTracks.me (CC BY 4.0) en AdGuard CompaniesDB (CC BY-SA 4.0).
Een container overzetten die voor Cookiebot is gebouwd
Een Cookiebot-container activeert zijn tags meestal op events met de namen van Cookiebot. Zet Ook Cookiebot-eventnamen versturen aan op het tabblad Google en GTM, dan pusht Cookiemark die namen ook.
| Event | Cookiemark pusht het |
|---|---|
cookie_consent_preferences | Samen met cookiemark_consent_preferences. |
cookie_consent_statistics | Samen met cookiemark_consent_statistics. |
cookie_consent_marketing | Samen met cookiemark_consent_marketing. |
cookie_consent_update | Na elke keuze en als een pagina laadt voor een bezoeker met een opgeslagen keuze. |
- Noteer de precieze eventnamen waar de triggers in je container op reageren.
- Pauzeer de Cookiebot-tag in de container en haal het script van Cookiebot van de site. Twee consenttools op één pagina zitten elkaar in de weg.
- Voeg de regel van Cookiemark toe en zet Ook Cookiebot-eventnamen versturen aan.
- Open de voorbeeldmodus van Tag Manager, laad de site in een privévenster en accepteer alles. Controleer of er events binnenkomen met de namen uit stap 1 en of je tags worden geactiveerd.
- Wijkt een naam af, zet de trigger dan om naar het bijbehorende event
cookiemark_consent_.
Een variabele die de eigen cookie van Cookiebot leest, CookieConsent, vindt niets, omdat Cookiemark die niet plaatst. Gebruik in plaats daarvan cookiemark_consent_state. Code die Cookiebot.consent.marketing opvraagt, heeft de instelling Antwoorden op de JavaScript-API van Cookiebot nodig, beschreven in de JavaScript-API.
Zodra elke trigger de namen van Cookiemark gebruikt, kun je de namen van Cookiebot weer uitzetten.