Zum Inhalt springen

Sprache

Dokumentationsmenü

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äfix cookiesh:.
  • 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:

  • categories ist ein Objekt mit einem booleschen Wert pro Kategorie: { necessary, preferences, analytics, marketing }.
  • changed listet die Kategorien auf, deren Wert sich geändert hat, etwa ['analytics'].
  • method ist default, banner, preferences, api oder gpc.
  • reason ist accepted, rejected, saved oder closed.

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.