Ana içeriğe atla

Genel Bakış

Kullanıcılara alışveriş sepetlerinde bıraktıkları ürünleri hatırlatmak, dönüşümleri artırmanın ve kayıp geliri kurtarmanın en etkili yollarından biridir. Doğru şekilde uygulandığında, terk edilmiş sepet kampanyaları Vaka Çalışmaları’mızda gösterildiği gibi kanıtlanmış sonuçlar sunar. Bu adım adım kılavuz, iki senaryo için örnek kod ile terk edilmiş sepet bildirimlerinin nasıl uygulanacağını gösterir:
  1. Segment tabanlı bir Journey’de OneSignal’ın güçlü etiketleme ve segmentasyon araçlarını kullanma.
  2. OneSignal’ın kapsamlı yeni Özel Olaylar özelliklerini ve iki basit olay tetiklemeli Journey’yi kullanma.
Zaten kurulmuş bir terk edilmiş sepet çözümünüz varsa, sepet verilerini doğrudan OneSignal mesajlarınıza senkronize etmek için Veri Beslemeleri’mizi kullanabilirsiniz.
  • Etiketleri ve Segmentleri Kullanma
  • Özel Olayları Kullanma

Kurulum

1. Etiketlerle sepet etkinliğini izleyin

Kullanıcıların sepetlerine ürün eklediklerinde izlemek için etiketleri kullanın. Bu etiketler ürün adı, resim ve zaman damgası içerebilir:
  • cart_update: Sepetin güncellendiği zamanın Unix zaman damgası
  • product_name: Kişiselleştirme için insan tarafından okunabilir ürün adı
  • product_image: Görsel etkileşim için ürün resminin doğrudan URL’si
Sepete eklenen ürünleri etiketlemek için temel bir örnek:
let productName = "Name of the Product"; // Replace with the name of item
let productImageURL = "https://yoursiteurl.com/image-file.jpg"; // Replace with the url to the image

// Use this example method when user adds item to cart
async function addTagsUponCartUpdate(productName, productImageURL) {
await OneSignalDeferred.push(async function (OneSignal) {
let timestamp = Math.floor(Date.now() / 1000);
await OneSignal.User.addTags({
cart_update: timestamp,
product_name: productName,
product_image: productImageURL,
});
// Call getTags after adding tags
const tags = await OneSignal.User.getTags();
console.log(tags);
});
}

// Call the function, or attach to add to cart button
addTagsUponCartUpdate(productName, productImageURL);

Kullanıcılar ödeme yaparsa veya ürünleri kaldırırsa, yanlış pozitifleri önlemek için etiketleri kaldırdığınızdan emin olun.Satın alma tamamlandığında etiketleri kaldırın:
//Removes the cart tags, call when user purchases or removes items from cart
async function removeCartTags() {
  await OneSignalDeferred.push(async function (OneSignal) {
    let timestamp = Math.floor(Date.now() / 1000);
    await OneSignal.User.addTags({
      cart_update: "",
      product_name: "",
      product_image: "",
    });
    // Call getTags after removing tags
    const tags = await OneSignal.User.getTags();
    console.log(tags);
  });
}
Kullanıcı sitenizden ödeme yapmadan ayrılırsa (sepetini terk ederse), artık onları kişiselleştirilmiş bir terk edilmiş sepet bildirimiyle hedeflemek için yeterli bilgiye sahipsiniz.

2. Terk edilmiş sepet segmenti oluşturun

Etiketleme kurulumu tamamlandıktan sonra, bu kullanıcıları hedeflemeli ve bir süre geçtikten sonra onlara mesajlar göndermeliyiz. OneSignal Dashboard’unuzda Kitle > Segmentler’e gidin.Segmentler, toplanan verilere göre aboneliklerin gruplandırılmasına izin verir: 1 - sepetlerinde ürün varsa ve 2 - bu ürünlerin sepette bırakılmasından bu yana ne kadar zaman geçti.
  • Son Oturum Filtresi İle
  • Zaman Operatörleri İle
Bu segment, sepetlerinde ürün bulunan ve siteyi veya mobil uygulamayı 1 saatten fazla önce terk etmiş kullanıcıları içerecektir. Kullanıcı sepete bir ürün ekler, ardından uygulamayı veya siteyi terk eder, 1 saat sonra bu segmentte olacaktır.
  1. “Kullanıcı Etiketi” filtresini seçin
  2. cart_update’i “var” olarak ayarlayın
  3. “VE” ilişkisi oluşturmak için “Filtre Ekle”yi seçin.
  4. “Son Oturum” filtresini seçin ve 1’den “büyük” olarak ayarlayın.
  5. Tekrar “Filtre Ekle”yi seçin ve başka bir “Son Oturum” filtresini 24’ten “küçük” olarak ayarlayın (kullanıcı 24 saat sonra segmentten ayrılacaktır).
  6. Segmenti Terk Edilmiş Sepet 1 Saat olarak adlandırın (gerekli değil ama hatırlamak için yararlı).

Terk edilmiş sepet segmenti örneği

Kullanıcılar sepetlerine ürün ekledikçe/çıkardıkça ve siteyi terk ettikçe/geri döndükçe, bu segmente otomatik olarak girecek ve çıkacaktır.Zaman aralığını 1 saatten daha yüksek bir zaman dilimine değiştirmek isterseniz daha sonra her zaman bu segmente geri dönebilirsiniz.Daha uzun zaman dilimlerinden sonra farklı mesajlar göndermek isterseniz segmentler daha fazlasını oluşturmak ve farklı zaman dilimleri ayarlamak için çoğaltılabilir.

3. Terk edilmiş sepet mesajı oluşturun

İşte biraz yaratıcılık kullanabileceğimiz yer! Sitenizin/uygulamanızın belirli ifadeleri, dili veya emojileri varsa, bunları kullanın! Bunların hepsi marka tanınırlığı için, kullanıcıların tıklamasını sağlamak ve ödeme yapmalarını sağlamak için harikadır.Ayrıca, product_name ve product_image etiketlerini kullanarak, Mesaj Kişiselleştirme için bu verileri mesaja dahil edebiliriz.Örneğin, şunu söyleyebiliriz: “Hey Havalı Kedi 😸 ! Yeni Sarı Kedi Su Kasesi seni bekliyor!”. Ve mesaja ürünün resmini dahil edebiliriz.OneSignal Dashboard’da Mesajlar > Şablonlar’a gidin ve “Yeni Push Şablonu”nu seçin.Şablonlar, yeniden kullanılabilir mesaj oluşturmanın ve kaç kez gönderilip tıklandıklarını izlemenin bir yoludur.
  1. Şablonu Adlandırın: Terk Edilmiş Sepet 1 Saat veya Segmenti nasıl adlandırdıysanız öyle.
  2. Başlığınızı ekleyin, örnek: Hey Havalı Kedi 😸 !
  3. Mesajınızı ekleyin, örnek: Yeni {{product_name | default: "ürün"}} seni bekliyor!
  • burada {{product_name | default: "ürün"}} o etiket için ayarlanan değerle değiştirilecektir. Etiket ayarlanmamışsa “ürün” kullanılacaktır.
  1. Resmi şu şekilde ayarlayın: {{product_image}}
  • burada {{product_image}} ürünün resminin URL’si ile değiştirilecektir. Etiket değeri resme doğrudan bir bağlantı değilse gösterilmeyecektir.
  1. Başlatma URL’sini ödeme sayfanızın URL’si olarak ayarlayın
  • burada ödeme sayfası kullanıcı başına benzersizse, sepet sayfasına bağlantı vermeliyiz (benzersiz değilse) veya daha fazla etiket ikamesi kullanmalıyız. Örneğin, ödeme sayfanız: https://yoursite.com/username/checkout ise, kullanıcıyı bir user_name etiketiyle etiketlememiz gerekir, böylece kullanıcı adı https://yoursite.com/{{user_name}}/checkout kullanırsak değiştirilebilir

Terk edilmiş sepet mesajı örneği

Önemli: bu alanlarda herhangi bir dil kullanabilirsiniz (İngilizce olmak zorunda değildir) ve 1’den fazla dil eklemek isterseniz, mesaj için kendi çevirinizi koymak üzere sadece “Diller Ekle”yi seçin.
  1. Önizlemenin altında, nasıl göründüğünü test etmek için “Test Mesajı Gönder”e tıklayın!
  2. Bittiğinde alttaki “Kaydet”e basın.
Artık yeniden kullanılabilir şablonumuz kuruldu, bunun kaç kez gönderildiğini ve açıldığını takip etmek için Mesajlar > Şablonlar sayfasına geri dönebiliriz.İstediğiniz kadar şablon oluşturabilir ve göndermek istediğiniz tüm farklı kanallar arasında yapabilirsiniz.

4. Terk edilmiş sepet Journey’ini kurun

Journeys > New Journey’e gidin.

Journey ayarları

  1. Journey’i adlandırın: Abandoned Cart veya bu Journey’in ne yaptığını tanımak için istediğiniz herhangi bir şey.
  2. Giriş Kuralları: Abandoned Cart 1 Hour segmentini dahil edin.
  3. Çıkış Kuralları: Exit when a user no longer matches the audience conditions’ı işaretleyin.
  4. Yeniden Giriş Kuralları: Yes, after a certain amount of time’ı seçin ve 1 Gün olarak ayarlayın.

Journey ayarları örneği

  1. Save’e basın.

Journey adımları

Şu anda segmente giren kullanıcılar Journey boyunca akmaya başlayacaktır. Segmenti terk ederlerse, Journey’den ayrılacaklar ve 1 gün geçene kadar tekrar giremezler.
  1. Bir Push Notification mesaj adımı ekleyin, Abandoned Cart 1 Hour şablonunu seçin ve Save’e basın.

Journey adımları örneği

  1. Bir Wait adımı ekleyin, 1 Week seçin ve Save’e basın.
  2. Save & Close’u seçin.
Kullanıcılarınıza, sepetlerini güncelleyene veya ödeme yapana kadar 8 günde bir (1 haftalık bekleme düğümü + 1 günlük yeniden giriş kuralı) kişiselleştirilmiş Terk Edilmiş Sepet şablonu gönderilecektir.
Minimum Terk Edilmiş Sepet kurulumunu başarıyla tamamladınız! Artık daha fazla şablon oluşturabilir, daha fazla Journey adımı, mesaj ekleyebilir ve gerektiği gibi güncelleyebilirsiniz!Hazır olduğunuzda Set Live’a basmanız yeterli.

5. İsteğe bağlı terk edilmiş sepet performans takibi kurulumu

Terk edilmiş sepet mesajları kurulduktan sonra, Templates’e giderek ve açılma ve tıklama oranlarına bakarak ne kadar iyi performans gösterdiğini takip edebilirsiniz.Ücretli bir OneSignal Hesabınız varsa, gerçek geliri takip etmek için Outcomes’u da kullanabilirsiniz.Müşteri ödemeyi tamamladığında, “Submit Payment” düğmesinin seçilmesi üzerine aşağıdaki yöntemi çağırın.
//Example to get the price and total items in cart
// replace ".checkout-price-total" with the class name the element containing the cart's total price
const checkoutPriceTotal = document.querySelector(".checkout-price-total").innerText;
// optional replace ".checkout-items-total" with the class name the element containing the total items in cart to be purchased
const checkoutItemsTotal = document.querySelector(".checkout-items-total").innerText;
//Call this method in the click event for the final button to submit payment
function updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal) {
  let purchasePriceTotal = parseFloat(checkoutPriceTotal);
  let purchasedItemCount = parseInt(checkoutItemsTotal);
  OneSignalDeferred.push(function (OneSignal) {
    OneSignal.sendOutcome("Purchase", purchasePriceTotal);
    OneSignal.sendOutcome("Purchased Item Count", purchasedItemCount);
  });
}
//example of adding this method to the "submit-payment" button
const submitPurchaseButton = document.querySelector(".submit-payment");
if (submitPurchaseButton) {
  submitPurchaseButton.addEventListener("click", () => {
    updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal);
  });
}
  • OneSignal.sendOutcome("Purchase", purchasePriceTotal); - OneSignal’a toplam satın alma tutarını gönderecek ve belirli bir zaman dilimi içinde bir push’a tıklayan veya push alan (etkilenen) ve satın alma yapan tüm müşteriler tarafından yapılan tüm satın almalar için bu geliri biriktirecektir.
  • OneSignal.sendOutcome("Purchased Item Count", purchasedItemCount); - OneSignal’a, satın alma yapmak için push’a doğrudan tıklayan veya bir push tarafından “etkilenen” müşteriyle ilişkilendirilmiş toplam satın alınan ürün miktarını gönderecektir.
Artık OneSignal uzmanısınız! OneSignal’ın sunduğu hizmetlerin derinlemesine bir uygulamasını gerçekleştirdiniz ve daha fazlasını yapmaya hazırsınız! Use Cases’te özetlenen daha fazla en iyi uygulamayı eklemeye devam edin veya bu bireysel özellikler hakkında daha derinlemesine bilgi edinmek için aşağıdaki bağlantıları takip edin.
Need help?Chat with our Support team or email support@onesignal.comPlease include:
  • Details of the issue you’re experiencing and steps to reproduce if available
  • Your OneSignal App ID
  • The External ID or Subscription ID if applicable
  • The URL to the message you tested in the OneSignal Dashboard if applicable
  • Any relevant logs or error messages
We’re happy to help!