Os regulamentos do RGPD exigem que os websites obtenham o consentimento do utilizador antes de processar dados pessoais ou carregar scripts relacionados com marketing. O ChatLab oferece duas formas de responder a esta exigência, podendo utilizar uma delas ou ambas, consoante as suas necessidades.
Abordagem 1 - Consentimento de privacidade no widget. Exija que os visitantes aceitem a sua Política de Privacidade diretamente dentro do widget de chat antes de poderem iniciar uma conversa ou enviar informações pessoais.
Abordagem 2 - Carregar após consentimento. Impeça totalmente o carregamento do script do chatbot até que o visitante conceda o consentimento de cookies/marketing através da sua Plataforma de Gestão de Consentimento (CMP).
Abordagem 1: Consentimento de privacidade no widget
O ChatLab tem definições de consentimento integradas que lhe permitem exigir que os visitantes aceitem a sua Política de Privacidade antes de interagirem com o chatbot. O próprio widget faz a gestão do fluxo de consentimento - sem necessidade de ferramentas externas.
Aceder às definições
Abra o seu chatbot no painel, aceda ao separador Settings (Definições) e, em seguida, clique em Consent & Privacy (Consentimento e privacidade) na barra lateral esquerda.
Seletores de consentimento
O cartão Request user consent (Solicitar consentimento do utilizador) tem quatro seletores.
- Require Privacy Policy consent before starting a new conversation (Exigir consentimento da Política de Privacidade antes de iniciar uma nova conversa) - Quando ativado, os visitantes têm de aceitar a política antes de enviarem a sua primeira mensagem. Esta é a opção mais abrangente: cobre automaticamente todos os formulários (recolha de leads, suporte humano e live chat), pelo que os outros três seletores ficam desativados.
- Require Privacy Policy consent for human support (Exigir consentimento da Política de Privacidade para suporte humano) - Adiciona uma caixa de seleção de consentimento ao formulário de contacto de suporte humano.
- Require Privacy Policy consent for lead collection (Exigir consentimento da Política de Privacidade para recolha de leads) - Adiciona uma caixa de seleção de consentimento ao formulário de recolha de leads.
- Require Privacy Policy consent for live chat session (Exigir consentimento da Política de Privacidade para sessão de live chat) - Adiciona uma caixa de seleção de consentimento ao formulário de live chat.
Se apenas necessitar de consentimento para interações específicas (por exemplo, apenas ao recolher dados pessoais através de leads), ative os seletores individuais em vez do seletor "new conversation".
Personalizar as mensagens de consentimento
Abaixo dos seletores, o cartão Consent & Privacy permite-lhe configurar o que os visitantes veem.
- Consent intro message (Mensagem de introdução ao consentimento) - O texto apresentado acima da caixa de seleção de consentimento. Por exemplo: "Por favor, confirme que leu e aceita a nossa Política de Privacidade para continuar."
- Message to inform users about Privacy Policy consent requirement (Mensagem para informar os utilizadores sobre a obrigatoriedade de consentimento da Política de Privacidade) - O texto da etiqueta da caixa de seleção. Utilize markdown para incluir uma ligação para a sua política de privacidade:
Li e aceito a [Política de Privacidade](https://www.example.com/privacy-policy).
Depois de configurar, clique em Save Changes (Guardar alterações).
Abordagem 2: Carregar após consentimento (integração CMP)
Se classificar o chatbot como uma ferramenta de marketing ao abrigo da sua política de cookies, deve impedir o carregamento do script do ChatLab até que o visitante conceda o consentimento. Isto requer a integração com uma Plataforma de Gestão de Consentimento.
Código de incorporação predefinido do ChatLab
O código de incorporação padrão do ChatLab tem este aspeto:
<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>
Este código carrega imediatamente quando a página é aberta, independentemente das preferências de consentimento do visitante.
Pode encontrar a sua API Key e Provider ID no separador Deploy (Implementar) do seu chatbot.
Abaixo encontram-se métodos testados para adiar o script até que o consentimento seja concedido utilizando o CookieBot, o Usercentrics e o Google Tag Manager.
CookieBot
Passo 1: Declarar o carregador num script bloqueado
Adicione o seguinte script à sua página. O CookieBot bloqueia-o até que o visitante dê consentimento de marketing.
<script type="text/plain" data-cookieconsent="marketing">
window.loadChatLab = function () {
if (document.getElementById("YOUR_API_KEY_HERE")) return;
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.defer = true;
script.id = "YOUR_API_KEY_HERE";
document.body.appendChild(script);
};
window.unloadChatLab = function () {
var existing = document.getElementById("YOUR_API_KEY_HERE");
if (existing) existing.remove();
delete window.aichatbotApiKey;
delete window.aichatbotProviderId;
};
window.loadChatLab();
</script>
Passo 2: Monitorizar as alterações de consentimento
<script>
function checkCookiebotConsent() {
if (Cookiebot.consents?.marketing && typeof window.loadChatLab === "function") {
window.loadChatLab();
} else if (typeof window.unloadChatLab === "function") {
window.unloadChatLab();
}
}
window.addEventListener("CookiebotOnConsentReady", checkCookiebotConsent);
window.addEventListener("CookieConsentDeclaration", checkCookiebotConsent);
</script>
Usercentrics
Passo 1: Registar um serviço personalizado
No seu painel do Usercentrics, crie um novo serviço:
- Name: ChatLab
- Category: Marketing
- Behavior: Block execution until consent is granted
Passo 2: Declarar o carregador
<script>
window.loadChatLab = function () {
if (document.getElementById("YOUR_API_KEY_HERE")) return;
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.defer = true;
script.id = "YOUR_API_KEY_HERE";
document.body.appendChild(script);
};
window.unloadChatLab = function () {
var existing = document.getElementById("YOUR_API_KEY_HERE");
if (existing) existing.remove();
delete window.aichatbotApiKey;
delete window.aichatbotProviderId;
};
</script>
Passo 3: Monitorizar as alterações de consentimento
<script>
function checkUsercentricsConsent() {
var services = window.UC_UI?.getServicesBaseInfo?.() || [];
var hasConsent = services.some(
function (s) { return s.name === "ChatLab" && s.consent.status === true; }
);
if (hasConsent && typeof loadChatLab === "function") {
window.loadChatLab();
} else if (typeof unloadChatLab === "function") {
window.unloadChatLab();
}
}
window.addEventListener("UC_UI_INITIALIZED", checkUsercentricsConsent);
window.addEventListener("UC_UI_CONSENTS_UPDATED", checkUsercentricsConsent);
</script>
Google Tag Manager
Se utiliza o GTM com qualquer ferramenta CMP (CookieBot, Usercentrics ou outra), pode carregar o ChatLab condicionalmente através de etiquetas (tags) e acionadores (triggers).
Passo 1: Criar a etiqueta de carregamento
- Aceda a Tags > New (Etiquetas > Nova)
- Defina o Tag Type (Tipo de etiqueta) como Custom HTML (HTML personalizado)
- Nomeie a etiqueta como Load ChatLab
- Cole este HTML:
<script>
window.loadChatLab = function () {
if (document.getElementById("YOUR_API_KEY_HERE")) return;
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.defer = true;
script.id = "YOUR_API_KEY_HERE";
document.body.appendChild(script);
};
window.loadChatLab();
</script>
Passo 2: Criar a etiqueta de descarregamento
- Crie outra etiqueta Custom HTML com o nome Unload ChatLab
- Cole este HTML:
<script>
window.unloadChatLab = function () {
var existing = document.getElementById("YOUR_API_KEY_HERE");
if (existing) existing.remove();
delete window.aichatbotApiKey;
delete window.aichatbotProviderId;
};
window.unloadChatLab();
</script>
Passo 3: Criar o acionador de consentimento
- Aceda a Triggers > New (Acionadores > Novo)
- Nomeie o acionador como Consent - Marketing Accepted
- Defina o Trigger Type (Tipo de acionador) como Custom Event (Evento personalizado)
- Defina o Event name (Nome do evento) como
CookieConsentDeclaration - Em This trigger fires on (Este acionador dispara em), escolha Some Custom Events (Alguns eventos personalizados) com a condição:
CookieConsent marketing equals true - Associe este acionador à etiqueta Load ChatLab
Passo 4: Criar o acionador de revogação
Siga os mesmos passos para criar um acionador para quando o consentimento de marketing for recusado e associe-o à etiqueta Unload ChatLab.
Resumo
- Para consentimento no widget: Aceda a Bot Settings > Consent & Privacy (Definições do bot > Consentimento e privacidade) e ative os seletores pretendidos. Personalize a mensagem de consentimento e adicione uma ligação em markdown para a sua política de privacidade.
- Para carregar após consentimento: Substitua o código de incorporação predefinido por um carregador condicional que só é executado depois de a sua CMP confirmar que o consentimento de marketing foi concedido.
- Pode combinar ambas as abordagens para obter a máxima conformidade - adie o carregamento do script até ao consentimento de cookies e, em seguida, exija também a aceitação da política de privacidade dentro do widget.