Ana içeriğe atla

Genel Bakış

Terk edilen sepetler, kaybedilen geliri kurtarmak için en yüksek etkiye sahip fırsatlardan biridir. Sepetini terk eden kullanıcıların çoğu hâlâ satın alma niyetindedir — sadece zamanında bir hatırlatmaya ihtiyaçları vardır. Bu kılavuz, OneSignal’da aşağıdakileri yapan otomatik bir terk edilen sepet Journey’si oluşturmayı gösterir:
  • Sepet etkinliğini algılar
  • Kısa bir hareketsizlik süresi bekler
  • Kişiselleştirilmiş bir hatırlatma gönderir
  • Satın alma veya sepet boşaltma sonrasında mesaj göndermeyi hemen durdurur
Bunu aşağıdaki yöntemlerden biriyle uygulayabilirsiniz:
  • Özel Etkinlikler (çoğu uygulama için önerilir)
  • Etiketler (daha basit, sınırlı kullanım durumları)
Doğru seçim, mesajda göstermek istediğiniz verilere ve bu verilerin nereden geldiğine bağlıdır.

Ne oluşturacaksınız

Bu kılavuzun sonunda şunlara sahip olacaksınız:
  • OneSignal’a gönderilen sepet etkinliği (Etiketler veya Özel Etkinlikler aracılığıyla)
  • Net, kod ile tanımlanmış bir terk etme sinyali
  • Sepet verilerini kişiselleştiren mesaj şablonları
  • Şunları yapan bir Journey:
    • Terk etme sinyali alındığında başlar
    • Göndermeden önce bekler
    • Terk edilen sepet mesajı gönderir
    • Sepet boşaltıldığında veya satın alma tamamlandığında hemen çıkar
  • Mesaj ve gelir performansını ölçmek için analizler

İzleme yönteminizi seçin

Sepet etkinliğini Özel Etkinlikler veya Etiketler kullanarak izleyebilirsiniz.
  • Özel Etkinlikleri kullanın eğer:
    • Bir hareketsizlik süresinden sonra terk etmeyi algılayabiliyorsanız
    • Zengin sepet verileri istiyorsanız (ürünler, görseller, fiyatlar)
    • Etkinliklerin her terk etme için bir kez tetiklenmesini sağlamakta rahatsanız
  • Etiketleri kullanın eğer:
    • Varsayılan olarak durum tabanlı güvenlik istiyorsanız
    • Yalnızca basit sepet verilerine ihtiyacınız varsa
    • Segment kontrollü giriş ve çıkışı tercih ediyorsanız
Bu kılavuz her iki yaklaşımı da gösterir. Özel Etkinlikler daha fazla esneklik sunar ancak daha fazla dikkat gerektirir.

Terk edilen sepetler nasıl modellenir

OneSignal bir sepetin ne zaman terk edildiğini otomatik olarak belirlemez.Bir sepetin ne zaman terk edilmiş sayılacağına kendi kodunuzda veya sisteminizde siz karar verirsiniz ve ardından OneSignal’a bildirirsiniz.
cart_abandoned ne anlama gelir cart_abandoned etkinliği bir durum geçişini temsil etmelidir - Sepet aktifti → kullanıcı etkileşimi bıraktı → sepet artık terk edilmiş kabul ediliyor. Bu etkinlik şu durumlarda gönderilmelidir:
  • Anlamlı bir hareketsizlik süresinden sonra (örneğin 1 saat)
  • Yalnızca sepette hâlâ ürünler varsa
Her sepet güncellemesinde cart_abandoned göndermeyin.Bu etkinliği tekrar tekrar göndermek, kullanıcıların Journey’ye birden fazla kez yeniden girmesine neden olur ve onlara spam gönderebilir.

Journey’ler terk etme sinyallerini nasıl kullanır

OneSignal cart_abandoned aldığında:
  • Kullanıcı Journey’ye girmeye uygun hale gelir
  • Bekleme süresi doğal olarak geri dönmeleri için zaman tanır
  • Mesaj yalnızca çıkmadıkları takdirde gönderilir
  • cart_emptied alındığında kullanıcı hemen çıkar
Journey’ler zamanlama ve tekrarı kontrol eder — terk etmeyi belirlemezler.

Kurulum

Adım 1. Sepet verilerinizi ve kaynağınızı planlayın

Hangi sepet bilgilerini göstermek istediğinize ve bu verilerin nereden geldiğine karar verin. Yaygın sepet verileri şunları içerir:
  • Ürün adı, görseli, fiyatı ve miktarı
  • Sepetteki ürün sayısı
  • Sepete geri dönüş için derin bağlantı
Veri kaynağınız etkinlikleri nasıl göndereceğinizi belirler:
Veri kaynağıÖnerilen yöntem
Uygulama veya web sitesiOneSignal Frontend SDK
Backend veya veritabanıOneSignal REST API
Üçüncü taraf platformEntegrasyon tabanlı Özel Etkinlikler
Bu adımın sonunda hangi verileri göndereceğinizi ve nasıl göndereceğinizi bileceksiniz.

Adım 2. OneSignal’a sepet durum sinyalleri gönderin

Sepet durum değişikliklerini temsil eden sinyaller göndermelisiniz.
SinyalAmaç
cart_abandonedSepet etkinliği algılandı ve çözülmedi
cart_updatedSepet içeriği değişti
cart_emptiedSepet boşaltıldı veya satın alma tamamlandı
Etkinlik ve etiket adları SDK/API çağrıları, Segmentler, Journey kuralları ve Liquid şablonları arasında tam olarak eşleşmelidir.
Özel Etkinlikler veya Etiketler göndermek için OneSignal Web veya Mobile SDK’larını kullanın.
SDK YöntemiAçıklama
trackEventÖzel Etkinlik gönder (Mobile SDK, Web SDK)
addTagsEtiket ekle (Mobile SDK, Web SDK)
removeTagsEtiket kaldır (Mobile SDK, Web SDK)
Özel Etkinlik örneği
cart_abandoned etkinliği, kullanıcı sepetine girdiğinde veya güncellediğinde değil, sepet hareketsizlik süresinden sonra gönderilmelidir.cart_emptied etkinliği, sepet boşaltıldığında veya satın alma tamamlandığında hemen gönderilmelidir.
OneSignal.User.trackEvent("cart_abandoned", {
  product_name: "24 Pack of Acorns",
  product_image: "https://i.imgur.com/ssPCfbC.png",
  product_price: 12.99,
  product_quantity: 1,
  cart_url: "https://yourdomain.com/cart"
});
Etiket örneği
Bu örnek, cart_updated etiketini sepettin en son ne zaman güncellendiğini temsil eden bir Unix zaman damgasına (saniye cinsinden) ayarlar. Ayrıca bir boole değeri (true/false) de kullanabilirsiniz, ancak bir zaman damgası Time Operators ile daha fazla esneklik sağlar.
OneSignal.User.addTags({
  cart_updated: unix_timestamp_seconds,
  product_name: "24 Pack of Acorns",
  product_image: "https://i.imgur.com/ssPCfbC.png",
  product_price: "$12.99",
  product_quantity: "1",
  cart_url: "https://yourdomain.com/username/cart"
})
Bir cart_emptied sinyali göndermezseniz, kullanıcılar satın alma sonrasında terk edilen sepet mesajları almaya devam edebilir.

Adım 3. Terk edilen sepet mesaj şablonları oluşturun

Sepet verilerine dinamik olarak başvuran mesaj şablonları oluşturun. Bu bölümde kullanılan kavramlar hakkında daha fazla ayrıntı için bakın:
Liquid söz dizimi formatını kullanarak etkinlik özelliklerine başvurun:
Liquid
{{journey.event.name.properties.property_name | default: "fallback_value"}}
Mesaj:
Liquid
You left {{journey.event.cart_abandoned.properties.product_name | default: "items"}} in your cart.
Görsel:
Liquid
{{journey.event.cart_abandoned.properties.product_image | default: "https://i.imgur.com/ssPCfbC.png"}}
Başlatma URL’si:
Liquid
{{journey.event.cart_abandoned.properties.cart_url | default: "https://yourdomain.com/cart"}}
product_image doğrudan, herkese açık bir görsel URL’si değilse görsel görüntülenmez.product_image değeriniz çevrimiçi olarak mevcut bir görsel dosyasının adıysa, aşağıdaki formatı kullanarak görsele başvurabilirsiniz: https://yourdomain.com/images/{{journey.event.cart_abandoned.properties.product_image | default: "stock_image"}}.png
Özel Etkinlikler ile terk edilen sepet şablonu örneği
E-posta örneklerine, yardıma veya daha fazla ilhama mı ihtiyacınız var?

Adım 4. Terk edilen sepet Segmenti oluşturun (Yalnızca etiketler)

Bu adım yalnızca sepet etkinliğini izlemek için Etiketler kullanıyorsanız gereklidir. Özel Etkinlikler kullanıyorsanız bu adımı atlayabilirsiniz.
Segment, Journey’ye kimin girebileceğini belirleyecektir. Daha fazla ayrıntı için Segmentler bölümüne bakın. cart_updated etiketinin exists olduğu kullanıcıları izlemek için User Tag filtresini seçin VE Last Session filtresini less than 7 days ago olarak seçin
cart_updated etiketinin mevcut olduğu ve son oturumun 7 günden az önce olduğu Etiket Filtreli Terk Edilen Sepet Segmenti
Artık sepetini güncelleyen ve son 7 gün içinde uygulamayı veya web sitesini ziyaret eden kullanıcıları izleyebiliriz.Aşağıdaki koşullardan herhangi biri karşılandığında kullanıcılar segmentten otomatik olarak çıkarılır:
  • Uygulamayı/web sitesini son ziyaretlerinden bu yana 7 gün geçtikten sonra
  • cart_updated etiketi kaldırıldığında

Adım 5. Terk edilen sepet Journey’sini oluşturun

Sepet etkinliğine tepki veren bir Journey oluşturun. Daha fazla ayrıntı için Journeys bölümüne bakın.
Yeni Terk Edilen Sepet Journey'si oluşturma ekranı

Journey ayarları

Giriş, Çıkış ve Yeniden giriş kuralları hakkında daha fazla ayrıntı için Journey Ayarları kılavuzunu inceleyin. Giriş Kuralları:
  • Custom Event seçin
  • Custom Event Name: cart_abandoned
Kullanıcılar cart_abandoned etkinliği her gönderildiğinde Journey’ye girer. Bu etkinliği yalnızca anlamlı bir hareketsizlik süresinden sonra gönderin.
Terk Edilen Sepet Journey'si Özel Etkinlik Giriş Kuralları
Çıkış Kuralları:
  • Meet a certain condition seçin
  • Exit when custom event condition occurs seçeneğini işaretleyin
  • Custom Event Name: cart_emptied
Terk Edilen Sepet Journey'si Özel Etkinlik Çıkış Kuralları
Kullanıcılar aşağıdaki durumlarda Journey’den çıkar:
  • cart_emptied etkinliği (adım 3’ten) gerçekleştirildiğinde.
  • Journey’yi tamamladıklarında.
Yeniden Giriş Kuralları (Yalnızca etiketler):
  • Yes, after a certain amount of time seçin
  • Yeniden giriş süresini 1 day olarak ayarlayın
Terk Edilen Sepet Journey'si Yeniden Giriş Kuralları
Bu kılavuzu buraya kadar eksiksiz takip ettiyseniz, kullanıcılar:
  1. Sepetlerini terk ettiklerinde/güncellediklerinde Journey’ye girer
  2. Sepetlerini boşalttıklarında veya Journey’yi tamamladıklarında Journey’den çıkar.
  3. Journey’ye yeniden girmeye uygun olur:
    • Özel Etkinlikler: cart_abandoned etkinliği her gerçekleştirildiğinde
    • Etiketler: Journey’den son çıkışlarından 1 gün geçtikten sonra ve segmentte oldukları sürece.
Journey Ayarlarını kaydedin.

Journey adımları

Kullanıcılar Segmentle eşleştiklerinde Journey’ye girerler. Bu genellikle etkinlik/etiket alındıktan birkaç dakika içinde gerçekleşir. Kullanıcılar, sona ulaşana veya bir çıkış kuralı karşılanana kadar Journey’de adım adım ilerler. Temel bir terk edilen sepet Journey’si için 2 şey yapmak istiyoruz:
  1. Kullanıcıya sepetini boşaltması için yeterli zaman vermek (satın alma yapmak veya sepetini manuel olarak boşaltmak)
  2. Sepetini boşaltmazlarsa, sepetlerindeki ürünleri hatırlatan bir mesaj göndermek
Bunu önce Journey’ye bir Wait adımı ekleyerek gerçekleştirin.
  • Bekleme süresini istediğiniz kadar uzun ayarlayın. Kullanıcı hâlâ satın alma niyetindeyken mesaj gönderebilmeniz için 1 hour olarak ayarlamanızı öneririz.
Bir Message adımı ekleyin.
  • Adım 4’te oluşturduğunuz Abandoned Cart Push Bildirim şablonunu seçin.
Temel Terk Edilen Sepet Journey Adımları
Temel Terk Edilen Sepet Journey’si artık yapılandırıldı.Bir kullanıcı Journey’ye girdiğinde 1 saat bekleyecektir. Journey’den çıkmazlarsa, terk edilen sepet push bildirimini alacaklardır.

Gelişmiş Journey Kurulumu

Bu kılavuzdan edindiğiniz bilgileri kullanarak artık Journey’yi zaman içinde daha fazla mesaj gönderecek şekilde genişletebilirsiniz.

Mesaj Dizisi

Çok yaygın ve yüksek performanslı bir tempo için en iyi uygulama zamanlama dizisi:
  1. İlk mesajı 1 saat sonra gönderin (bu kılavuzda tamamlandı).
  2. 1 gün için başka bir Wait adımı ekleyin ve ikinci bir mesaj gönderin (sepetlerini güncellemelerinden ~24 saat sonra).
  3. 2 gün için başka bir Wait adımı ekleyin ve üçüncü bir mesaj gönderin (sepetlerini güncellemelerinden ~72 saat sonra).
Mesaj Türleri ve İçeriği: OneSignal ile hangi kanalları kurduğunuza bağlı olarak, çok kanallı bir yaklaşım kullanarak daha iyi sonuçlar elde edersiniz.
  1. Bu kılavuz, ilk saatten sonra bir push bildirim mesajı göndermeyi gösterir. Bu, kullanıcı hâlâ çevrimiçi olabilecekken satışı yakalamaya çalışmak için yararlı bir hatırlatma olarak kullanılır.
  2. İkinci mesajınız için hem push hem de e-posta kullanmayı düşünün. Bu ikinci mesajı, hafif bir aciliyet duygusuyla faydaları ve sosyal kanıtı vurgulamak için kullanın.
  3. Dizideki son mesaj için, bir e-posta veya belki bir SMS (kullanım durumuna bağlı olarak) “son çağrı” olarak kullanın. Satın almalarını teşvik etmek için bir indirim kodu veya başka bir teşvik kullanmayı düşünün.

Yedek Mesajlar

OneSignal’ın Journey’leri, bir mesajın onaylanmış teslim, tıklama veya açılma durumunu kontrol etmek için kullanabileceğiniz Wait Until dallanma mantığı sağlar ve belirli bir süre içinde gerçekleştirilmezse bir yedek mesaj gönderir. Bu, belirli bir mesaj kanalından aboneliğini iptal etmiş olabilecek kullanıcılar için son derece yararlıdır. Yedek mesajların nasıl kurulacağı hakkında daha fazla ayrıntı Yedek Mesajlar kılavuzumuzda bulunabilir.

Performansı izleyin

Journey analizleri, Journey’nin genel olarak nasıl performans gösterdiğini izlemek için kullanılabilir. Ayrıca Şablon analizleri kullanarak her mesajın performansını izleyebilirsiniz.

Outcomes ile geliri izleyin

Bu Journey’den elde edilen geliri izlemek için Özel Outcomes kullanabilirsiniz. Bir satın alma yapıldığında, gönderilen belirli mesajla ilişkili geliri izlemek için etkinliği “Custom Outcome” olarak gönderebilirsiniz. Custom Outcomes, Mobile SDK veya Web SDK aracılığıyla gönderilebilir.
Example: Send purchase outcome via frontend SDK
// Example: capture total price and item count at checkout
const checkoutPriceTotal = document.querySelector(".checkout-price-total").innerText;
const checkoutItemsTotal = document.querySelector(".checkout-items-total").innerText;

function updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal) {
  const purchasePriceTotal = parseFloat(checkoutPriceTotal);
  const purchasedItemCount = parseInt(checkoutItemsTotal);

  OneSignalDeferred.push(function (OneSignal) {
    OneSignal.Session.sendOutcome("Purchase", purchasePriceTotal);
    OneSignal.Session.sendOutcome("Purchased Item Count", purchasedItemCount);
  });
}

const submitPurchaseButton = document.querySelector(".submit-payment");
if (submitPurchaseButton) {
  submitPurchaseButton.addEventListener("click", () => {
    updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal);
  });
}
Outcomes, tanımlanan bir ilişkilendirme penceresi içinde kullanıcıların tıkladığı veya etkilendiği mesajlara gelir atfedebilir.
Terk edilen sepet Journey’sini başarıyla uyguladınız. Mesaj göndermeye başlamaya hazır olduğunuzda Set Live seçin.
Yardıma mı ihtiyacınız var?Destek ekibimizle sohbet edin veya support@onesignal.com adresine e-posta gönderinLütfen şunları ekleyin:
  • Yaşadığınız sorunun ayrıntıları ve varsa yeniden üretme adımları
  • OneSignal Uygulama Kimliğiniz
  • Varsa Harici ID veya Abonelik ID
  • Varsa OneSignal Panosunda test ettiğiniz mesajın URL’si
  • İlgili günlükler veya hata mesajları
Size yardımcı olmaktan mutluluk duyarız!