Ereignisse
Abonnieren Sie Consent- und Banner-Ereignisse von Cookiesh per JavaScript, DOM oder Google Tag Manager, mit Payloads und Beispielen für jedes einzelne Ereignis.
Zuletzt aktualisiert am 29. Oktober 2026
Statt Cookies abzufragen, abonnieren Sie Ereignisse. Cookiesh sendet dieselben Ereignisse auf drei Wegen, sodass Sie dort zuhören können, wo Ihr Code liegt:
- Die JavaScript-API:
cookiesh.on(name, handler). - DOM-Ereignisse auf
window, mit dem Präfixcookiesh:. dataLayer-Pushes für Google Tag Manager.
Abonnieren
on(event: string, handler: (detail) => void): () => void
off(event: string, handler: (detail) => void): void
on() gibt eine Funktion zurück, die den Listener wieder entfernt:
import { cookiesh } from '@cookiesh/js';
const stop = cookiesh.on('consent:updated', ({ categories, changed }) => {
if (changed.includes('analytics')) analytics.setEnabled(categories.analytics);
});
// Später, zum Beispiel wenn eine Komponente entfernt wird
stop();
Wenn Sie consent:ready abonnieren, nachdem es bereits ausgelöst wurde, läuft der Handler sofort mit dem aktuellen Status. Um die Ladereihenfolge müssen Sie sich nicht kümmern.
Referenz der Ereignisse
| Ereignis | Wann es ausgelöst wird | Detail |
|---|---|---|
consent:ready |
Einmal pro Seite, sobald der Einwilligungsstatus bekannt ist | { categories, method, region } |
consent:updated |
Immer, wenn der Besucher oder Ihr Code eine neue Entscheidung speichert | { categories, changed, method, consentId } |
banner:shown |
Das Banner der ersten Ebene erscheint | { bannerVersion, region } |
banner:hidden |
Das Banner schließt sich, mit oder ohne Entscheidung | { reason } |
preferences:opened |
Das Präferenz-Center öffnet sich | {} |
preferences:closed |
Das Präferenz-Center schließt sich | { saved } |
script:unblocked |
Cookiesh führt ein zurückgehaltenes Skript aus oder lädt ein zurückgehaltenes Iframe | { category, src } |
In diesen Payloads gilt:
categoriesist ein Objekt mit einem booleschen Wert pro Kategorie:{ necessary, preferences, analytics, marketing }.changedlistet die Kategorien auf, deren Wert sich geändert hat, etwa['analytics'].methodistdefault,banner,preferences,apiodergpc.reasonistaccepted,rejected,savedoderclosed.
DOM-Ereignisse
Jedes Ereignis wird außerdem als CustomEvent auf window ausgelöst. Das ist praktisch für Skripte, die das Paket nicht importieren:
<script>
window.addEventListener('cookiesh:consent:updated', (event) => {
console.log('New choice', event.detail.categories);
});
</script>
Google Tag Manager
Cookiesh sendet zwei Ereignisse an den dataLayer, auf die Sie Trigger aufbauen können:
{
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' }
}
Legen Sie einen Trigger vom Typ Custom Event für cookiesh_consent_updated und eine Data Layer Variable für cookiesh.marketing an, damit Nicht-Google-Tags erst nach der Einwilligung ausgelöst werden. Google-Tags brauchen das nicht: Sie lesen die Consent-Mode-Signale, die Cookiesh automatisch sendet.
Serverseitige Ereignisse
Diese Ereignisse laufen im Browser des Besuchers. Um Änderungen der Einwilligung auf Ihrem Server zu empfangen, etwa um sie mit einem CRM zu synchronisieren, verwenden Sie Webhooks.