Onay Yonetimi (Consent)
KVKK/GDPR cerez onayi entegrasyonu
Selwise, KVKK/GDPR uyumluluğu için çerez onayı (cookie consent) denetimini destekler. Onay etkinleştirildiğinde, kullanıcı izin verene kadar analitik event'leri engellenir veya tamponlanır.
Onay denetimi varsayılan olarak kapalıdır. Kişisel veri veya izleme çerezi kullanıyorsanız açmanız önerilir.
Onay kategorileri
Onay dört kategoriye ayrılır:
| Kategori | Açıklama |
|---|---|
necessary | Zorunlu — işlevsellik için gereklidir, her zaman verilmiş sayılır. |
analytics | Analitik ve performans (Selwise event'leri bu kategoridedir). |
marketing | Pazarlama ve reklam. |
preferences | Kullanıcı tercihleri. |
Selwise event'leri varsayılan olarak analytics kategorisine bağlıdır: bu kategori reddedilirse event'ler gönderilmez.
Nasıl çalışır
Onay yapılandırması Dashboard'daki takip ayarlarından yönetilir ve tracking-config ile istemciye iletilir. Öne çıkan alanlar:
| Alan | Varsayılan | Açıklama |
|---|---|---|
enabled | false | Onay denetimini açar. |
variableName | __wcmp_consent | Onay durumunun okunacağı window değişkeni. |
waitForConsent | false | true ise onay gelene kadar event'ler tamponlanır. |
defaultConsent | true | Zaman aşımında uygulanacak varsayılan. |
timeoutMs | 5000 | Onay beklerken zaman aşımı. |
granularEnabled | false | Kategori bazlı (granular) onay. |
storageKey | selwise_consent | Onay durumunun saklandığı localStorage anahtarı. |
consentChangeCallback | — | Onay değişince çağrılacak global fonksiyon adı. |
Onay durumu iki kaynaktan okunabilir: bir window değişkeni (ör. mevcut çerez onay çözümünüzün __wcmp_consent değeri) veya localStorage (selwise_consent). Onay değişikliği periyodik olarak izlenir; onay verildiğinde tamponlanan event'ler otomatik gönderilir.
Programatik onay API'si
window.Selwise üç metod sunar:
// Mevcut onay durumunu oku
const state = window.Selwise.getConsentState();
// -> { necessary: true, analytics: false, marketing: false, preferences: false } | null
// Onay ver (tümü veya seçili kategoriler)
window.Selwise.grantConsent(); // hepsi
window.Selwise.grantConsent({ analytics: true, marketing: false });
// Onayı geri çek
window.Selwise.revokeConsent(); // hepsi
window.Selwise.revokeConsent(['marketing']);
Kendi çerez banner'ınızla entegre etmek için, kullanıcı "Kabul et" / "Reddet" dediğinde bu metodları çağırın:
<script>
document.querySelector('#cookie-accept')?.addEventListener('click', function () {
window.Selwise?.grantConsent({ analytics: true, marketing: true });
});
document.querySelector('#cookie-reject')?.addEventListener('click', function () {
window.Selwise?.revokeConsent(['analytics', 'marketing']);
});
</script>
Hazır Cookie Consent widget'ı
Kendi banner'ınız yoksa Selwise'ın cookie_consent widget tipini kullanabilirsiniz; onay durumunu otomatik yönetir. Bkz. Cookie Consent widget.
Sunucuya onay kaydı
Onay tercihlerini kalıcı olarak kaydetmek ve KVKK/GDPR kanıtı tutmak için public consent endpoint'lerini kullanabilirsiniz.
Onay kaydet
curl -X POST https://api.selwise.com/api/v1/public/sites/SITE_KEY/consent \
-H "Content-Type: application/json" \
-H "Origin: https://magaza.com" \
-d '{
"categories": { "necessary": true, "analytics": true, "marketing": false, "preferences": true },
"visitorId": "VISITOR_ID",
"sessionId": "SESSION_ID"
}'
Onayı geri çek (silme talebi)
curl -X DELETE https://api.selwise.com/api/v1/public/sites/SITE_KEY/consent \
-H "Content-Type: application/json" \
-H "Origin: https://magaza.com" \
-d '{ "visitorId": "VISITOR_ID" }'
Geri çekme yanıtı, istemcide yapılması gereken temizliği de bildirir (localStorage ve çerez temizliği için clientAction). Böylece GDPR Madde 7(3) "onayı geri çekme hakkı" karşılanır.
waitForConsent ile başlangıç davranışı
waitForConsent: true iken, onay gelmeden hiçbir event gönderilmez; olaylar bellekte tamponlanır ve zaman aşımında defaultConsent uygulanır. Bu, "önce izin" gerektiren yargı bölgeleri için doğru varsayılandır ancak onay hızlı alınmazsa erken event kaybına yol açabilir — banner'ınızı sayfa yükünde hızlı gösterin.
Son güncelleme: 1 Temmuz 2026