Recupero del Carrello Abbandonato

Recupero del Carrello Abbandonato

Recupera le vendite perse con una sequenza email multi-step intelligente. Questa skill monitora l’abbandono del carrello e invia automaticamente email di recupero personalizzate per riportare i clienti.

Panoramica

ProprietàValore
CategoriaEmail Marketing
StatoStabile
Versione3.0
Triggercart_abandoned, cart_recovered
Tasso medio di recupero10-15%

Come funziona

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]

Configurazione

Setup di base

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
- unsubscribe

Configurazione avanzata

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"]

Trigger

cart_abandoned

Si attiva quando un carrello è rimasto inattivo per la soglia configurata.

Dati dell'evento

Parameter Type Description
cart_id required
string

Identificatore univoco del carrello

customer_email required
string

Indirizzo email del cliente

items required
array

Array di articoli del carrello con nome, prezzo, quantità, image_url

total required
number

Valore totale del carrello

currency optional
string

Codice valuta (es. USD, EUR)

Default: USD
recovery_url required
string

URL per recuperare il carrello

abandoned_at required
datetime

Quando il carrello è stato abbandonato

Esempio di payload:

{
"event": "cart_abandoned",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"cart_id": "cart_abc123",
"customer_email": "[email protected]",
"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

Si attiva quando un cliente torna e completa il checkout.

{
"event": "cart_recovered",
"timestamp": "2024-01-15T16:45:00Z",
"data": {
"cart_id": "cart_abc123",
"customer_email": "[email protected]",
"order_id": "order_789",
"recovered_via": "email_1", // Which email triggered recovery
"time_to_recover": "2h15m"
}
}

Template email

Variabili del template

Usa queste variabili nei tuoi template email Brevo:

VariabileDescrizioneEsempio
params.FIRSTNAMENome del clienteJane
params.CART_URLURL di recupero carrellohttps://…
params.CART_TOTALTotale carrello formattato$280.77
params.ITEM_COUNTNumero di articoli3
params.ITEMSArray JSON di articoli[…]
params.DISCOUNT_CODECodice sconto generatoSAVE10-ABC
params.DISCOUNT_PERCENTPercentuale di sconto10
params.EXPIRY_DATEData di scadenza dello sconto17 gen 2024

Sequenza email consigliata

Email 1 (1 ora): Promemoria gentile

  • Oggetto: “Hai dimenticato qualcosa, {{ params.FIRSTNAME }}?”
  • Focus: Ricorda il contenuto del carrello
  • Nessuno sconto ancora

Email 2 (24 ore): Aggiungi urgenza + incentivo

  • Oggetto: “Il tuo carrello ti aspetta + 10% di sconto”
  • Focus: Sconto a tempo limitato
  • Include il codice sconto

Email 3 (48 ore): Spinta finale

  • Oggetto: “Ultima chance - 15% di sconto in scadenza”
  • Focus: Scarsità + sconto più forte
  • Scadenza dello sconto a 24 ore

Esempi di codice

Abilitare la skill Carrello Abbandonato

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 }
]
});

Tracciare l’abbandono del carrello

// Call this when cart activity is detected
await tajo.events.track('cart_updated', {
cartId: 'cart_abc123',
customerEmail: '[email protected]',
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',
customerEmail: '[email protected]',
items: cartItems,
total: 280.77,
recoveryUrl: 'https://store.example.com/cart/recover/abc123'
});

Generare codici sconto

// Generate a unique discount code
const discount = await tajo.discounts.create({
type: 'percentage',
value: 10,
expiresIn: '7d',
usageLimit: 1,
prefix: 'SAVE10'
});
// discount.code => "SAVE10-ABC123"

Analytics

Monitora le performance di recupero dei carrelli abbandonati:

MetricaDescrizione
Tasso di abbandono% di carrelli abbandonati
Tasso di recupero% di carrelli abbandonati recuperati
Ricavi recuperatiRicavi totali dai carrelli recuperati
Tasso di apertura email% di email di recupero aperte
CTR emailTasso di click sulle email di recupero
Tempo al recuperoTempo medio dall’abbandono all’acquisto
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'
// }

Best practice

Il timing conta

Invia la prima email entro 1-2 ore dall’abbandono. I tassi di recupero calano drasticamente dopo 24 ore.

  1. Personalizza gli oggetti - Usa il nome del cliente e il contenuto del carrello
  2. Mostra il contenuto del carrello - Includi le immagini dei prodotti nell’email
  3. Crea urgenza - Menziona scorte limitate o sconti a tempo
  4. Rendi facile il recupero - Link di recupero carrello con un click
  5. Testa la tua sequenza - Fai A/B test su timing, oggetti e sconti
  6. Rispetta le cancellazioni - Interrompi subito la sequenza in caso di disiscrizione

Skill correlate

Prossimi passi

  1. Imposta il tracciamento del carrello sulla tua piattaforma
  2. Crea template email in Brevo
  3. Configura l’integrazione dei codici sconto
  4. Monitora le performance nella dashboard

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.

Inizia gratis con Brevo