Helpcentrum
Chatbot toevoegen aan website

Privacytoestemming en het laden van ChatLab na toestemming

Laatst bijgewerkt:

De verwerking van persoonsgegevens vereist een passende wettelijke grondslag; toestemming is één mogelijke grondslag, geen universele vereiste voor elke verwerking. Als je op toestemming vertrouwt, moet deze vrijelijk gegeven, specifiek, geïnformeerd, ondubbelzinnig en herroepbaar zijn. Bekijk de richtlijnen van de EDPB over rechtmatige verwerking. Beoordeel de toepasselijke regels voor cookies en apparaat-opslag afzonderlijk met jouw privacyadviseur.

De onderstaande instellingen vervullen verschillende technische functies. Noch een selectievakje voor beleidsakkoord, noch uitgesteld laden garandeert naleving. Een blokkade binnen de widget voorkomt niet dat het widget-script, netwerkverzoeken of browseropslag al vóór het begin van een gesprek worden gebruikt.

Aanpak 1 - Privacytoestemming in de widget. Verplicht bezoekers om jouw Privacybeleid rechtstreeks in de chatwidget te accepteren voordat ze een gesprek kunnen beginnen of persoonsgegevens kunnen versturen.

Aanpak 2 - Laden na toestemming. Voorkom dat het chatbot-script überhaupt laadt totdat de bezoeker cookie- of marketingtoestemming geeft via jouw Consent Management Platform (CMP).


Aanpak 1: Privacytoestemming in de widget

ChatLab heeft ingebouwde toestemmingsinstellingen waarmee je bezoekers kunt verplichten jouw Privacybeleid te accepteren voordat ze met de chatbot communiceren. De widget zelf verwerkt de toestemmingsstroom - er zijn geen externe tools nodig.

De instellingen openen

Open jouw chatbot in het dashboard, ga naar het tabblad Settings (Instellingen) en klik vervolgens op Consent & Privacy (Toestemming en privacy) in de linkerzijbalk.

Tabblad Consent & Privacy gemarkeerd in de zijbalk

Schakelaars voor toestemming

De kaart Request user consent (Toestemming van gebruiker vragen) bevat vier schakelaars.

Kaart Request user consent met schakelaars

  • Require Privacy Policy consent before starting a new conversation (Toestemming voor privacybeleid vereisen voor het starten van een nieuw gesprek) - Wanneer ingeschakeld, moeten bezoekers het beleid accepteren voordat ze hun eerste bericht sturen. Dit is de meest brede optie: deze dekt automatisch alle formulieren (het verzamelen van leads, menselijke ondersteuning en Live Chat), waardoor de andere drie schakelaars worden uitgeschakeld.
  • Require Privacy Policy consent for human support (Toestemming voor privacybeleid vereisen voor menselijke ondersteuning) - Voegt een selectievakje voor toestemming toe aan het contactformulier voor menselijke ondersteuning.
  • Require Privacy Policy consent for lead collection (Toestemming voor privacybeleid vereisen voor het verzamelen van leads) - Voegt een selectievakje voor toestemming toe aan het formulier voor leadverzameling.
  • Require Privacy Policy consent for live chat session (Toestemming voor privacybeleid vereisen voor live chat-sessie) - Voegt een selectievakje voor toestemming toe aan het live chat-formulier.

Als je alleen toestemming nodig hebt voor specifieke interacties (bijvoorbeeld alleen bij het verzamelen van persoonsgegevens via leads), schakel dan de afzonderlijke schakelaars in plaats van de optie "nieuw gesprek" in.

De toestemmingsberichten aanpassen

Onder de schakelaars kun je op de kaart Consent & Privacy configureren wat bezoekers te zien krijgen.

Veld voor het label van het selectievakje voor Privacybeleid

  • Consent intro message (Introductiebericht toestemming) - De tekst die boven het selectievakje voor toestemming wordt weergegeven. Bijvoorbeeld: "Bevestig dat je ons Privacybeleid hebt gelezen en geaccepteerd om door te gaan."
  • Message to inform users about Privacy Policy consent requirement (Bericht om gebruikers te informeren over de vereiste van toestemming voor het privacybeleid) - De labeltekst van het selectievakje. Gebruik markdown om een link naar jouw privacybeleid op te nemen:
I have read and accept the [Privacy Policy](https://www.example.com/privacy-policy).

Wacht na het configureren op de opgeslagen status. Test dit in een nieuwe bezoekerssessie, inclusief elk formulier dat je gebruikt. Het uitschakelen van de optie voor een nieuw gesprek herstelt de afzonderlijke formulierschakelaars die daardoor waren gewist niet automatisch.


Aanpak 2: Laden na toestemming (CMP-integratie)

Als je de chatbot onder jouw cookiebeleid classificeert als marketingtool, moet je voorkomen dat het ChatLab-script laadt totdat de bezoeker toestemming geeft. Dit vereist een integratie met een Consent Management Platform.

Standaard ChatLab-insluitcode

De standaard insluitcode van ChatLab ziet er zo uit:

<script>
  window.aichatbotApiKey = "YOUR_API_KEY_HERE";
  window.aichatbotProviderId = "YOUR_PROVIDER_ID_HERE";
</script>
<script src="https://script.chatlab.com/aichatbot.js" id="YOUR_API_KEY_HERE" defer></script>

Deze code laadt onmiddellijk wanneer de pagina wordt geopend, ongeacht de toestemmingsvoorkeuren van de bezoeker.

Je vindt jouw API Key en Provider ID op het tabblad Deploy (Publiceren) van jouw chatbot.

Insluitcode op het tabblad Deploy

Gebruik het volgende patroon als implementatievoorbeeld en valideer het vervolgens met jouw daadwerkelijke CMP en website. De voorbeelden vormen geen certificering of vervanging van tests.

Eén voorwaardelijke lader voorbereiden

Verwijder de normale, onvoorwaardelijke ChatLab-installatie van jouw site, plug-ins en tagmanager, zodat er slechts één laadtraject is. Kopieer jouw openbare embed key en provider ID uit Deploy, geen geheime ck_- of mk_-API-sleutel. Als jouw implementatie een gebrandmerkte script-host gebruikt, behoud dan de URL uit Deploy.

Definieer deze helper voordat je jouw toestemmingslisteners registreert. Deze laadt ChatLab pas wanneer deze wordt aangeroepen met true.

<script>
  window.applyChatLabConsent = function (allowed) {
    if (!allowed) {
      if (window.chatLabLoadedAfterConsent) window.location.reload();
      return;
    }
    if (window.chatLabLoadedAfterConsent) return;
    window.chatLabLoadedAfterConsent = true;
    window.aichatbotApiKey = "YOUR_API_KEY_HERE";
    window.aichatbotProviderId = "YOUR_PROVIDER_ID_HERE";

    var script = document.createElement("script");
    script.src = "https://script.chatlab.com/aichatbot.js";
    script.id = window.aichatbotApiKey;
    script.defer = true;
    document.head.appendChild(script);
  };
</script>

Bij intrekking herlaadt dit voorbeeld de pagina nadat het CMP de geweigerde keuze heeft opgeslagen. Bij het volgende laden van de pagina moet het script geblokkeerd blijven. Een herlaadactie kan niet-opgeslagen paginagegevens wissen, dus integreer dit goed in de intrekkingsprocedure van jouw site. Het louter verwijderen van het scriptelement stopt reeds uitgevoerde code, verbindingen of een bestaande widget niet. Herladen wist evenmin eerder verzamelde gegevens of opgeslagen toestemmingsrecords.

Cookiebot

Kies de categorie die overeenkomt met jouw gedocumenteerde doeleinden; marketing is hier een voorbeeld, geen classificatie die ChatLab oplegt. Cookiebot stelt het enkelvoudige consent-object beschikbaar. Met de events voor gereedheid, acceptatie en weigering kun je die categorie opnieuw controleren. Zie de documentatie voor ontwikkelaars van Cookiebot.

Installeer deze listener voordat het CMP zijn initiële event kan activeren:

<script>
  function checkChatLabCookiebotConsent() {
    window.applyChatLabConsent(
      !!(window.Cookiebot && window.Cookiebot.consent &&
         window.Cookiebot.consent.marketing)
    );
  }
  window.addEventListener("CookiebotOnConsentReady", checkChatLabCookiebotConsent);
  window.addEventListener("CookiebotOnAccept", checkChatLabCookiebotConsent);
  window.addEventListener("CookiebotOnDecline", checkChatLabCookiebotConsent);
  checkChatLabCookiebotConsent();
</script>

Usercentrics

Registreer ChatLab als een dienst met het door jou beoordeelde doel of de categorie. Gebruik de implementatie voor jouw geïnstalleerde Web CMP-versie. Waar aangepaste window-events beschikbaar zijn, configureer je een event met de naam ucEvent in Implementation > Data Layer & Events, en registreer je de listener voordat het CMP initialiseert. De servicenaam in het voorbeeld moet exact overeenkomen met jouw configuratie.

<script>
  window.addEventListener("ucEvent", function (event) {
    if (event.detail && event.detail.event === "consent_status") {
      window.applyChatLabConsent(event.detail.ChatLab === true);
    }
  });
</script>

Dit volgt de handleiding voor aangepaste events van Usercentrics. Controleer of jouw configuratie zowel de initiële opgeslagen keuze als latere updates doorgeeft. Als dat niet het geval is, gebruik dan de gedocumenteerde API voor de beginstatus van jouw versie; ga er niet van uit dat een listener alleen terugkerende bezoekers afhandelt.

Google Tag Manager

  1. Integreer jouw CMP met GTM en stel de vereiste standaardinstellingen voor geweigerde toestemming in voordat andere tags worden uitgevoerd.
  2. Maak een tag van het type Custom HTML (Aangepaste HTML) aan die de voorwaardelijke lader en een aanroep naar applyChatLabConsent(true) bevat.
  3. Open de Consent Settings (Toestemmingsinstellingen) van de tag en configureer Additional Consent Checks (Aanvullende toestemmingscontroles) voor de toestemmingstypen die voor deze dienst zijn gekozen.
  4. Gebruik het daadwerkelijke data-layer-event voor toestemmingsstatus/-update van jouw CMP als trigger. Zorg ook voor dekking voor terugkerende bezoekers van wie de toestemming al was verleend.
  5. Verwerk intrekking via de hierboven beschreven procedure met de opgeslagen keuze van het CMP en het herladen van de pagina.
  6. Test in de voorbeeldmodus (Preview) van GTM voordat je publiceert.

Een Custom HTML-tag wordt niet automatisch toestemmingsbewust louter omdat jouw site een banner heeft. Kopieer geen fictieve eventnaam zoals CookieConsentDeclaration; het event en de toestemmingsvariabelen moeten daadwerkelijk in jouw container bestaan. Zie Google's tag consent settings.

Controleer vóór publicatie

Controleer in een nieuwe browsersessie de volgende situaties via het Network-paneel van de browser:

  • Vóór elke keuze en na weigering: er mogen geen ChatLab-lader, widget of API-verzoeken voorkomen.
  • Na goedkeuring: de widget laadt één keer en kan een gesprek starten.
  • Terugkeren met opgeslagen goedkeuring: de widget laadt zonder extra klik.
  • Na intrekking: de pagina herlaadt, de geweigerde keuze blijft behouden en ChatLab blijft niet geladen.
  • Met toestemming in de widget ingeschakeld: het verwachte selectievakje voor het beleid verschijnt vóór de geconfigureerde interactie.

Controleer ook iframe-insluitingen, andere plug-ins en dubbele tags: het blokkeren van één script blokkeert een tweede installatie niet. Raadpleeg Deleting your data voor beheermogelijkheden rond gegevensretentie.