Takip Sorunları

Event ve ciro teşhisi

Olaylar, siparişler ya da içerik beklediğiniz gibi gelmiyorsa bu sayfa sorunu sırayla daraltır: önce script'in yüklendiğini, sonra isteklerin gittiğini, sonra sunucunun ne cevap verdiğini, en sonda da panelde nerede görüneceğini doğrularsınız. Her adımda bakacağınız yer ve cevabın anlamı yazılıdır.

1. Debug modunu açın

Tarayıcı konsolunda, sorunlu sayfada:

localStorage.setItem('selwise_debug', 'true');
location.reload();

Konsolda [Selwise] önekli tanılama günlükleri görünür. Kapatmak için localStorage.removeItem('selwise_debug'). Test modunu (test işaretli kampanya ve kurallar) ayrıca ?selwise_test_mode=true ile açabilirsiniz: JavaScript API.

2. Script yüklendi mi

DevTools → Console:

typeof window.Selwise            // "object" olmalı
window.Selwise.getVisitorId?.()  // bir kimlik döndürmeli (vid_...)
SonuçAnlamı
undefinedScript sayfada yok, yüklenemedi ya da engellendi. Network sekmesinde client.js isteğini arayın
object ama getVisitorId yokYalnızca komut kuyruğu taslağı var: client.js hiç çalışmadı
Konsolda No site key — widget not starteddata-site-key eksik ya da boş
client.js isteği (blocked) / ERR_BLOCKED_BY_CLIENTReklam engelleyici ya da gizlilik eklentisi. Normal bir ziyaretçi için de aynı olur; test için eklentiyi kapatın
Konsolda Refused to load the script ... Content Security PolicySitenizin CSP'si https://widget.selwise.com'a izin vermiyor: CSP
client.js iki kez yüklenmişScript iki kez eklenmiş: çift olay ve çift çizim. Birini kaldırın

3. Açılış istekleri

Network sekmesinde selwise ile süzün (Fetch/XHR). Sayfa yüklendikten hemen sonra şunları görmelisiniz:

İstekBeklenen
GET .../public/sites/SITE_KEY/config?p=4200. Kampanya, öneri, takip ayarı döner
GET .../scripts?path=...200
GET .../integrations200
POST .../events/batch200, ilk olaylar gittiğinde (aşağıda)

config isteği başarısızsa

DurumNeden ve çözüm
404 Site not foundSite anahtarı yanlış ya da kanal silinmiş. Snippet'teki anahtarı panelden kopyaladığınızla karşılaştırın
403 Site not verifiedKanalın alan adı doğrulanmamış: Alan Adı Doğrulama
403 Origin '...' is not authorized for site '...'İsteğin geldiği sayfanın hostu kanalın alan adı ya da doğrulanmış takma adı değil. İleti kabul edilen tüm alan adlarını sayar. www/apex ve ülke hostları için takma ad ekleyin. localhost üretimde kabul edilmez
403 Delivery is switched off for this account. / This account is closed.Hesabın teslimatı kapatılmış; hesap yöneticinizle konuşun. Widget selwise:subscription-inactive olayını yayınlar ve durur
Konsolda blocked by CORS policy, durum 403 ya da (failed)Doğrulanmamış kanal, bilinmeyen anahtar ya da yetkisiz köken için API tarayıcıya CORS izni vermez; tarayıcı gerçek durumu gizleyip CORS hatası gösterir. Aynı isteği curl ile (-H "Origin: https://magaza.com") yapıp gerçek cevabı görün
429Hız sınırı (dakikada 100); Retry-After kadar bekleyin
5xx ya da zaman aşımıGeçici; widget birkaç saniye sonra yeniden dener. Sürerse destekle paylaşın

Aynı isteği terminalden deneyin; yanıt gövdesi nedeni söyler:

curl -i "https://api.selwise.com/api/v1/public/sites/SITE_KEY/config?p=4" \
  -H "Origin: https://magaza.com"

4. Olay isteği: events/batch

Olaylar hemen gitmeyebilir: widget olayları kuyruğa alır ve toplu gönderir (varsayılan ayarda yaklaşık bir saniye içinde; kanalda gelişmiş toplu gönderim açıksa ayarlı gönderim aralığına, varsayılan 30 saniyeye kadar). Sayfadan ayrılırken kalan olaylar sendBeacon ile gönderilir; bu istek DevTools'ta Preserve log açık değilse kaybolur.

POST .../events/batch yanıtını açın:

{ "success": true, "accepted": 3, "degraded": 1, "rejected": 0, "results": [ ... ] }
GördüğünüzAnlamı ve çözüm
HTTP 200, success: trueOlaylar kaydedildi
HTTP 200, success: false, gövdede yalnızca { "success": false }Site anahtarı bilinmiyor ya da kanal doğrulanmamış. Durum kodu 200 olsa da hiçbir şey kaydedilmedi
HTTP 200, success: false, results[].error = consent not granted: event droppedZiyaretçi onay vermemiş ya da henüz cevap vermemiş: consentSnapshot.granted false. Onay denetimini ve banner'ı kontrol edin: Onay Yönetimi
accepted > 0 ve degraded > 0Kaydedildi ama bir şey düzeltildi. results[].warnings nedeni söyler (aşağıda)
rejected > 0results[].error olay başına nedeni söyler
HTTP 400 Validation failederrors[] hangi alanın sorunlu olduğunu söyler (events.0.name: ...); bilinmeyen alan tüm isteği düşürür. Kendi gönderdiğiniz bir olayda alan adını düzeltin
HTTP 400 Batch size exceeds maximum of 200 eventsÇok büyük batch; bölün
HTTP 429Ziyaretçi başına dakikada 120 ya da IP başına dakikada 1200 olay sınırı: Retry-After kadar bekleyin
İstek hiç yokAşağıdaki "Hiç istek gitmiyor" bölümü

results[].warnings içindeki sık görülen iletiler:

İletiAnlamı
Missing productItemCode for event: ...Ürün olayında ürün kodu yok; olay yine kaydedilir ama ürün raporlarına girmez
Unsupported event name "x" mapped to custom_eventOlay adı kanonik listede yok: Event Referansı
Ürün doğrulama iletisi (ürünün katalogda bulunamadığını söyler)Gönderilen ürün kodu katalogda yok: productItemCode beslemedeki item_code ile aynı değil
eventId missing, generated fallback eventIdKendi gönderdiğiniz olayda eventId yok; yeniden gönderim çift kayıt yaratır

Hiç istek gitmiyor

Önce Script yüklendi mi adımını geçtiyseniz şunlara bakın:

  • Onay bekleniyor. Panelde Cookie Consent → Policy içinde Require consent before tracking ve Hold events until the answer açıkken, ziyaretçi cevap verene kadar olaylar bellekte bekler ve hiçbir istek gitmez (config isteği yine gider). Banner'ı gösterin ya da window.Selwise.grantConsent() çağırın; sorunun bu olup olmadığını window.Selwise.getConsentState() söyler: null ise "henüz sorulmadı".
  • Olay üretilmiyor. Sayfa görüntüleme dışındaki olaylar veri katmanından ya da Selwise.track() çağrısından gelir. window.selwiseLayer ve Data Layer entegrasyonunun açık olduğunu kontrol edin: Veri Katmanı.
  • Abonelik pasif. Konsolda Subscription inactive uyarısı ve config isteğinde 403.
  • Depolama kapalı. Gizli sekmede ya da engelli depolamada widget bellek içi depolamaya düşer; yine çalışır ama ziyaretçi kimliği sayfa yenilenince sıfırlanır.

5. Sipariş gitmiyor ya da gelir yok

BelirtiSebep ve çözüm
POST .../orders isteği yoktrackOrder çağrısı çalışmıyor: yalnızca ödeme başarıyla bittiğinde render edilen teşekkür sayfasında olmalı; orderId boşsa çağrı sessizce hiçbir şey yapmaz. Komut kuyruğu satırı snippet'te var mı kontrol edin
İstek 200, created: falseAynı orderId zaten kayıtlı (sayfa yenilendi). Normal ve güvenli
İstek 400 deprecated field is not allowed: idid alanı gönderiliyor; orderId kullanın
İstek 400 placedAt must be a valid ISO date stringTarih biçimi
İstek 403Alan adı / anahtar sorunu (yukarıdaki tablo). Sunucudan gönderiyorsanız Origin göndermeyin, mobile_write anahtarı kullanın
Satın alma var ama gelir panelde yokstatus iptal/iade gibi gelire sayılmayan bir değer, ya da total boş ve items yok: Sipariş API'si
Gelir var, ürün bazlı rapor boşitems[].productItemCode beslemeyle eşleşmiyor
Gelir kampanyaya/öneriye atfedilmiyorSunucudan gönderiyorsunuz ve visitorId/sessionId taşımıyorsunuz, ya da sipariş son etkileşimden 168 saatten sonra gelmiş: Sipariş Atfı Kuralı

6. Panelde nerede görünür

Analitik → Event Tracking Analytics (Analytics) sekmesinde olaylar 1-2 dakika içinde görünür; aralık "son 24 saat" ise ve hiç olay yoksa "No tracking signal yet" yazar. Bu sekmenin sinyallerini ve olay kalitesini Olay Sağlığı sayfası açıklar. Rakamlar yerinde değilse yukarıdaki ağ kontrollerini tekrarlayın; ağ doğruysa sorun veri hattında değil, panelin zaman aralığı ya da kanal seçimindedir.

Sık karşılaşılan sorunlar

BelirtiSebep ve çözüm
Hiç olay gitmiyorAlan adı doğrulanmamış (403) ya da onay verilmemiş. Doğrulamayı ve onay akışını kontrol edin
Olay degradedproductItemCode, beslemedeki item_code ile aynı değil
Ürün olayları eksikOtomatik tespit temanızda çalışmıyor; ilgili olayları window.selwiseLayer.push() ya da Selwise.track() ile manuel gönderin: Event Referansı
Aynı olay iki kez sayılıyorHarici dataLayer köprüsü ve manuel push aynı olayı gönderiyor, ya da script iki kez eklenmiş. Tek kaynağı esas alın
Müşteriler birleşmiyoridentify çağrılmıyor ya da kimlik her girişte değişiyor: Kullanıcı Kimliklendirme
Sunucu taraflı render içeriği görünmüyorSunucu Taraflı Render sayfasındaki sorun giderme tablosu
İçerik görünmüyorWidget Görünmüyor

Test modu

Yalnızca "test" işaretli kampanya ve kuralları görmek için:

localStorage.setItem('selwise_test_mode', 'true');
location.reload();

ya da adrese ?selwise_test_mode=true ekleyin.

Son güncelleme: 14 Kasım 2026