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
| Funktion | Ohne ein Einwilligungssignal |
|---|---|
| Verweildauer | Funktioniert lokal im Arbeitsspeicher |
| Scroll-Tiefe | Funktioniert lokal im Arbeitsspeicher |
| Exit-Intent | Funktioniert lokal im Arbeitsspeicher |
| Inaktivität | Funktioniert lokal im Arbeitsspeicher |
| URL-Match | Funktioniert für die aktuelle Seite |
| Abschnitts-Sichtbarkeit | Funktioniert lokal im Arbeitsspeicher |
| Rage-Klick | Funktioniert lokal im Arbeitsspeicher |
| Besuchte Seiten | Funktioniert bei SPA-Navigation innerhalb desselben Dokuments; setzt sich nach einem vollständigen Neuladen zurück |
| Wiederkehrender Besucher | Deaktiviert |
| KI-generierte proaktive Begrüßung | Verwendet das konfigurierte statische Fallback |
| Trigger-Analysen vor Chat-Interaktion | Deaktiviert |
| Dauerhafter/täglicher Cooldown | Fällt auf die Lebensdauer des aktuellen Dokuments zurück |
| Dauerhaftes Verwerfen | Bleibt 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.
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.
Borlabs Cookie 3
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üssel | Speicher | Erstellt wenn | Zweck |
|---|---|---|---|
chatSessionId_<chatbotId> | localStorage | Besucher nutzt Chat aktiv | Funktionale Unterhaltung fortsetzen |
chatRecentSessions_<chatbotId> | localStorage | Besucher nutzt Funktionen für letzte Chats | Lokale Liste bekannter Chat-Sitzungen |
chatEndedSessions_<chatbotId> | localStorage | Besucher beendet einen Chat | Beendete Sitzungen aus der aktiven Ansicht fernhalten |
chatWidgetIsOpen | localStorage | Besucher öffnet oder schließt das schwebende Widget | Funktionalen UI-Status wiederherstellen |
livechat_timeout_<chatbotId>_<sessionId> | localStorage | Besucher fordert Live-Chat an | Live-Chat-Timeout fortsetzen |
chatThumbRatings_<chatbotId> | localStorage | Tracking-Einwilligung ist erteilt und Feedback wird abgesendet | Lokale Feedback-Auswahl speichern |
wca_privacy_box_dismissed_<chatbotId> | sessionStorage | Tracking-Einwilligung ist erteilt und Hinweis wird verworfen | Hinweis im aktuellen Tab ausblenden |
wca_speech_bubble_dismissed_<chatbotId> | sessionStorage | Tracking-Einwilligung ist erteilt und Sprechblase wird verworfen | Sprechblase im aktuellen Tab ausblenden |
wca_triggers_<chatbotId>_* | localStorage/sessionStorage | Tracking-Einwilligung ist erteilt | Wiederkehrende 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.
