Siirry sisältöön

Kieli

Dokumentaation valikko

Tapahtumat

Tilaa Cookieshin suostumus- ja banneritapahtumat JavaScriptissä, DOM:ssa tai Google Tag Managerissa. Mukana kunkin tapahtuman sisältö ja esimerkit.

Päivitetty viimeksi 29. lokakuuta 2026

Sen sijaan, että kyselisit evästeitä jatkuvasti, tilaa tapahtumat. Cookiesh lähettää samat tapahtumat kolmella tavalla, joten voit kuunnella niitä siellä, missä koodisi on:

  • JavaScript-API: cookiesh.on(name, handler).
  • DOM-tapahtumat window-oliossa, etuliitteellä cookiesh:.
  • dataLayer-lisäykset Google Tag Manageria varten.

Tilaaminen

on(event: string, handler: (detail) => void): () => void
off(event: string, handler: (detail) => void): void

on() palauttaa funktion, joka poistaa kuuntelijan:

import { cookiesh } from '@cookiesh/js';

const stop = cookiesh.on('consent:updated', ({ categories, changed }) => {
  if (changed.includes('analytics')) analytics.setEnabled(categories.analytics);
});

// Myöhemmin, esimerkiksi kun komponentti poistetaan
stop();

Jos tilaat consent:ready-tapahtuman sen jälkeen, kun se on jo lähetetty, käsittelijä suoritetaan heti nykyisellä tilalla. Latausjärjestyksestä ei tarvitse huolehtia.

Tapahtumaviite

Tapahtuma Milloin se lähetetään Sisältö
consent:ready Kerran sivulla, kun suostumustila on tiedossa { categories, method, region }
consent:updated Aina, kun kävijä tai koodisi tallentaa uuden valinnan { categories, changed, method, consentId }
banner:shown Ensimmäisen tason banneri tulee näkyviin { bannerVersion, region }
banner:hidden Banneri sulkeutuu, valinnan kanssa tai ilman { reason }
preferences:opened Asetuskeskus avautuu {}
preferences:closed Asetuskeskus sulkeutuu { saved }
script:unblocked Cookiesh suorittaa pidättämänsä skriptin tai lataa pidättämänsä iframen { category, src }

Näissä sisällöissä:

  • categories on olio, jossa on totuusarvo kullekin kategorialle: { necessary, preferences, analytics, marketing }.
  • changed luettelee kategoriat, joiden arvo muuttui, kuten ['analytics'].
  • method on jokin seuraavista: default, banner, preferences, api tai gpc.
  • reason on accepted, rejected, saved tai closed.

DOM-tapahtumat

Jokainen tapahtuma lähetetään myös window-olioon CustomEvent-tapahtumana. Se on kätevää skripteille, jotka eivät tuo pakettia:

<script>
  window.addEventListener('cookiesh:consent:updated', (event) => {
    console.log('New choice', event.detail.categories);
  });
</script>

Google Tag Manager

Cookiesh lisää dataLayer-kerrokseen kaksi tapahtumaa, joiden varaan voit rakentaa laukaisimia:

{
  event: 'cookiesh_consent_ready',
  cookiesh: { necessary: true, preferences: false, analytics: true, marketing: false, method: 'banner' }
}

{
  event: 'cookiesh_consent_updated',
  cookiesh: { necessary: true, preferences: true, analytics: true, marketing: false, method: 'preferences' }
}

Luo cookiesh_consent_updated-tapahtumalle Custom Event -laukaisin ja cookiesh.marketing-arvolle Data Layer Variable, niin muut kuin Googlen tagit käynnistyvät vasta suostumuksen jälkeen. Googlen tagit eivät tarvitse tätä: ne lukevat Consent Mode -signaalit, jotka Cookiesh lähettää automaattisesti.

Palvelinpuolen tapahtumat

Nämä tapahtumat suoritetaan kävijän selaimessa. Jos haluat vastaanottaa suostumusmuutokset palvelimellesi esimerkiksi CRM-järjestelmään synkronointia varten, käytä webhookeja.