Cookie-Einwilligung und anonyme proaktive Trigger

Website-Einwilligung und das Widget sind getrennt

Deine Website bleibt für ihr eigenes Einwilligungs-Banner und ihren Datenschutzhinweis selbst verantwortlich. Die Widget-Einwilligungsschnittstelle ersetzt nicht deine Consent-Management-Plattform (CMP), und WebChatAgent fügt im eingebetteten Widget kein zweites Banner hinzu.

Das Widget startet im anonymen Datenschutz-Modus, wenn tracking-consent weggelassen oder auf unknown gesetzt wird. In diesem Modus verbleiben lokale Trigger-Entscheidungen im Arbeitsspeicher und werden nicht an WebChatAgent gesendet.

<!-- tracking-consent is optional; omitted means unknown -->
<web-chat-agent chatbot-id="YOUR_ID"></web-chat-agent>

Was ohne ein Einwilligungssignal funktioniert

FunktionOhne ein Einwilligungssignal
VerweildauerFunktioniert lokal im Arbeitsspeicher
Scroll-TiefeFunktioniert lokal im Arbeitsspeicher
Exit-IntentFunktioniert lokal im Arbeitsspeicher
InaktivitätFunktioniert lokal im Arbeitsspeicher
URL-MatchFunktioniert für die aktuelle Seite
Abschnitts-SichtbarkeitFunktioniert lokal im Arbeitsspeicher
Rage-KlickFunktioniert lokal im Arbeitsspeicher
Besuchte SeitenFunktioniert bei SPA-Navigation innerhalb desselben Dokuments; setzt sich nach einem vollständigen Neuladen zurück
Wiederkehrender BesucherDeaktiviert
KI-generierte proaktive BegrüßungVerwendet das konfigurierte statische Fallback
Trigger-Analysen vor Chat-InteraktionDeaktiviert
Dauerhafter/täglicher CooldownFällt auf die Lebensdauer des aktuellen Dokuments zurück
Dauerhaftes VerwerfenBleibt nur bis zum Neuladen des Dokuments bestehen

Bevor ein Besucher mit dem Chat interagiert, erstellt die anonyme Trigger-Auswertung keine Besucher-ID, schreibt keinen proaktiven Status in den Browser-Speicher und sendet keine Verhaltensereignisse an WebChatAgent.

Einwilligungsschnittstelle

Verwende das optionale Attribut, wenn dein Consent-Manager die Auswahl des Besuchers bereits kennt:

<web-chat-agent
  chatbot-id="YOUR_ID"
  tracking-consent="granted"
></web-chat-agent>

Zulässige Werte sind unknown, denied und granted. Fehlende und ungültige Werte werden als unknown behandelt.

Für Einwilligungsänderungen ohne Neuladen der Seite löse Folgendes aus:

window.dispatchEvent(
  new CustomEvent('webchatagent:consent', {
    detail: { tracking: 'granted' }
  })
)

Sende denied, wenn die Einwilligung abgelehnt oder widerrufen wird. WebChatAgent stoppt dann das optionale Tracking und entfernt den Status proaktiver Trigger sowie einwilligungspflichtige UI-Personalisierungen. Der funktionale Chat-Sitzungsspeicher bleibt verfügbar, nachdem der Besucher den Chat aktiv nutzt.

Bei White-Label-Bereitstellungen funktioniert der markenneutrale Ereignisname chat-widget:consent identisch, nutze ihn, wenn die einbettende Seite keinen Bezug zum Plattform-Namen herstellen soll.

Sende granted erst, nachdem deine CMP eine gültige Auswahl für die Kategorie erfasst hat, die alle von dir aktivierten Funktionen abdeckt. KI-generierte Begrüßungen, Besucherwiedererkennung und Trigger-Analysen erfordern in deinem Setup möglicherweise andere Beschreibungen oder Kategorien. Bestätige die Zuordnung mit deiner Rechtsberatung.

Generischer CMP-Adapter

function updateWebChatAgentConsent(isGranted) {
  window.dispatchEvent(
    new CustomEvent('webchatagent:consent', {
      detail: { tracking: isGranted ? 'granted' : 'denied' }
    })
  )
}

// Call this from your CMP's consent-ready and consent-change callbacks.
updateWebChatAgentConsent(false)

Cookiebot

Cookiebot stellt die aktuellen Kategorie-Entscheidungen über Cookiebot.consent bereit und meldet Änderungen über Browser-Ereignisse. Wähle die Kategorie, die deinen dokumentierten Zwecken entspricht:

function syncWebChatAgentWithCookiebot() {
  const consent = window.Cookiebot?.consent
  const granted = Boolean(consent?.preferences && consent?.statistics)
  updateWebChatAgentConsent(granted)
}

window.addEventListener('CookiebotOnConsentReady', syncWebChatAgentWithCookiebot)
window.addEventListener('CookiebotOnAccept', syncWebChatAgentWithCookiebot)
window.addEventListener('CookiebotOnDecline', syncWebChatAgentWithCookiebot)

Die aktuellen Kategorie-Eigenschaften und -Ereignisse findest du in der Cookiebot-Entwicklerreferenz.

Complianz

Complianz stellt cmplz_has_consent(category) und Status-/Widerrufs-Hooks zur Verfügung:

function syncWebChatAgentWithComplianz() {
  const granted = typeof window.cmplz_has_consent === 'function'
    && window.cmplz_has_consent('marketing')
  updateWebChatAgentConsent(granted)
}

jQuery(document).on(
  'cmplz_status_change cmplz_revoke cmplz_enable_category',
  syncWebChatAgentWithComplianz
)

Ersetze marketing, wenn deine dokumentierte CMP-Konfiguration eine andere Kategorie verwendet. Siehe die Complianz-Integrationsreferenz.

Erstelle einen WebChatAgent-Service in der passenden Borlabs-Service-Gruppe und verwende die ID dieser Gruppe:

function syncWebChatAgentWithBorlabs() {
  const granted = Boolean(
    window.BorlabsCookie?.Consents?.hasConsentForServiceGroup('marketing')
  )
  updateWebChatAgentConsent(granted)
}

window.addEventListener('borlabs-cookie-after-init', syncWebChatAgentWithBorlabs)
window.addEventListener('borlabs-cookie-consent-saved', syncWebChatAgentWithBorlabs)

Ersetze marketing durch die in deiner Borlabs-Konfiguration verwendete Service-Gruppen-ID. Siehe die Borlabs Cookie JavaScript API.

Referenz zum Browser-Speicher

SchlüsselSpeicherErstellt wennZweck
chatSessionId_<chatbotId>localStorageBesucher nutzt Chat aktivFunktionale Unterhaltung fortsetzen
chatRecentSessions_<chatbotId>localStorageBesucher nutzt Funktionen für letzte ChatsLokale Liste bekannter Chat-Sitzungen
chatEndedSessions_<chatbotId>localStorageBesucher beendet einen ChatBeendete Sitzungen aus der aktiven Ansicht fernhalten
chatWidgetIsOpenlocalStorageBesucher öffnet oder schließt das schwebende WidgetFunktionalen UI-Status wiederherstellen
livechat_timeout_<chatbotId>_<sessionId>localStorageBesucher fordert Live-Chat anLive-Chat-Timeout fortsetzen
chatThumbRatings_<chatbotId>localStorageTracking-Einwilligung ist erteilt und Feedback wird abgesendetLokale Feedback-Auswahl speichern
wca_privacy_box_dismissed_<chatbotId>sessionStorageTracking-Einwilligung ist erteilt und Hinweis wird verworfenHinweis im aktuellen Tab ausblenden
wca_speech_bubble_dismissed_<chatbotId>sessionStorageTracking-Einwilligung ist erteilt und Sprechblase wird verworfenSprechblase im aktuellen Tab ausblenden
wca_triggers_<chatbotId>_*localStorage/sessionStorageTracking-Einwilligung ist erteiltWiederkehrende Besuche, Zähler, Cooldowns und Verwerfen-Status

Dein Datenschutzhinweis sollte die Speicherung und serverseitige Verarbeitung beschreiben, die in deiner Konfiguration tatsächlich aktiviert ist. Diese Dokumentation dient als technische Orientierung und ersetzt keine Rechtsberatung.