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 prefissocookiesh:. - Push nel
dataLayerper 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 }.changedelenca le categorie il cui valore è cambiato, ad esempio['analytics'].methodè uno tradefault,banner,preferences,apiogpc.reasonèaccepted,rejected,savedoclosed.
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.