Khôi phục giỏ hàng bị bỏ

Khôi phục giỏ hàng bị bỏ

Khôi phục doanh thu bị mất với một chuỗi email đa bước thông minh. Skill này theo dõi việc bỏ giỏ hàng và tự động gửi các email khôi phục được cá nhân hóa để đưa khách hàng trở lại.

Tổng quan

Thuộc tínhGiá trị
Danh mụcEmail Marketing
Trạng tháiỔn định
Phiên bản3.0
Triggerscart_abandoned, cart_recovered
Tỷ lệ khôi phục trung bình10-15%

Cách hoạt động

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]

Cấu hình

Thiết lập cơ bản

skills:
abandoned-cart:
enabled: true
# Phát hiện bỏ giỏ hàng
detection:
inactivity_threshold: 30m # Phút trước khi giỏ hàng bị coi là bỏ
min_cart_value: 25 # Giá trị giỏ hàng tối thiểu để kích hoạt
exclude_logged_out: false # Bao gồm giỏ hàng khách
# Chuỗi email
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
# Điều kiện dừng
stop_on:
- cart_recovered
- order_placed
- unsubscribe

Cấu hình nâng cao

skills:
abandoned-cart:
# Thời gian theo phân khúc
timing:
vip_customers:
first_email: 30m
discount_threshold: 0 # Luôn bao gồm giảm giá
new_customers:
first_email: 2h
discount_threshold: 50 # Giảm giá chỉ khi giỏ hàng > $50
repeat_customers:
first_email: 1h
discount_threshold: 100
# Kiểm tra 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
# Loại trừ
exclude:
- email_domain: ["temp-mail.com", "disposable.com"]
- customer_tag: ["wholesale", "staff"]
- product_category: ["gift-cards"]

Triggers

cart_abandoned

Kích hoạt khi một giỏ hàng không hoạt động trong ngưỡng được cấu hình.

Dữ liệu sự kiện

Parameter Type Description
cart_id required
string

Định danh giỏ hàng duy nhất

customer_email required
string

Địa chỉ email của khách hàng

items required
array

Mảng các mặt hàng trong giỏ với name, price, quantity, image_url

total required
number

Tổng giá trị giỏ hàng

currency optional
string

Mã tiền tệ (ví dụ: USD, EUR)

Default: USD
recovery_url required
string

URL để khôi phục giỏ hàng

abandoned_at required
datetime

Thời điểm giỏ hàng bị bỏ

Ví dụ 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

Kích hoạt khi một khách hàng quay lại và hoàn tất thanh toán.

{
"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", // Email nào kích hoạt việc khôi phục
"time_to_recover": "2h15m"
}
}

Mẫu email

Biến mẫu

Sử dụng các biến này trong mẫu email Brevo của bạn:

BiếnMô tảVí dụ
params.FIRSTNAMETên của khách hàngJane
params.CART_URLURL khôi phục giỏ hànghttps://…
params.CART_TOTALTổng giỏ hàng đã định dạng$280.77
params.ITEM_COUNTSố lượng mặt hàng3
params.ITEMSMảng JSON các mặt hàng[…]
params.DISCOUNT_CODEMã giảm giá được tạoSAVE10-ABC
params.DISCOUNT_PERCENTPhần trăm giảm giá10
params.EXPIRY_DATENgày hết hạn giảm giáJan 17, 2024

Chuỗi email được khuyến nghị

Email 1 (1 giờ): Nhắc nhở nhẹ nhàng

  • Tiêu đề: “Bạn có quên gì không, {{ params.FIRSTNAME }}?”
  • Trọng tâm: Nhắc về nội dung giỏ hàng
  • Chưa có giảm giá

Email 2 (24 giờ): Thêm sự cấp bách + ưu đãi

  • Tiêu đề: “Giỏ hàng của bạn đang chờ + giảm 10%”
  • Trọng tâm: Giảm giá có thời hạn
  • Bao gồm mã giảm giá

Email 3 (48 giờ): Cú đẩy cuối cùng

  • Tiêu đề: “Cơ hội cuối - giảm 15% sắp hết hạn”
  • Trọng tâm: Sự khan hiếm + giảm giá mạnh hơn
  • Giảm giá hết hạn sau 24 giờ

Ví dụ mã

Kích hoạt Skill giỏ hàng bị bỏ

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

Theo dõi việc bỏ giỏ hàng

// Gọi khi phát hiện hoạt động giỏ hàng
await tajo.events.track('cart_updated', {
cartId: 'cart_abc123',
customerEmail: '[email protected]',
items: cartItems,
total: 280.77
});
// Gọi khi khách hàng rời đi mà không thanh toán
// (thường từ sự kiện beforeunload hoặc 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'
});

Tạo mã giảm giá

// Tạo mã giảm giá duy nhất
const discount = await tajo.discounts.create({
type: 'percentage',
value: 10,
expiresIn: '7d',
usageLimit: 1,
prefix: 'SAVE10'
});
// discount.code => "SAVE10-ABC123"

Phân tích

Theo dõi hiệu suất khôi phục giỏ hàng bị bỏ:

Chỉ sốMô tả
Tỷ lệ bỏ% giỏ hàng bị bỏ
Tỷ lệ khôi phục% giỏ hàng bị bỏ được khôi phục
Doanh thu được khôi phụcTổng doanh thu từ giỏ hàng được khôi phục
Tỷ lệ mở email% email khôi phục được mở
CTR emailTỷ lệ nhấp chuột trên email khôi phục
Thời gian đến khôi phụcThời gian trung bình từ khi bỏ đến mua
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'
// }

Thực tiễn tốt nhất

Thời gian quan trọng

Gửi email đầu tiên trong vòng 1-2 giờ sau khi bỏ. Tỷ lệ khôi phục giảm đáng kể sau 24 giờ.

  1. Cá nhân hóa dòng tiêu đề - Sử dụng tên khách hàng và nội dung giỏ hàng
  2. Hiển thị nội dung giỏ hàng - Bao gồm hình ảnh sản phẩm trong email
  3. Tạo sự cấp bách - Đề cập đến tình trạng hàng ít hoặc giảm giá có thời hạn
  4. Làm cho việc khôi phục dễ dàng - Liên kết khôi phục giỏ hàng bằng một cú nhấp
  5. Kiểm tra chuỗi của bạn - Kiểm tra A/B thời gian, dòng tiêu đề và giảm giá
  6. Tôn trọng việc hủy đăng ký - Dừng chuỗi ngay khi hủy đăng ký

Skills liên quan

Bước tiếp theo

  1. Thiết lập theo dõi giỏ hàng trên nền tảng của bạn
  2. Tạo mẫu email trong Brevo
  3. Cấu hình tích hợp mã giảm giá
  4. Theo dõi hiệu suất trong bảng điều khiển

Subscribe to updates

developer-docs

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

Trợ lý AI

Xin chào! Hãy hỏi tôi về tài liệu.

Bắt đầu miễn phí với Brevo