Vai al contenuto

Lingua

Menu della documentazione

Eventi

Iscriviti agli eventi di consenso e del banner di Cookiesh da JavaScript, dal DOM o da Google Tag Manager, con payload ed esempi per ciascun evento disponibile.

Ultimo aggiornamento: 29 ottobre 2026

Invece di controllare i cookie a intervalli, iscriviti agli eventi. Cookiesh emette gli stessi eventi in tre modi, così puoi metterti in ascolto ovunque si trovi il tuo codice:

  • L’API JavaScript: cookiesh.on(name, handler).
  • Eventi DOM su window, con il prefisso cookiesh:.
  • Push nel dataLayer per Google Tag Manager.

Iscriversi agli eventi

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

on() restituisce una funzione che rimuove il listener:

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

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

// Più tardi, ad esempio quando un componente viene smontato
stop();

Se ti iscrivi a consent:ready dopo che è già stato emesso, l’handler viene eseguito subito con lo stato attuale. Non devi preoccuparti dell’ordine di caricamento.

Riferimento degli eventi

Evento Quando viene emesso Dettaglio
consent:ready Una volta per pagina, quando lo stato del consenso è noto { categories, method, region }
consent:updated Ogni volta che il visitatore o il tuo codice salva una nuova scelta { categories, changed, method, consentId }
banner:shown Compare il banner di primo livello { bannerVersion, region }
banner:hidden Il banner si chiude, con o senza una scelta { reason }
preferences:opened Si apre il centro preferenze {}
preferences:closed Si chiude il centro preferenze { saved }
script:unblocked Cookiesh esegue uno script o carica un iframe che stava trattenendo { category, src }

In questi payload:

  • categories è un oggetto con un valore booleano per ogni categoria: { necessary, preferences, analytics, marketing }.
  • changed elenca le categorie il cui valore è cambiato, ad esempio ['analytics'].
  • method è uno tra default, banner, preferences, api o gpc.
  • reason è accepted, rejected, saved o closed.

Eventi DOM

Ogni evento viene emesso anche su window come CustomEvent, comodo per gli script che non importano il pacchetto:

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

Google Tag Manager

Cookiesh invia due eventi al dataLayer, su cui puoi creare degli attivatori:

{
  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' }
}

Crea un attivatore Custom Event su cookiesh_consent_updated e una Data Layer Variable per cookiesh.marketing, così i tag non Google si attivano solo dopo il consenso. Per i tag Google non serve: leggono i segnali di Consent Mode che Cookiesh invia in automatico.

Eventi lato server

Questi eventi vengono eseguiti nel browser del visitatore. Per ricevere le modifiche del consenso sul tuo server, ad esempio per sincronizzarle con un CRM, usa i webhook.