Il trattamento dei dati personali richiede un'adeguata base giuridica; il consenso è una delle basi possibili, non un requisito universale per ogni trattamento. Se ti basi sul consenso, questo deve essere espresso liberamente, specifico, informato, inequivocabile e revocabile. Consulta le linee guida dell'EDPB sul trattamento lecito dei dati. Valuta separatamente con il tuo consulente per la privacy le norme applicabili a cookie e archiviazione sul dispositivo.
I controlli indicati di seguito svolgono funzioni tecniche distinte. Né una casella di spunta per l'informativa né un caricamento posticipato garantiscono la conformità. Un blocco all'interno del widget non impedisce l'esecuzione dello script del widget, le richieste di rete o l'uso dell'archiviazione del browser prima dell'inizio di una conversazione.
Approccio 1 - Consenso alla privacy interno al widget. Richiedi ai visitatori di accettare la tua Informativa sulla privacy direttamente all'interno del widget di chat prima che possano avviare una conversazione o inviare dati personali.
Approccio 2 - Caricamento successivo al consenso. Blocca del tutto il caricamento dello script del chatbot finché il visitatore non concede il consenso ai cookie o al marketing tramite la tua piattaforma di gestione del consenso (CMP).
Approccio 1: Consenso alla privacy interno al widget
ChatLab include impostazioni di consenso integrate che consentono di richiedere ai visitatori l'accettazione dell'Informativa sulla privacy prima di interagire con il chatbot. Il widget stesso gestisce il flusso del consenso - non sono necessari strumenti esterni.
Accesso alle impostazioni
Apri il tuo chatbot nella dashboard, vai alla scheda Settings (Impostazioni), quindi fai clic su Consent & Privacy (Consenso e privacy) nella barra laterale sinistra.
Selettori di consenso
La scheda Request user consent (Richiedi il consenso dell'utente) contiene quattro selettori.
- Require Privacy Policy consent before starting a new conversation (Richiedi il consenso all'Informativa sulla privacy prima di iniziare una nuova conversazione) - Se abilitato, i visitatori devono accettare l'informativa prima di inviare il primo messaggio. È l'opzione più ampia: copre automaticamente tutti i moduli (acquisizione lead, supporto umano e live chat), disabilitando di conseguenza gli altri tre selettori.
- Require Privacy Policy consent for human support (Richiedi il consenso all'Informativa sulla privacy per il supporto umano) - Aggiunge una casella di spunta per il consenso al modulo di contatto del supporto umano.
- Require Privacy Policy consent for lead collection (Richiedi il consenso all'Informativa sulla privacy per l'acquisizione lead) - Aggiunge una casella di spunta per il consenso al modulo di acquisizione lead.
- Require Privacy Policy consent for live chat session (Richiedi il consenso all'Informativa sulla privacy per la sessione di live chat) - Aggiunge una casella di spunta per il consenso al modulo della live chat.
Se il consenso ti serve solo per interazioni specifiche (ad esempio solo durante la raccolta di dati personali tramite lead), abilita i singoli selettori anziché quello relativo a "new conversation".
Personalizzazione dei messaggi di consenso
Sotto i selettori, la scheda Consent & Privacy ti consente di configurare ciò che visualizzano i visitatori.
- Consent intro message (Messaggio introduttivo al consenso) - Il testo mostrato sopra la casella di spunta del consenso. Ad esempio: "Conferma di aver letto e accettato la nostra Informativa sulla privacy per continuare."
- Message to inform users about Privacy Policy consent requirement (Messaggio per informare gli utenti del requisito di consenso all'Informativa sulla privacy) - Il testo dell'etichetta della casella di spunta. Usa il markdown per includere un link alla tua informativa sulla privacy:
I have read and accept the [Privacy Policy](https://www.example.com/privacy-policy).
Dopo la configurazione, attendi che lo stato indichi che le modifiche sono state salvate. Esegui un test in una nuova sessione visitatore, verificando ogni modulo in uso. La disattivazione dell'opzione per la nuova conversazione non ripristina automaticamente i selettori dei singoli moduli precedentemente azzerati.
Approccio 2: Caricamento successivo al consenso (integrazione CMP)
Se in base alla tua cookie policy classifichi il chatbot come strumento di marketing, è opportuno impedire il caricamento dello script di ChatLab fino alla concessione del consenso da parte del visitatore. Ciò richiede l'integrazione con una Consent Management Platform.
Codice di incorporamento predefinito di ChatLab
Il codice di incorporamento standard di ChatLab è strutturato in questo modo:
<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>
Questo codice si carica immediatamente all'apertura della pagina, a prescindere dalle preferenze di consenso espresse dal visitatore.
Puoi trovare la tua API Key e il tuo Provider ID nella scheda Deploy (Pubblica) del tuo chatbot.
Usa lo schema seguente come esempio di implementazione, quindi convalidalo con la tua CMP effettiva e il tuo sito web. Gli esempi non costituiscono una certificazione né sostituiscono i test.
Prepara un unico loader condizionale
Rimuovi l'installazione standard e incondizionata di ChatLab dal sito, dai plugin e dal tag manager, in modo da avere un solo percorso di caricamento. Copia la tua chiave pubblica di incorporamento e il provider ID dalla scheda Deploy, non una chiave API segreta ck_ o mk_. Se la tua implementazione si appoggia a un host di script personalizzato, mantieni l'URL indicato in Deploy.
Definisci questa funzione di supporto prima di registrare i listener del consenso. Non caricherà ChatLab finché non verrà richiamata con il parametro 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>
In caso di revoca, questo esempio ricarica la pagina dopo che la CMP ha registrato il rifiuto. Al caricamento successivo della pagina lo script deve restare bloccato. Il ricaricamento può causare la perdita dei dati non salvati nei campi della pagina, pertanto integralo con cura nel flusso di revoca del tuo sito. La semplice rimozione dell'elemento script non interrompe il codice già eseguito, le connessioni in corso o un widget già visualizzato. Inoltre, il ricaricamento non cancella i dati raccolti in precedenza né i registri del consenso memorizzati.
Cookiebot
Seleziona la categoria corrispondente alle finalità da te documentate; il termine marketing usato qui è un esempio, non una classificazione vincolante imposta da ChatLab. Cookiebot espone il singolo oggetto consent. I suoi eventi ready, acceptance e decline consentono di riverificare tale categoria. Consulta la documentazione per sviluppatori di Cookiebot.
Installa questo listener prima che la CMP possa emettere il suo evento iniziale:
<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
Registra ChatLab come servizio associandolo alla finalità o categoria da te valutata. Segui l'implementazione indicata per la versione della Web CMP che hai installato. Se sono disponibili eventi personalizzati della finestra (window), configura un evento denominato ucEvent in Implementation > Data Layer & Events, quindi registra il listener prima dell'inizializzazione della CMP. Il nome del servizio nell'esempio deve corrispondere con precisione alla tua configurazione.
<script>
window.addEventListener("ucEvent", function (event) {
if (event.detail && event.detail.event === "consent_status") {
window.applyChatLabConsent(event.detail.ChatLab === true);
}
});
</script>
Questa procedura segue le indicazioni sugli eventi personalizzati di Usercentrics. Assicurati che la configurazione trasmetta sia la scelta salvata iniziale sia gli aggiornamenti successivi. In caso contrario, usa l'API dello stato iniziale documentata per la tua versione; non dare per scontato che il solo listener gestisca gli utenti di ritorno.
Google Tag Manager
- Integra la tua CMP con GTM e definisci i valori predefiniti di consenso negato obbligatori prima dell'esecuzione degli altri tag.
- Crea un tag Custom HTML (HTML personalizzato) contenente il loader condizionale e una chiamata a
applyChatLabConsent(true). - Apri Consent Settings (Impostazioni di consenso) del tag e configura Additional Consent Checks (Controlli del consenso aggiuntivi) per i tipi di consenso scelti per questo servizio.
- Usa come attivatore l'evento effettivo del data layer di consenso pronto o aggiornato fornito dalla tua CMP. Assicurati di coprire anche i visitatori di ritorno che hanno già concesso il consenso.
- Gestisci la revoca tramite il flusso della CMP con salvataggio della scelta e ricaricamento della pagina illustrato sopra.
- Esegui un test nella modalità di anteprima di GTM prima di pubblicare.
Un tag Custom HTML non rileva automaticamente il consenso solo perché sul sito è presente un banner. Non copiare nomi di eventi fittizi come CookieConsentDeclaration: l'evento e le variabili di consenso devono esistere all'interno del tuo contenitore. Consulta la guida di Google sulle impostazioni del consenso per i tag.
Verifiche prima della pubblicazione
In una nuova sessione del browser, verifica questi scenari tramite il pannello Rete (Network) del browser:
- Prima di qualsiasi scelta e dopo il rifiuto: non deve essere eseguito alcun loader di ChatLab, widget o richiesta API.
- Dopo l'accettazione: il widget si carica una sola volta e permette di iniziare una conversazione.
- Visitatore di ritorno con consenso memorizzato: il widget si carica senza richiedere ulteriori clic.
- Dopo la revoca: la pagina si ricarica, la scelta di rifiuto persiste e ChatLab rimane non caricato.
- Con il consenso interno al widget abilitato: la casella di spunta dell'informativa prevista viene mostrata prima dell'interazione configurata.
Verifica inoltre gli incorporamenti tramite iframe, altri plugin ed eventuali tag duplicati: il blocco di un singolo script non impedisce l'esecuzione di una seconda installazione. Per le opzioni di conservazione dei dati, consulta Eliminazione dei dati.