Kişisel veri işleme için uygun bir yasal dayanak gerekir; rıza, olası dayanaklardan yalnızca biridir ve tüm işleme faaliyetleri için evrensel bir zorunluluk değildir. Rızaya dayanıyorsanız bu rızanın özgürce verilmiş, belirli, bilgilendirilmiş, açık ve geri alınabilir olması gerekir. EDPB'nin hukuka uygun işleme kılavuzuna göz atın. Yürürlükteki çerez ve cihaz depolama kurallarını gizlilik danışmanınızla ayrıca değerlendirin.
Aşağıdaki denetimler farklı teknik işlevler yerine getirir. Ne bir gizlilik politikası onay kutusu ne de gecikmeli yükleme tek başına uyumluluğu garanti eder. Widget içi bir onay adımı; widget betiğinin, ağ isteklerinin veya tarayıcı depolamasının bir görüşme başlamadan önce kullanılmasını engellemez.
1. Yaklaşım - Widget İçi Gizlilik Rızası. Ziyaretçilerin bir görüşme başlatabilmeleri veya kişisel bilgilerini gönderebilmeleri için doğrudan sohbet penceresi içinde Gizlilik Politikanızı kabul etmelerini zorunlu kılın.
2. Yaklaşım - Rıza Sonrası Yükleme. Ziyaretçi Rıza Yönetim Platformunuz (CMP) üzerinden çerez veya pazarlama rızası verene kadar chatbot betiğinin yüklenmesini tamamen engelleyin.
1. Yaklaşım: Widget İçi Gizlilik Rızası
ChatLab, ziyaretçilerin chatbot ile etkileşime geçmeden önce Gizlilik Politikanızı kabul etmelerini zorunlu kılmanıza olanak tanıyan yerleşik rıza ayarlarına sahiptir. Rıza akışını widget'ın kendisi yönetir - harici araçlara gerek yoktur.
Ayarlara erişim
Kontrol panelinde chatbot'unuzu açın, Settings (Ayarlar) sekmesine gidin, ardından sol kenar çubuğundaki Consent & Privacy (Rıza ve Gizlilik) seçeneğine tıklayın.
Rıza anahtarları
Request user consent (Kullanıcı rızası iste) kartında dört anahtar bulunur.
- Require Privacy Policy consent before starting a new conversation (Yeni bir görüşme başlatmadan önce Gizlilik Politikası rızası iste) - Etkinleştirildiğinde, ziyaretçilerin ilk mesajlarını göndermeden önce politikayı kabul etmeleri gerekir. Bu en kapsamlı seçenektir: tüm formları (potansiyel müşteri toplama, insan desteği ve canlı sohbet) otomatik olarak kapsar, bu nedenle diğer üç anahtar devre dışı kalır.
- Require Privacy Policy consent for human support (İnsan desteği için Gizlilik Politikası rızası iste) - İnsan desteği iletişim formuna bir rıza onay kutusu ekler.
- Require Privacy Policy consent for lead collection (Potansiyel müşteri toplama için Gizlilik Politikası rızası iste) - Potansiyel müşteri toplama formuna bir rıza onay kutusu ekler.
- Require Privacy Policy consent for live chat session (Live Chat oturumu için Gizlilik Politikası rızası iste) - Canlı sohbet formuna bir rıza onay kutusu ekler.
Yalnızca belirli etkileşimler için rızaya ihtiyacınız varsa (örneğin yalnızca potansiyel müşteriler aracılığıyla kişisel veri toplarken), "yeni görüşme" anahtarı yerine münferit anahtarları etkinleştirin.
Rıza mesajlarını özelleştirme
Anahtarların altındaki Consent & Privacy kartı, ziyaretçilerin ne göreceğini yapılandırmanıza olanak tanır.
- Consent intro message (Rıza giriş mesajı) - Rıza onay kutusunun üzerinde görüntülenen metin. Örneğin: "Devam etmek için lütfen Gizlilik Politikamızı okuyup kabul ettiğinizi onaylayın."
- Message to inform users about Privacy Policy consent requirement (Kullanıcıları Gizlilik Politikası rıza gereksinimi hakkında bilgilendirme mesajı) - Onay kutusunun etiket metni. Gizlilik politikanıza bir bağlantı eklemek için markdown kullanın:
[Gizlilik Politikası](https://www.example.com/privacy-policy) metnini okudum ve kabul ediyorum.
Yapılandırdıktan sonra kaydedildi durumunu bekleyin. Kullandığınız her form dahil olmak üzere yeni bir ziyaretçi oturumunda test edin. Yeni görüşme seçeneğini kapatmak, temizlediği bağımsız form anahtarlarını otomatik olarak eski durumuna getirmez.
2. Yaklaşım: Rıza Sonrası Yükleme (CMP Entegrasyonu)
Çerez politikanız kapsamında chatbot'u bir pazarlama aracı olarak sınıflandırıyorsanız ziyaretçi rıza verene kadar ChatLab betiğinin yüklenmesini engellemelisiniz. Bu, bir Rıza Yönetim Platformu ile entegrasyon gerektirir.
Varsayılan ChatLab yerleştirme kodu
Standart ChatLab yerleştirme kodu şuna benzer:
<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>
Bu kod, ziyaretçinin rıza tercihlerine bakılmaksızın sayfa açıldığında hemen yüklenir.
API Anahtarınızı ve Sağlayıcı Kimliğinizi chatbot'unuzun Deploy (Yayına Al) sekmesinde bulabilirsiniz.
Aşağıdaki şablonu bir uygulama örneği olarak kullanın, ardından bunu gerçek CMP'niz ve web sitenizle doğrulayın. Örnekler bir onaylama veya testin alternatifi niteliğinde değildir.
Tek bir koşullu yükleyici hazırlayın
Yalnızca tek bir yükleme yolu kalması için sitenizden, eklentilerinizden ve etiket yöneticinizden normal, koşulsuz ChatLab kurulumunu kaldırın. Gizli bir ck_ veya mk_ API anahtarını değil, genel yerleştirme anahtarınızı ve sağlayıcı kimliğinizi Deploy sekmesinden kopyalayın. Kurulumunuz markalı bir betik sunucusu kullanıyorsa Deploy sekmesindeki URL'yi koruyun.
Rıza dinleyicilerinizi kaydetmeden önce bu yardımcı işlevi tanımlayın. true değeriyle çağrılana kadar ChatLab'i yüklemez.
<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>
Rızanın geri alınması durumunda bu örnek, CMP reddedilen tercihi kaydettikten sonra sayfayı yeniden yükler. Bir sonraki sayfa yüklemesi engellenmiş kalmalıdır. Yeniden yükleme, kaydedilmemiş sayfa girişlerini kaybettirebilir; bu nedenle bunu sitenizin rıza geri alma akışına dahil edin. Yalnızca betik öğesini kaldırmak, önceden yürütülmüş kodları, bağlantıları veya mevcut bir widget'ı durdurmaz. Yeniden yükleme işlemi ayrıca önceden toplanmış verileri veya saklanan rıza kayıtlarını da silmez.
Cookiebot
Belgelenmiş amaçlarınızla eşleşen kategoriyi seçin; buradaki marketing, ChatLab tarafından zorunlu kılınan bir sınıflandırma değil, yalnızca bir örnektir. Cookiebot tekil consent nesnesini kullanıma sunar. Hazır olma, kabul ve ret etkinlikleri bu kategoriyi yeniden denetlemenizi sağlar. Bkz. Cookiebot geliştirici belgeleri.
Bu dinleyiciyi, CMP ilk etkinliğini tetiklemeden önce ekleyin:
<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
ChatLab'i belirlediğiniz amaç ve kategoriyle bir hizmet olarak kaydedin. Yüklü Web CMP sürümünüz için uygun uygulamayı kullanın. Özel pencere etkinliklerinin mevcut olduğu durumlarda Implementation > Data Layer & Events altında ucEvent adlı bir etkinlik yapılandırın, ardından dinleyiciyi CMP başlatılmadan önce kaydedin. Örnekteki hizmet adı yapılandırmanızla birebir eşleşmelidir.
<script>
window.addEventListener("ucEvent", function (event) {
if (event.detail && event.detail.event === "consent_status") {
window.applyChatLabConsent(event.detail.ChatLab === true);
}
});
</script>
Bu yapı, Usercentrics'in özel etkinlik kılavuzunu takip eder. Kurulumunuzun hem saklanan ilk tercihi hem de sonraki güncellemeleri ilettiğini doğrulayın. İletmiyorsa sürümünüz için belgelenmiş ilk durum API'sini kullanın; geri dönen ziyaretçileri yalnızca bir dinleyicinin yöneteceğini varsaymayın.
Google Tag Manager
- CMP'nizi GTM ile entegre edin ve diğer etiketler çalışmadan önce gerekli reddedilmiş rıza varsayılanlarını tanımlayın.
- Koşullu yükleyiciyi ve
applyChatLabConsent(true)çağrısını içeren bir Custom HTML (Özel HTML) etiketi oluşturun. - Etiketin Consent Settings (Rıza Ayarları) bölümünü açın ve bu hizmet için seçilen rıza türleri için Additional Consent Checks (Ek Rıza Denetimleri) yapılandırın.
- Tetikleyici olarak CMP'niz tarafından sağlanan gerçek rıza hazır/güncelleme veri katmanı (data layer) etkinliğini kullanın. Rızası önceden verilmiş olan geri dönen ziyaretçileri de kapsayın.
- Rızanın geri alınmasını yukarıda açıklanan CMP'nin saklanan tercihi ve sayfa yenileme akışı aracılığıyla yönetin.
- Yayınlamadan önce GTM Önizleme modunda test edin.
Bir Özel HTML etiketi, sitenizde bir başlık (banner) var diye kendiliğinden rıza duyarlı hale gelmez. CookieConsentDeclaration gibi kurgusal bir etkinlik adını kopyalamayın; etkinlik ve rıza değişkenleri kapsayıcınızda fiilen bulunmalıdır. Bkz. Google'ın etiket rıza ayarları.
Yayınlamadan Önce Doğrulayın
Yeni bir tarayıcı oturumunda tarayıcının Ağ (Network) panelini kullanarak şu durumları kontrol edin:
- Herhangi bir seçimden önce ve ret sonrasında: hiçbir ChatLab yükleyicisi, widget veya API isteği gerçekleşmemelidir.
- Onay sonrasında: widget bir kez yüklenir ve bir görüşme başlatabilir.
- Saklanan onay ile geri dönüldüğünde: widget başka bir tıklamaya gerek kalmadan yüklenir.
- Rıza geri alındıktan sonra: sayfa yeniden yüklenir, reddedilen tercih korunur ve ChatLab yüklenmemiş olarak kalır.
- Widget içi rıza etkinleştirildiğinde: beklenen politika onay kutusu, yapılandırılan etkileşimden önce görünür.
Ayrıca iframe yerleştirmelerini, diğer eklentileri ve yinelenen etiketleri de inceleyin: bir betiği engellemek ikinci bir kurulumu engellemez. Veri saklama denetimleri için Verilerinizi silme bölümüne göz atın.