Przetwarzanie danych osobowych wymaga odpowiedniej podstawy prawnej; zgoda jest jedną z możliwych podstaw, a nie uniwersalnym wymogiem dla każdego przetwarzania. Jeśli opierasz się na zgodzie, musi być ona dobrowolna, konkretna, świadoma, jednoznaczna i możliwa do wycofania. Zobacz wytyczne EROD dotyczące zgodnego z prawem przetwarzania. Obowiązujące przepisy dotyczące plików cookie i pamięci urządzenia oceniaj osobno ze swoim doradcą ds. prywatności.
Poniższe mechanizmy pełnią różne funkcje techniczne. Ani pole wyboru polityki prywatności, ani opóźnione ładowanie nie gwarantują pełnej zgodności z przepisami. Blokada wewnątrz widgetu nie zapobiega uruchomieniu skryptu widgetu, żądaniom sieciowym ani korzystaniu z pamięci przeglądarki przed rozpoczęciem rozmowy.
Podejście 1 - Akceptacja polityki prywatności wewnątrz widgetu (In-Widget Privacy Consent). Wymagaj od odwiedzających zaakceptowania Twojej polityki prywatności bezpośrednio w widgecie czatu, zanim będą mogli rozpocząć rozmowę lub przesłać dane osobowe.
Podejście 2 - Ładowanie po uzyskaniu zgody (Load After Consent). Całkowicie zablokuj ładowanie skryptu chatbota do momentu, gdy odwiedzający wyrazi zgodę na pliki cookie lub działania marketingowe za pośrednictwem Twojej platformy zarządzania zgodami (CMP - Consent Management Platform).
Podejście 1: Akceptacja polityki prywatności w widgecie
ChatLab ma wbudowane ustawienia zgody, które pozwalają wymagać od odwiedzających zaakceptowania Twojej polityki prywatności przed rozpoczęciem rozmowy z chatbotem. Sam widget obsługuje cały proces wyrażania zgody - bez potrzeby korzystania z zewnętrznych narzędzi.
Przejście do ustawień
Otwórz swojego chatbota w panelu, przejdź do zakładki Settings (Ustawienia), a następnie kliknij Consent & Privacy (Zgoda i prywatność) na pasku bocznym po lewej stronie.
Przełączniki zgody
Karta Request user consent (Wymagaj zgody użytkownika) zawiera cztery przełączniki.
- Require Privacy Policy consent before starting a new conversation - gdy ta opcja jest włączona, odwiedzający muszą zaakceptować zasady przed wysłaniem pierwszej wiadomości. To najszersza opcja: automatycznie obejmuje wszystkie formularze (zbieranie leadów, wsparcie człowieka oraz czat na żywo), więc pozostałe trzy przełączniki stają się nieaktywne.
- Require Privacy Policy consent for human support - dodaje pole wyboru zgody do formularza kontaktu ze wsparciem człowieka.
- Require Privacy Policy consent for lead collection - dodaje pole wyboru zgody do formularza zbierania leadów.
- Require Privacy Policy consent for live chat session - dodaje pole wyboru zgody do formularza sesji czatu na żywo.
Jeśli potrzebujesz zgody tylko na określone interakcje (na przykład tylko podczas zbierania danych osobowych w postaci leadów), włącz poszczególne przełączniki zamiast opcji dotyczącej nowej rozmowy.
Dostosowywanie komunikatów o zgodzie
Poniżej przełączników karta Consent & Privacy pozwala skonfigurować to, co widzą odwiedzający.
- Consent intro message - tekst wyświetlany nad polem wyboru zgody. Na przykład: "Potwierdź przeczytanie i zaakceptowanie naszej polityki prywatności, aby kontynuować."
- Message to inform users about Privacy Policy consent requirement - tekst etykiety pola wyboru. Użyj formatu Markdown, aby wstawić link do swojej polityki prywatności:
I have read and accept the [Privacy Policy](https://www.example.com/privacy-policy).
Po zakończeniu konfiguracji poczekaj na zapisanie zmian. Przetestuj działanie w nowej sesji gościa, sprawdzając każdy używany formularz. Wyłączenie opcji nowej rozmowy nie przywraca automatycznie przełączników poszczególnych formularzy, które zostały wcześniej przez nią wyczyszczone.
Podejście 2: Ładowanie po uzyskaniu zgody (integracja z CMP)
Jeśli w swojej polityce cookies klasyfikujesz chatbota jako narzędzie marketingowe, zablokuj ładowanie skryptu ChatLab do momentu wyrażenia zgody przez osobę odwiedzającą stronę. Wymaga to integracji z platformą zarządzania zgodami (Consent Management Platform - CMP).
Domyślny kod osadzenia ChatLab
Standardowy kod osadzenia ChatLab wygląda następująco:
<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>
Ten kod ładuje się natychmiast po otwarciu strony, niezależnie od preferencji dotyczących zgód osoby odwiedzającej.
Twój klucz API (API Key) i identyfikator dostawcy (Provider ID) znajdziesz w zakładce Deploy (Wdróż) swojego chatbota.
Użyj poniższego wzorca jako przykładu wdrożenia, a następnie zweryfikuj go ze swoją platformą CMP i stroną internetową. Te przykłady nie stanowią certyfikacji ani nie zastępują testów.
Przygotowanie jednego modułu ładowania warunkowego
Usuń standardową, bezwarunkową instalację ChatLab ze swojej strony, wtyczek i menedżera tagów, aby istniała tylko jedna ścieżka ładowania. Skopiuj swój publiczny klucz osadzenia oraz identyfikator dostawcy z zakładki Deploy, a nie tajny klucz API ck_ czy mk_. Jeśli Twoje wdrożenie korzysta z hosta skryptu z własnym brandingiem, zachowaj adres URL z zakładki Deploy.
Zdefiniuj tę funkcję pomocniczą przed zarejestrowaniem funkcji nasłuchujących zgody. Nie ładuje ona ChatLab, dopóki nie zostanie wywołana z parametrem 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>
W przypadku wycofania zgody ten przykład przeładowuje stronę po tym, jak CMP zapisze decyzję o odmowie. Przy kolejnym załadowaniu strony ChatLab musi pozostać zablokowany. Przeładowanie może spowodować utratę niezapisanych danych wprowadzonych na stronie, dlatego uwzględnij to w procesie wycofywania zgody w swojej witrynie. Samo usunięcie elementu skryptu nie zatrzymuje już wykonanego kodu, aktywnych połączeń ani istniejącego widgetu. Przeładowanie nie powoduje również usunięcia wcześniej zebranych danych ani zapisanych rejestrów zgód.
Cookiebot
Wybierz kategorię odpowiadającą Twoim udokumentowanym celom; marketing w tym miejscu to tylko przykład, a nie klasyfikacja narzucona przez ChatLab. Cookiebot udostępnia pojedynczy obiekt consent. Zdarzenia gotowości, akceptacji i odrzucenia pozwalają na ponowne sprawdzenie tej kategorii. Zobacz dokumentację dla deweloperów platformy Cookiebot.
Zainstaluj tę funkcję nasłuchującą, zanim CMP wyemituje swoje początkowe zdarzenie:
<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
Zarejestruj ChatLab jako usługę z przypisanym przez Ciebie celem lub kategorią. Użyj implementacji odpowiedniej dla zainstalowanej wersji Web CMP. Tam, gdzie dostępne są niestandardowe zdarzenia obiektu window, skonfiguruj zdarzenie o nazwie ucEvent w sekcji Implementation > Data Layer & Events (Wdrożenie > Warstwa danych i zdarzenia), a następnie zarejestruj funkcję nasłuchującą przed inicjalizacją CMP. Nazwa usługi w przykładzie musi dokładnie odpowiadać Twojej konfiguracji.
<script>
window.addEventListener("ucEvent", function (event) {
if (event.detail && event.detail.event === "consent_status") {
window.applyChatLabConsent(event.detail.ChatLab === true);
}
});
</script>
Jest to zgodne ze wskazówkami Usercentrics dotyczącymi zdarzeń niestandardowych. Upewnij się, że Twoja konfiguracja emituje zarówno początkowy zapisany wybór, jak i późniejsze aktualizacje. Jeśli tak nie jest, skorzystaj z udokumentowanego API stanu początkowego dla swojej wersji; nie zakładaj, że sama funkcja nasłuchująca obsłuży powracających użytkowników.
Google Tag Manager
- Zintegruj platformę CMP z GTM i skonfiguruj wymagane domyślne stany odmowy zgody przed uruchomieniem innych tagów.
- Utwórz tag Custom HTML (Niestandardowy kod HTML) zawierający moduł ładowania warunkowego oraz wywołanie
applyChatLabConsent(true). - Otwórz sekcję Consent Settings (Ustawienia zgody) w tagu i skonfiguruj Additional Consent Checks (Dodatkowe sprawdzanie zgody) dla typów zgód wybranych dla tej usługi.
- Jako regułę uruchamiającą wykorzystaj rzeczywiste zdarzenie gotowości lub aktualizacji zgody w warstwie danych, dostarczane przez Twoją platformę CMP. Uwzględnij również powracających użytkowników, którzy wyrazili już zgodę.
- Obsłuż wycofanie zgody za pomocą opisanego wyżej schematu zapisu wyboru w CMP i przeładowania strony.
- Przetestuj konfigurację w trybie podglądu GTM przed publikacją.
Tag Niestandardowy kod HTML nie zaczyna automatycznie uwzględniać zgód tylko dlatego, że na stronie wyświetla się baner. Nie kopiuj fikcyjnej nazwy zdarzenia, takiej jak CookieConsentDeclaration - zdarzenie oraz zmienne zgód muszą faktycznie istnieć w Twoim kontenerze. Zobacz ustawienia zgody na tagi Google.
Zweryfikuj przed publikacją
W nowej sesji przeglądarki sprawdź poniższe przypadki za pomocą panelu Sieć (Network) w przeglądarce:
- Przed dokonaniem wyboru oraz po odrzuceniu zgody: skrypt ładujący ChatLab, widget ani żadne żądania API nie powinny się uruchamiać.
- Po wyrażeniu zgody: widget ładuje się raz i pozwala na rozpoczęcie rozmowy.
- Powrót z zapisaną zgodą: widget ładuje się bez konieczności ponownego klikania.
- Po wycofaniu zgody: strona przeładowuje się, decyzja o odmowie zostaje zachowana, a ChatLab pozostaje niezaładowany.
- Przy włączonej zgodzie wewnątrz widgetu: oczekiwane pole wyboru polityki (checkbox) pojawia się przed skonfigurowaną interakcją.
Sprawdź także osadzone elementy iframe, inne wtyczki oraz zduplikowane tagi: zablokowanie jednego skryptu nie blokuje drugiej instalacji. Informacje na temat kontroli retencji danych znajdziesz w sekcji Deleting your data (Usuwanie Twoich danych).