Recuperarea coșului abandonat
Recuperarea coșului abandonat
Recuperați vânzările pierdute cu o secvență de e-mail inteligentă în mai mulți pași. Acest skill monitorizează abandonurile de coș și trimite automat e-mailuri de recuperare personalizate pentru a aduce clienții înapoi.
Prezentare generală
| Proprietate | Valoare |
|---|---|
| Categorie | E-mail marketing |
| Status | Stabil |
| Versiune | 3.0 |
| Declanșatoare | cart_abandoned, cart_recovered |
| Rata medie de recuperare | 10-15% |
Cum funcționează
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]Configurare
Configurare de bază
skills: abandoned-cart: enabled: true
# Detectarea abandonului de coș detection: inactivity_threshold: 30m # Minute înainte ca un coș să fie considerat abandonat min_cart_value: 25 # Valoarea minimă a coșului pentru declanșare exclude_logged_out: false # Include coșurile vizitatorilor
# Secvența de e-mail 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
# Condiții de oprire stop_on: - cart_recovered - order_placed - unsubscribeConfigurare avansată
skills: abandoned-cart: # Timing specific pe segment timing: vip_customers: first_email: 30m discount_threshold: 0 # Include întotdeauna reducere new_customers: first_email: 2h discount_threshold: 50 # Reducere doar dacă coșul > $50 repeat_customers: first_email: 1h discount_threshold: 100
# Testare A/B 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
# Excluderi exclude: - email_domain: ["temp-mail.com", "disposable.com"] - customer_tag: ["wholesale", "staff"] - product_category: ["gift-cards"]Declanșatoare
cart_abandoned
Se declanșează când un coș a fost inactiv pentru pragul de timp configurat.
Datele evenimentului
| Parameter | Type | Description |
|---|---|---|
cart_id required | string | Identificator unic al coșului |
customer_email required | string | Adresa de e-mail a clientului |
items required | array | Tablou de produse din coș cu nume, preț, cantitate și image_url |
total required | number | Valoarea totală a coșului |
currency optional | string | Cod monedă (ex. USD, EUR) |
recovery_url required | string | URL pentru recuperarea coșului |
abandoned_at required | datetime | Când a fost abandonat coșul |
Exemplu de payload:
{ "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
Se declanșează când un client revine și finalizează comanda.
{ "event": "cart_recovered", "timestamp": "2024-01-15T16:45:00Z", "data": { "cart_id": "cart_abc123", "order_id": "order_789", "recovered_via": "email_1", // Care e-mail a declanșat recuperarea "time_to_recover": "2h15m" }}Șabloane de e-mail
Variabile de șablon
Utilizați aceste variabile în șabloanele de e-mail Brevo:
| Variabilă | Descriere | Exemplu |
|---|---|---|
params.FIRSTNAME | Prenumele clientului | Jane |
params.CART_URL | URL de recuperare coș | https://… |
params.CART_TOTAL | Totalul coșului formatat | $280.77 |
params.ITEM_COUNT | Numărul de produse | 3 |
params.ITEMS | Tablou JSON de produse | […] |
params.DISCOUNT_CODE | Cod de reducere generat | SAVE10-ABC |
params.DISCOUNT_PERCENT | Procentul reducerii | 10 |
params.EXPIRY_DATE | Data expirării reducerii | Jan 17, 2024 |
Secvența de e-mail recomandată
E-mail 1 (1 oră): Reminder blând
- Subiect: „Ați uitat ceva, {{ params.FIRSTNAME }}?”
- Focus: Reamintire despre conținutul coșului
- Fără reducere încă
E-mail 2 (24 de ore): Adăugați urgență + stimulent
- Subiect: „Coșul dvs. vă așteaptă + 10% reducere”
- Focus: Reducere cu termen limitat
- Includeți codul de reducere
E-mail 3 (48 de ore): Ultima șansă
- Subiect: „Ultima șansă – 15% reducere expiră în curând”
- Focus: Raritate + reducere mai mare
- Expirare în 24 de ore a reducerii
Exemple de cod
Activați skill-ul coș abandonat
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 } ]});Urmăriți abandonul coșului
// Apelați aceasta când se detectează activitate de coșawait tajo.events.track('cart_updated', { cartId: 'cart_abc123', items: cartItems, total: 280.77});
// Apelați aceasta când clientul pleacă fără a finaliza cumpărătura// (de obicei dintr-un eveniment beforeunload sau timeout de sesiune)await tajo.events.track('cart_abandoned', { cartId: 'cart_abc123', items: cartItems, total: 280.77, recoveryUrl: 'https://store.example.com/cart/recover/abc123'});Generați coduri de reducere
// Generați un cod de reducere unicconst discount = await tajo.discounts.create({ type: 'percentage', value: 10, expiresIn: '7d', usageLimit: 1, prefix: 'SAVE10'});
// discount.code => "SAVE10-ABC123"Analiză
Urmăriți performanța recuperării coșului abandonat:
| Indicator | Descriere |
|---|---|
| Rata de abandon | % de coșuri abandonate |
| Rata de recuperare | % de coșuri abandonate recuperate |
| Venituri recuperate | Venituri totale din coșuri recuperate |
| Rata de deschidere e-mail | % de e-mailuri de recuperare deschise |
| CTR e-mail | Rata de clic pe e-mailurile de recuperare |
| Timp până la recuperare | Timp mediu de la abandon la cumpărare |
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'// }Bune practici
Timingul contează
Trimiteți primul e-mail în termen de 1-2 ore de la abandon. Ratele de recuperare scad semnificativ după 24 de ore.
- Personalizați subiectele – Folosiți numele clientului și conținutul coșului
- Afișați conținutul coșului – Includeți imagini ale produselor în e-mail
- Creați urgență – Menționați stoc limitat sau reduceri cu termen limitat
- Facilitați recuperarea – Linkuri de recuperare coș cu un singur clic
- Testați secvența – Testați A/B timing-ul, subiectele și reducerile
- Respectați dezabonările – Opriți imediat secvența la dezabonare
Skills conexe
- Evenimente coș – Urmăriți activitatea coșului
- Abandon navigare – Recuperați sesiunile de navigare abandonate
- Recuperare client – Reactivați clienții inactivi
Pași următori
- Configurați urmărirea coșului pe platforma dvs.
- Creați șabloane de e-mail în Brevo
- Configurați integrarea codurilor de reducere
- Monitorizați performanța în tabloul de bord