Terk Edilmiş Sepet Kurtarma
Terk Edilmiş Sepet Kurtarma
Akıllı çok adımlı bir e-posta dizisiyle kayıp satışları kurtarın. Bu beceri sepet terkini izler ve müşterileri geri getirmek için otomatik olarak kişiselleştirilmiş kurtarma e-postaları gönderir.
Genel Bakış
| Özellik | Değer |
|---|---|
| Kategori | E-posta Pazarlama |
| Durum | Stabil |
| Sürüm | 3.0 |
| Tetikleyiciler | cart_abandoned, cart_recovered |
| Ortalama Kurtarma Oranı | %10-15 |
Nasıl Çalışır
graph TD A[Customer adds to cart] -->|Leaves site| B{Cart abandoned?} B -->|No checkout in 30min| C[Trigger: cart_abandoned] C --> D[Wait 1 hour] D --> E{Purchased?} E -->|No| F[Send Email #1] F --> G[Wait 24 hours] G --> H{Purchased?} H -->|No| I[Send Email #2 + Discount] I --> J[Wait 48 hours] J --> K{Purchased?} K -->|No| L[Send Email #3 - Final] E -->|Yes| M[Stop sequence] H -->|Yes| M K -->|Yes| M L --> N[Mark as lost]Yapılandırma
Temel Kurulum
skills: abandoned-cart: enabled: true
# Cart abandonment detection detection: inactivity_threshold: 30m # Minutes before cart is abandoned min_cart_value: 25 # Minimum cart value to trigger exclude_logged_out: false # Include guest carts
# Email sequence sequence: - delay: 1h template_id: 101 subject: "Forgot something?"
- delay: 24h template_id: 102 subject: "Your cart is waiting" include_discount: true discount_percent: 10
- delay: 48h template_id: 103 subject: "Last chance - items selling fast" include_discount: true discount_percent: 15 discount_expiry: 24h
# Stop conditions stop_on: - cart_recovered - order_placed - unsubscribeGelişmiş Yapılandırma
skills: abandoned-cart: # Segment-specific timing timing: vip_customers: first_email: 30m discount_threshold: 0 # Always include discount new_customers: first_email: 2h discount_threshold: 50 # Discount only if cart > $50 repeat_customers: first_email: 1h discount_threshold: 100
# A/B testing ab_testing: enabled: true variants: - name: "urgency" subject: "Items in your cart are selling fast!" weight: 50 - name: "friendly" subject: "Did you forget something?" weight: 50
# Exclusions exclude: - email_domain: ["temp-mail.com", "disposable.com"] - customer_tag: ["wholesale", "staff"] - product_category: ["gift-cards"]Tetikleyiciler
cart_abandoned
Bir sepet, yapılandırılan eşik süresi boyunca hareketsiz kaldığında tetiklenir.
Olay Verisi
| Parameter | Type | Description |
|---|---|---|
cart_id required | string | Benzersiz sepet tanımlayıcısı |
customer_email required | string | Müşterinin e-posta adresi |
items required | array | Ad, fiyat, miktar, image_url içeren sepet ürünleri dizisi |
total required | number | Sepet toplam değeri |
currency optional | string | Para birimi kodu (ör. USD, EUR) |
recovery_url required | string | Sepeti kurtarmak için URL |
abandoned_at required | datetime | Sepetin ne zaman terk edildiği |
Örnek yük:
{ "event": "cart_abandoned", "timestamp": "2024-01-15T14:30:00Z", "data": { "cart_id": "cart_abc123", "items": [ { "id": "prod_123", "name": "Premium Headphones", "price": 199.99, "quantity": 1, "image_url": "https://cdn.example.com/headphones.jpg", "variant": "Black" }, { "id": "prod_456", "name": "Phone Case", "price": 29.99, "quantity": 2, "image_url": "https://cdn.example.com/case.jpg" } ], "subtotal": 259.97, "shipping": 0, "tax": 20.80, "total": 280.77, "currency": "USD", "recovery_url": "https://store.example.com/cart/recover/abc123", "abandoned_at": "2024-01-15T14:00:00Z" }}cart_recovered
Bir müşteri geri döndüğünde ve satın alma işlemini tamamladığında tetiklenir.
{ "event": "cart_recovered", "timestamp": "2024-01-15T16:45:00Z", "data": { "cart_id": "cart_abc123", "order_id": "order_789", "recovered_via": "email_1", // Which email triggered recovery "time_to_recover": "2h15m" }}E-posta Şablonları
Şablon Değişkenleri
Brevo e-posta şablonlarınızda bu değişkenleri kullanın:
| Değişken | Açıklama | Örnek |
|---|---|---|
params.FIRSTNAME | Müşterinin adı | Jane |
params.CART_URL | Sepet kurtarma URL’si | https://… |
params.CART_TOTAL | Biçimlendirilmiş sepet toplamı | $280.77 |
params.ITEM_COUNT | Ürün sayısı | 3 |
params.ITEMS | Ürünlerin JSON dizisi | […] |
params.DISCOUNT_CODE | Oluşturulan indirim kodu | SAVE10-ABC |
params.DISCOUNT_PERCENT | İndirim yüzdesi | 10 |
params.EXPIRY_DATE | İndirim son kullanma tarihi | 17 Oca 2024 |
Önerilen E-posta Dizisi
E-posta 1 (1 saat): Nazik bir hatırlatma
- Konu: “Bir şey mi unuttunuz, {{ params.FIRSTNAME }}?”
- Odak: Sepet içeriğini hatırlat
- Henüz indirim yok
E-posta 2 (24 saat): Aciliyet ve teşvik ekleyin
- Konu: “Sepetiniz sizi bekliyor + %10 indirim”
- Odak: Sınırlı süreli indirim
- İndirim kodunu dahil et
E-posta 3 (48 saat): Son itiş
- Konu: “Son şans - %15 indirim yakında sona eriyor”
- Odak: Kıtlık + daha güçlü indirim
- İndirimde 24 saatlik son kullanma süresi
Kod Örnekleri
Terk Edilmiş Sepet Becerisini Etkinleştir
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.skills.enable('abandoned-cart', { detection: { inactivityThreshold: '30m', minCartValue: 25 }, sequence: [ { delay: '1h', templateId: 101 }, { delay: '24h', templateId: 102, discountPercent: 10 }, { delay: '48h', templateId: 103, discountPercent: 15 } ]});Sepet Terkini Takip Et
// Call this when cart activity is detectedawait tajo.events.track('cart_updated', { cartId: 'cart_abc123', items: cartItems, total: 280.77});
// Call this when customer leaves without checkout// (typically from a beforeunload event or session timeout)await tajo.events.track('cart_abandoned', { cartId: 'cart_abc123', items: cartItems, total: 280.77, recoveryUrl: 'https://store.example.com/cart/recover/abc123'});İndirim Kodları Oluştur
// Generate a unique discount codeconst discount = await tajo.discounts.create({ type: 'percentage', value: 10, expiresIn: '7d', usageLimit: 1, prefix: 'SAVE10'});
// discount.code => "SAVE10-ABC123"Analitik
Terk edilmiş sepet kurtarma performansını takip edin:
| Metrik | Açıklama |
|---|---|
| Terk Oranı | Terk edilen sepetlerin yüzdesi |
| Kurtarma Oranı | Kurtarılan terk edilmiş sepetlerin yüzdesi |
| Kurtarılan Gelir | Kurtarılan sepetlerden elde edilen toplam gelir |
| E-posta Açılma Oranı | Açılan kurtarma e-postalarının yüzdesi |
| E-posta TO | Kurtarma e-postalarındaki tıklama oranı |
| Kurtarma Süresi | Terk etmeden satın almaya kadar ortalama süre |
const stats = await tajo.skills.getStats('abandoned-cart', { period: '30d'});
console.log(stats);// {// abandonmentRate: 68.5,// recoveryRate: 12.3,// revenueRecovered: 15420.50,// emailsSent: 2340,// emailOpenRate: 45.2,// emailCtr: 8.7,// avgTimeToRecovery: '4h32m'// }En İyi Uygulamalar
Zamanlama Önemlidir
İlk e-postayı terkten sonraki 1-2 saat içinde gönderin. Kurtarma oranları 24 saatten sonra belirgin şekilde düşer.
- Konu satırlarını kişiselleştirin - Müşterinin adını ve sepet içeriğini kullanın
- Sepet içeriğini gösterin - E-postada ürün görsellerini dahil edin
- Aciliyet yaratın - Düşük stok veya sınırlı süreli indirimlerden bahsedin
- Kurtarmayı kolaylaştırın - Tek tıklamalı sepet kurtarma bağlantıları
- Dizinizi test edin - Zamanlamayı, konu satırlarını ve indirimleri A/B test edin
- Abonelik iptallerine saygı gösterin - Abonelikten çıkışta diziyi hemen durdurun
İlgili Beceriler
- Sepet Olayları - Sepet etkinliğini takip edin
- Göz Atma Terki - Göz atma oturumlarını kurtarın
- Geri Kazanım - Pasif müşterileri yeniden etkileşime geçirin
Sonraki Adımlar
- Platformunuzda sepet takibini kurun
- Brevo’da e-posta şablonları oluşturun
- İndirim kodları entegrasyonunu yapılandırın
- Panodan performansı izleyin