Zaman Operatörleri, belirli bir zaman anına göre mesajlar göndermenizi sağlar—bir eylem gerçekleştikten sonra veya gelecekteki bir tarihten önce.O anı, Etiket kullanarak kullanıcıya Unix zaman damgası (saniye cinsinden) olarak saklarsınız. OneSignal daha sonra mevcut zamanı o zaman damgasıyla karşılaştırır ve geçen zamana (veya kalan zamana) göre kullanıcıları hedeflemenizi sağlar.Bu, mesajları manuel olarak planlamadan hatırlatıcılar, takipler ve son teslim tarihi mesajlarını otomatikleştirmeyi kolaylaştırır.Yaygın kullanım durumları:
Terk edilmiş sepet: Belirli bir süre sonra ödeme yapmayan kullanıcıları hatırlatmak
Etkinlik hatırlatıcıları: Planlanmış randevu veya yenileme tarihinden önce kullanıcılara mesaj göndermek
Kilometre taşları: Kullanıcılar bir son tarihe kadar bir eylemi tamamlamadıklarında takip etmek
Doğum günleri: Kullanıcının doğum gününde (veya doğum günü civarında) otomatik mesajlar göndermek
Zaman Operatörleri yalnızca ücretli planlarda kullanılabilir. Ücretsiz planlar hala First Session ve Last Session gibi varsayılan zamana dayalı segment filtrelerini kullanabilir.
Birçok “hatırlatıcı” kullanım durumunu Etiketler veya Özel Etkinlikler ile çözebilirsiniz. En iyi seçenek, neyi saklamak istediğinize ve otomasyonu nasıl tetiklemek istediğinize bağlıdır.
Kullanıcıda son bilinen zaman damgasını (örneğin, cart_updated_at veya subscription_expires_at) saklamak ve zamanla o değere göre segmentleme yapmak istediğinizde Etiketler kullanın.
Her etkinlik oluşumunu (özellikleriyle birlikte) kaydetmek ve gerçek zamanlı davranışa göre Journey’leri tetiklemek istediğinizde Özel Etkinlikler kullanın.
Pratikte, birçok uygulama ikisini birden kullanabilir: gerçek zamanlı izleme için Özel Etkinlikler ve daha sonra segmentleme yapmak istediğiniz kullanıcı durumu için Etiketler.
Etiketler ve Özel Etkinlikler kullanıcılarınıza veri eklemenin her ikisi de yoludur. Ancak bazı temel farklar vardır:
Özellik
Etiketler
Özel Etkinlikler
Veri kullanımı
Segmentasyon ve kişiselleştirme
Segment olmadan Yolculukları tetikleme, Bekle adımları, doğrudan Yolculuklar içinde kişiselleştirme
Yolculuklar ve Yolculuk-mesaj-şablon kişiselleştirme, Segmentasyon (Yakında)
Etiketler ve Özel Etkinlikler arasındaki temel ayrım, derinliklerinde ve kullanım durumlarındadır. Etiketler bir kullanıcının özellikleridir, örneğin Ad, Hesap Durumu veya Konum. Etkinlikler ise kullanıcının yaptığı şeylerdir, örneğin Bir Öğe Satın Alma, Seviye Tamamlama veya Arkadaş Davet Etme. Hem etiketler hem de etkinlikler segmentasyon ve kişiselleştirme için kullanılabilir.Uygulamada, muhtemelen her ikisini de kullanacaksınız:
Statik ve sık değişmeyen kullanıcı özellikleri için Etiketler
Gerçek zamanlı senaryolar, karmaşık segmentasyon ve daha sofistike yolculuk iş akışları için Özel Etkinlikler
Bir şey olduktan sonra belirli bir süre geçtikten sonra kullanıcılara mesaj göndermek istediğinizde bu kalıbı kullanın.Örnek: Kullanıcı sepetini güncelledikten 24 saat sonra terk edilmiş sepet hatırlatıcısı gönderme
1
Etkinlik gerçekleştiğinde zaman damgasını sakla
Kullanıcı sepetini güncellediğinde, mevcut zamanı Unix zaman damgası (saniye cinsinden) olarak kaydedin:
Her kullanıcının bir sonraki yaklaşan doğum gününü zaman damgası olarak saklayarak doğum günü mesajları gönderin.
1
Bir sonraki doğum günü zaman damgasını sakla
Kullanıcının bir sonraki doğum gününü hesaplayın ve saklayın:
function getNextBirthday(month, day) { // month: 0-11 (Jan=0), day: 1-31 const now = new Date(); let birthday = new Date(now.getFullYear(), month, day); if (birthday <= now) { birthday = new Date(now.getFullYear() + 1, month, day); } return String(Math.floor(birthday.getTime() / 1000));}// Örnek: 15 Ocak doğum günüOneSignal.User.addTag("birthday", getNextBirthday(0, 15));
2
Doğum günü segmenti oluştur
User Tag: birthday
Time Elapsed Greater Than: 0 saniye
Doğum günü zaman damgası geçtiğinde kullanıcılar segmente girer.
Doğum günü segmenti
3
Tekrarlayan Journey kurma
Doğum günü segmentinizi hedefleyen bir Journey oluşturun
Kullanıcıların gelecek yıl yeniden girebilmesi için yeniden girişi 52 hafta olarak ayarlayın
Gönderdikten sonra birthday etiketini gelecek yılın tarihine güncelleyin (backend’inizde veya Journey’de)
Mümkün olduğunda kullanıcının yerel saat dilimini kullanarak doğum günü zaman damgalarını hesaplayın. Sadece sunucu zamanını kullanmak, mesajların beklenenden erken veya geç gönderilmesine neden olabilir.
Mesajların yıldan yıla doğru kalmasını istiyorsanız, mesajı gönderdikten sonra kullanıcının birthday etiketini bir sonraki doğum gününe güncelleyin (örneğin, backend’inizde veya Journey adımında). Bunu yaparsanız, bunun yerine Özel Etkinlikler kullanmak daha kolay olabilir.
Doğum günü mesajları kullanıcının birthday etiketi tarihi civarında kullanıcılara gönderilecektir.
Zaman Operatörleri, sabit tarihler yerine göreceli, hareketli pencereler oluşturmanızı sağlamak için mevcuttur.OneSignal geçen zamanı şu formülü kullanarak hesaplar:
time_elapsed = current_time - tag_timestamp
Geçmiş zaman damgaları → pozitif değerler
Gelecekteki zaman damgaları → negatif değerler
Operatörler:
Time Elapsed Greater Than X: elapsed > X olduğunda eşleşir
Time Elapsed Less Than X: elapsed < X olduğunda eşleşir
Gelecekteki zaman damgaları neden Less Than ile hemen eşleşir:Herhangi bir negatif sayı herhangi bir pozitif sayıdan küçüktür. Bu nedenle time_elapsed_lt 2 days (172,800 saniye) gelecekteki 30 günlük zaman damgasıyla eşleşir çünkü:
-2,592,000 < 172,800 → true (eşleşir)
Gelecekteki zaman damgaları her zaman negatif geçen zaman ürettiği için, yaklaşan bir etkinlikten önce kullanıcıların segmentlere ne zaman girip çıkması gerektiğini tanımlamak için negatif değerler kullanmalısınız. Pozitif değerler gelecekteki bir tarihten önceki zamanı temsil edemez.
Harici ID, Abonelik ID, E-posta veya telefon numarası ile kullanıcınızı bulun. Kullanıcınızı bulmayla ilgili ayrıntılar için Test aboneliklerini bulma ve ayarlama’ya bakın.
Mevcut tarih ve gelecekteki tarih (şu andan 5 dakika sonra) için saniye cinsinden zaman damgası alın.
‘current_time’ ve ‘future_time’ anahtarları ve saniye cinsinden zaman damgaları değerleri olan iki etiket ayarlayın.
Aşağıdaki filtrelerle current_time segmenti oluşturun:
User Tag: current_timeTime Elapsed Greater Than: 2 dakika
VE User Tag: current_timeTime Elapsed Less Than: 5 dakika
Aşağıdaki filtrelerle future_time segmenti oluşturun:
User Tag: future_timeTime Elapsed Greater Than: -5 dakika
VE User Tag: future_timeTime Elapsed Less Than: -2 dakika
Kullanıcınızı şöyle görmelisiniz:
Mevcut zaman tarihinden 2 dakika sonra current_time segmentine girer ve mevcut zaman tarihinden 5 dakika sonra segmentten çıkar.
Gelecekteki zaman tarihinden 5 dakika önce future_time segmentine girer ve gelecekteki zaman tarihinden 2 dakika önce segmentten çıkar.