Cookie-toestemming en anonieme proactieve triggers

Website-toestemming en de widget zijn gescheiden

Je website blijft verantwoordelijk voor zijn eigen toestemmingsbanner en Privacyverklaring. De toestemmingsinterface van de widget vervangt je consent-managementplatform (CMP) niet, en WebChatAgent voegt geen tweede banner toe binnen de ingesloten widget.

De widget start in anonieme privacymodus wanneer tracking-consent wordt weggelaten of is ingesteld op unknown. In deze modus blijven lokale triggerbeslissingen in het geheugen en worden ze niet verzonden naar WebChatAgent.

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

Wat werkt zonder toestemmingssignaal

FunctieZonder een toestemmingssignaal
Tijd op paginaWerkt lokaal in het geheugen
ScrolldiepteWerkt lokaal in het geheugen
Verlaat-intentieWerkt lokaal in het geheugen
InactiviteitWerkt lokaal in het geheugen
URL-matchWerkt voor de huidige pagina
SectiezichtbaarheidWerkt lokaal in het geheugen
Rage-klikWerkt lokaal in het geheugen
Bezochte pagina'sWerkt tijdens SPA-navigatie binnen hetzelfde document; reset na een volledige herlaadbeurt
Terugkerende bezoekerUitgeschakeld
AI-gegenereerde proactieve begroetingGebruikt de geconfigureerde statische fallback
Trigger-analyse voorafgaand aan chat-interactieUitgeschakeld
Permanente/dagelijkse cooldownValt terug op de levensduur van het huidige document
Permanent afwijzenBlijft alleen actief totdat het document opnieuw wordt geladen

Voordat een bezoeker interactie heeft met de chat, maakt de anonieme trggerevaluatie geen bezoekers-ID aan, schrijft deze geen proactieve status naar de browseropslag en stuurt deze geen gedragsgebeurtenissen naar WebChatAgent.

Toestemmingsinterface

Gebruik het optionele attribuut wanneer je toestemmingsbeheerder de keuze van de bezoeker al kent:

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

Toegestane waarden zijn unknown, denied en granted. Ontbrekende en ongeldige waarden worden behandeld als unknown.

Voor toestemmingswijzigingen zonder de pagina opnieuw te laden, verzend je:

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

Verstuur denied wanneer toestemming is geweigerd of ingetrokken. WebChatAgent stopt dan met optionele tracking en verwijdert de status van proactieve triggers plus toestemmingsafhankelijke UI-personalisatie. Functionele opslag voor chatsessies blijft beschikbaar nadat de bezoeker de chat actief gebruikt.

Bij whitelabel-implementaties werkt de merkneutrale gebeurtenisnaam chat-widget:consent identiek, gebruik deze wanneer de insluitende pagina niet naar de platformnaam mag verwijzen.

Verzend granted pas nadat je CMP een geldige keuze heeft geregistreerd voor de categorie die elke ingeschakelde functie dekt. AI-gegenereerde begroetingen, bezoekersherkenning en trigger-analyse vereisen mogelijk andere beschrijvingen of categorieën in je configuratie. Bevestig de toewijzing met je privacyadviseur.

Generieke 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 toont de huidige categoriebeslissingen via Cookiebot.consent en meldt wijzigingen via browsergebeurtenissen. Kies de categorie die overeenkomt met je gedocumenteerde doeleinden:

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)

Raadpleeg de Cookiebot developer reference voor de actuele categorie-eigenschappen en gebeurtenissen.

Complianz

Complianz biedt cmplz_has_consent(category) en status-/intrekkingshooks:

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
)

Vervang marketing als je gedocumenteerde CMP-configuratie een andere categorie gebruikt. Raadpleeg de Complianz integration reference.

Maak een WebChatAgent-dienst aan in de juiste Borlabs-dienstgroep en gebruik de ID van die groep:

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)

Vervang marketing door de dienstgroep-ID die in je Borlabs-configuratie wordt gebruikt. Raadpleeg de Borlabs Cookie JavaScript API.

Overzicht browseropslag

SleutelOpslagAangemaakt wanneerDoel
chatSessionId_<chatbotId>localStorageBezoeker gebruikt chat actiefDe functionele conversatie hervatten
chatRecentSessions_<chatbotId>localStorageBezoeker gebruikt functies voor recente chatsLokale lijst met bekende chatsessies
chatEndedSessions_<chatbotId>localStorageBezoeker beëindigt een chatBeëindigde sessies buiten de actieve weergave houden
chatWidgetIsOpenlocalStorageBezoeker opent of sluit de zwevende widgetFunctionele UI-status herstellen
livechat_timeout_<chatbotId>_<sessionId>localStorageBezoeker vraagt live chat aanDe time-out voor live chat hervatten
chatThumbRatings_<chatbotId>localStorageToestemming voor tracking is verleend en feedback is verzondenLokale feedbackselectie onthouden
wca_privacy_box_dismissed_<chatbotId>sessionStorageToestemming voor tracking is verleend en melding is afgewezenDe melding verbergen in het huidige tabblad
wca_speech_bubble_dismissed_<chatbotId>sessionStorageToestemming voor tracking is verleend en spraakbubbel is afgewezenDe spraakbubbel verbergen in het huidige tabblad
wca_triggers_<chatbotId>_*localStorage/sessionStorageToestemming voor tracking is verleendTerugkerende bezoeken, tellers, cooldowns en afwijsstatus

Je Privacyverklaring moet de opslag en serverzijde-verwerking beschrijven die daadwerkelijk zijn ingeschakeld in je configuratie. Deze documentatie biedt technische richtlijnen en is geen vervanging voor juridisch advies.