Cookies en de cookielijst
De cookielijst vertelt bezoekers waarmee ze instemmen. Op deze pagina lees je waar de lijst te zien is, hoe je hem volledig houdt en wat Cookiemark op het apparaat van de bezoeker opslaat.
Waar de lijst voor is
Elke site in Cookiemark heeft een lijst met de cookies die de site plaatst. Elke cookie heeft een categorie, een aanbieder, een doel en een bewaartermijn. Je vindt de lijst op het tabblad Cookies van de site. De lijst heeft twee taken.
- Hij informeert de bezoeker. In het voorkeurenvenster toont elke categorie hoeveel cookies erin zitten. Een bezoeker kan die regel openklappen en lezen wat elke cookie doet. Je kunt deze regels verbergen met Cookies tonen in de voorkeuren op het tabblad Ontwerp.
- Hij ruimt op na een intrekking. Zet een bezoeker een categorie uit, dan verwijdert Cookiemark de cookies uit die categorie die in de lijst staan. Een sterretje in een naam past op alles, dus
_ga_*dekt elke cookie die met_ga_begint.
De lijst bepaalt niet wat er wordt geblokkeerd. Blokkeren werkt op scripts en frames, zoals Scripts en embeds blokkeren uitlegt.
De lijst vullen
Vanuit een scan
De snelste manier is een scan. Die bezoekt je pagina's, verzamelt elke cookie die hij vindt en stelt voor elke cookie die hij herkent een categorie, een aanbieder en een doel voor. Vink de cookies aan die je wilt en zet ze in één keer op de lijst.
Vanuit een dienst
Druk op Toevoegen uit een dienst en kies een van de 73 diensten waarvan we cookiegegevens bijhouden, zoals Google Analytics of de Meta-pixel. Cookiemark voegt de cookies toe die die dienst plaatst, met een omschrijving die voor bezoekers is geschreven.
Met de hand
Druk op Cookie toevoegen en vul vijf velden in: de naam, de categorie, de aanbieder, het doel en hoe lang de cookie wordt bewaard. Schrijf het doel voor een bezoeker, niet voor een ontwikkelaar. "Telt hoeveel mensen elke pagina bezoeken" zegt een bezoeker meer dan "GA4 client identifier".
Wijzigingen in de lijst gaan live als je publiceert, net als elke andere wijziging.
De cookie die Cookiemark plaatst
Cookiemark plaatst één cookie, cookiemark_consent. Daarin staan de keuze van de bezoeker, een willekeurig consent-ID en het tijdstip van de keuze. De cookie is noodzakelijk, want zonder die cookie kan de site een weigering niet onthouden, en hij staat altijd bovenaan je lijst.
De cookie blijft zo lang bestaan als je instelt onder Regio's, Opnieuw vragen na: 6, 12 of 13 maanden. Standaard is dat zes maanden. Als de termijn afloopt, vraagt de banner het opnieuw.
De cookie staat op je eigen domein. Cookiemark plaatst geen cookies op zijn eigen domein en geen cookies om te tracken. Sommige bezoekers bevinden zich buiten de landen waar je de banner toont. Voor hen onthoudt het script dat antwoord in de sessieopslag van het browsertabblad, niet in een cookie.
Je cookiebeleid
Cookiemark schrijft je cookiebeleid op basis van de cookielijst: zie Documenten. Zet het op een pagina van je eigen site en vul het adres van die pagina in onder Instellingen, Links en gedrag. De banner en het voorkeurenvenster linken er dan naar. Vul het adres van je privacyverklaring in het veld ernaast in, dan linken ze ook naar die pagina.
Geef bezoekers vanaf die pagina, of vanuit je footer, een weg terug naar hun keuze. Een link naar #cookiemark-preferences opent het voorkeurenvenster.
<a href="#cookiemark-preferences">Cookie settings</a>Het kleine knopje in de hoek van de pagina doet hetzelfde. Je zet het aan of uit onder Ontwerp, Knop om te heropenen.
Safari en de grens van zeven dagen
Safari bewaart een cookie die een script schrijft hooguit zeven dagen. Daarna zien bezoekers met Safari de banner opnieuw, hoe lang je de cookie ook laat duren. Een cookie die je eigen server zet, heeft die beperking niet.
Wil je de keuze de volledige termijn bewaren, geef Cookiemark dan een pad op je eigen site dat de cookie zet. Vul het in onder Instellingen, Cookie zetten vanaf je eigen server, bijvoorbeeld /cookie.php. Na elke keuze stuurt het script een POST-verzoek naar dat pad met de keuze als JSON. Je server antwoordt door cookiemark_consent met dezelfde inhoud te zetten.
<?php
// cookie.php on your own site: stores the Cookiemark choice as a first-party cookie.
$data = json_decode(file_get_contents('php://input'), true);
if (!is_array($data) || !isset($data['v'], $data['id'], $data['ts'])) {
http_response_code(400);
exit;
}
$choice = [
'necessary' => true,
'preferences' => ($data['preferences'] ?? false) === true,
'statistics' => ($data['statistics'] ?? false) === true,
'marketing' => ($data['marketing'] ?? false) === true,
'v' => (int) $data['v'],
'id' => preg_replace('/[^0-9a-f-]/i', '', (string) $data['id']),
'ts' => (int) $data['ts'],
];
setcookie('cookiemark_consent', json_encode($choice), [
'expires' => time() + 182 * 86400, // the same period as "Ask again after"
'path' => '/',
'secure' => true,
'httponly' => false, // the Cookiemark script has to read it
'samesite' => 'Lax',
]);
http_response_code(204);Let op drie dingen. De cookie mag niet HttpOnly zijn, want het script leest hem. De waarde moet de JSON van de keuze zijn, URL-gecodeerd, en dat doet PHP voor je. En de vervaldatum hoort overeen te komen met Opnieuw vragen na. Test het in Safari nadat je hebt gepubliceerd, en zie het voorbeeld hierboven als uitgangspunt, niet als kant-en-klare code.
De lijst op de pagina met je cookiebeleid
Je cookiebeleid moet bezoekers vertellen welke cookies je site gebruikt. Zet deze regel op die pagina, op de plek waar de lijst moet komen:
<div data-cookiemark-declaration></div>Werk je met WordPress en onze plugin, gebruik dan in plaats daarvan de shortcode [cookiemark_declaration]. Die kent dezelfde opties als attributen, zoals [cookiemark_declaration category="marketing"] of text="false". Voor een link in je footer die de cookie-instellingen opent, gebruik je [cookiemark_settings].
Het script vult het element met een korte uitleg over cookies en de rechtsgrond voor elke soort, de huidige keuze van de bezoeker met het consent-ID en de datum, en het domein waarvoor die keuze geldt. Met knoppen kan de bezoeker de keuze wijzigen of intrekken. Daarna volgt een tabel per categorie, met het aantal cookies erin en van elke cookie de naam, de aanbieder, het doel, de vervaltermijn en het type: een HTTP-cookie, local storage, session storage of een pixel. Het script gebruikt de taal van de bezoeker en je eigen teksten voor de categorieën, en vermeldt wanneer de lijst voor het laatst is gepubliceerd.
Het type van elke cookie stel je in het bewerkpaneel van die cookie in, op het tabblad Cookies. Cookies uit een scan zijn HTTP-cookies. Ons eigen cookiebeleid gebruikt deze lijst, dus daar zie je hem in de praktijk.
Omdat de lijst uit je gepubliceerde versie komt, loopt hij nooit achter op je banner. Twee attributen veranderen wat hij toont:
| Attribuut | Wat het doet |
|---|---|
data-text="false" | Alleen de keuze en de tabellen, zonder de uitleg, voor een pagina waar je die zelf schrijft. |
data-status="false" | Laat de keuze van de bezoeker en de knoppen weg. |
data-category="marketing" | Alleen één categorie: necessary, preferences, statistics of marketing. |
Voegt een pagina het element pas toe nadat hij is geladen, roep dan Cookiemark.renderDeclaration() aan zodra het er staat.