Görünmeyen İçerik
Kampanya, öneri, arama ve zenginleştirme
Panelde tanımladığınız kampanya, widget, öneri şeridi, arama sonucu ya da zenginleştirme uygulamada görünmüyorsa. Anahtar, 403 ve olay sorunları için Sorun Giderme.
Hangi katmanda kaybolduğunu bulun
Önce kanalın cevabına doğrudan bakın; kampanya orada yoksa sorun SDK'da değil panelde ya da hesaptadır:
const config = await selwise.endpoints.getConfig();
console.log(config.channel, config.modules, config.campaigns?.length, config.search, config.scenarios);
channel.typeappolmalıdır.modulesiçindeweb_experienceyoksacampaignsher zaman boştur;recommendationsmodülü yoksa öneri listesi,searchmodülü yoksasearch.enabledfalsegelir. Modül satın alınmamışsa panel ekranı zaten gizler.- Kampanya
campaignsiçinde varsadebug: trueilegetSurfaces()çağırıp hangi kapıda düştüğünü satır satır okuyabilirsiniz.
Kampanya ya da widget görünmüyor
| Günlük satırı ya da belirti | Sebep ve çözüm |
|---|---|
Loaded 0 surface(s) | Panelde kampanya yok, zamanlaması dışında, durdurulmuş ya da hesapta web_experience modülü yok. Cevap sunucuda 5 dakika önbelleklenir; yayımladıktan sonra bekleyin ve invalidateSurfaces() çağırın |
| Ekrana bağlı kampanyalar gelmiyor, günlük sessiz | getSurfaces'a ekran adı verilmedi ve setScreen hiç çağrılmadı; sayfa hedefleme boş bir adresle değerlendirilir ve yalnızca "tüm sayfalar" kampanyaları geçer. trackScreenView('app://...') ile ekranı bildirin |
| Kampanya yalnızca başka ekranlarda | Hedefleme deseni ekran adıyla eşleşmiyor. Düz desen "içerir" mantığıyla, * joker ve regex: ile eşleşir (Event Takibi) |
Surface excluded by experiment | Ziyaretçi, kontrolün yerine geçen bir deney kolunda |
Surface outside segment targeting | Ziyaretçi segmentte değil; ya da segment sorgusu 403/429 aldı ve SDK "hiçbir segmentte değil" sonucuna düştü (salt okunur anahtar!) |
Surface blocked by frequency cap (perSession ...) | Sıklık kotası doldu. Test için uygulamayı yeniden yükleyin ya da depoyu temizleyin; sayaçlar diske yazılır |
Surface held out by experiment | Ziyaretçi holdout kolunda; bilerek hiçbir şey görmez |
Surface not drawable for this shopper now | İçerik, ölçülmemiş bir sepeti ya da ürünü söylemek istiyor; aşağıya bakın |
| Kampanya hiç gelmiyor, günlükte iz yok | SDK sürümü kampanyanın söylediği değerleri ya da koşulları tanımıyor ve sunucu kampanyayı o istemciye göndermiyor; SDK'yı güncelleyin (Sürümler) |
| Test kampanyası görünmüyor | Test modundaki yüzey yalnızca init({ testMode: true }) cihazda görünür; tersi de doğrudur: test cihazı üretimdeki yüzeyleri görmez |
| Kapattığım popup bir daha gelmiyor | dismissSurface kalıcıdır; resetDismissals() ile temizleyin |
| İki çubuktan biri hiç görünmüyor | Aynı yuva ve aynı ekran; çatışma çözümü birini seçer (Kampanya ve Widget) |
| Ülke hedefli kampanya herkese görünüyor | Ülke bilinmediğinde kural açık kalır; getSurfaces bağlamında country verin |
isLoggedIn, orderCount kuralı hiç eşleşmiyor | SDK bu sinyalleri doldurmaz; behavior ile siz verin |
| Kod yazdım, çalışmıyor | customJs ve customCss yalnızca custom türünde ve WebView içinde çalışır (Özel Widget) |
Sepet, hedef çubuğu, ürün değerleri
| Belirti | Sebep |
|---|---|
| Hedef çubuğu çizilmiyor | resolveGoalBar(...).visible false: sepet bilinmiyor (setCart hiç çağrılmadı, ya da setCart(null)), boş sepette çubuk istenmemiş ya da cümledeki değer söylenemiyor |
setCart false dönüyor | Tutar ya da adet sayı değil ya da negatif; sepet bilinmeyen oldu |
{cart.total} kullanan kampanya yok | Sepet bilinmiyor ya da para birimi yok (kanalın para birimi de tanımlı değil); söylenemeyen cümle atlanır |
{product.price} kullanan kampanya ürün sayfasında yok | getSurfaces'a product verilmedi ya da pending: true hâlâ duruyor |
| Panelde Cart value kartı "Not measured" | setCart hiç çağrılmıyor; yalnızca ekle/çıkar olayları geliyor (Sepet ve Dinamik İçerik) |
| Tutar yanlış | total kargo dahil verilmiş; indirimden sonra, kargodan önceki tutar verilmeli |
Öneri şeridi boş
- Hook
errordoluysaerror.status:403ise anahtardamobile_writeyok (403'ün sebepleri);404isewidgetIdyanlış ya da widget silinmiş. currentProductIdyok ya da yanlış alanla. Benzer ürün stratejileri bağlamsız boş döner;productItemCodeya daskualanı yok sayılır (Öneriler).- Sepet stratejisi ve sepet bilinmiyor. Kargo Bedavaya Tamamla şeridi,
setCartçağrılmadıkça boştur. - Besleme. Ürünler senkronlanmamış ya da
item_codekodları farklı; Besleme Sorunları. - Geçmişe dayalı strateji ve
storageyok.recently_viewedveuser_historyher açılışta boştur. - Deney kolu şeridi çizmiyor. Sonuç
hidden: true; çizmeyin. - Sunucu hatası. Ürün endpoint'i hata durumunda bile
200ve boş liste döner; günlükte neden görünmez. Panelde widget'ın etkin olduğunu ve sayfa hedeflemesini kontrol edin:getRecommendationWidgets(pageUrl)listesi sayfa hedeflemesine, test moduna ve segmente göre süzülür (0.13.0); widget kimliğini doğrudan veren hook süzmez. Test modundaki bir şerit gerçek alışverişçide hiç görünmez. - Test modu ve segment. Liste test modundaki ve segment hedefli widget'ları da getirir; bunları
isTestModevesegmentIdsalanlarından siz elemezseniz herkese çizilebilir.
Genel liste: Öneriler Görünmüyor.
Arama
| Belirti | Sebep |
|---|---|
enabled: false | Panelde arama kapalı; ayrıca search modülü yoksa 402 |
Sonuç listesi boş, tek kural redirect | Yönlendirme kuralı eşleşti; result.redirect'e gidin |
| Sıfır sonuç raporu şişiyor | Boş ya da çok kısa sorguyla doğrudan search() çağrılıyor; hook'u ya da minChars'ı kullanın |
| Aranan ürün gelmiyor | Selwise besleme katalogunu arar; ürün senkronlanmamış olabilir (Arama Sorunları) |
Zenginleştirme boş
Product enrichment is configured but no rule carries a placement keygünlüğü: kurala panelde Uygulama yuvası verilmemiş; web seçicisiyle yerleştirilmiş kurallar uygulamaya ulaşamaz.- Yuva adı eşleşmiyor: SDK adı küçültür ve boşluk ya da alt çizgiyi tireye çevirir; ekranınızın istediği adla panelde yazılan aynı olmalı.
getEnrichmentSlots()kanalın gerçek yuvalarını verir. codeürün beslemeitem_codedeğeridir; ürün bulunamazsaresolved: falseile boş döner. Katalog paylaşımlı kanalda başka kanaldan çözülür.- Uç nokta yalnızca uygulama kanalına hizmet eder; web kanalı anahtarıyla
400döner. - Kural test modundaysa yalnızca test cihazında görünür. Bkz. Zenginleştirme: uygulama.
Senaryo gelen kutusu boş
getScenarioInbox() yalnızca kanalın /config cevabı scenarios.enabled: true diyorsa istek atar; yani yayımlanmış, Sitede göster adımı olan bir senaryo gerekir. Hakkın süresi (Şu süre içinde alınsın) dolduysa kapanır. Test modundaki senaryo için testMode: true gerekir. Bkz. Senaryo Gelen Kutusu.
Son güncelleme: 10 Ekim 2026