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ính | Giá trị |
|---|---|
| Danh mục | Email Marketing |
| Trạng thái | Ổn định |
| Phiên bản | 3.0 |
| Triggers | cart_abandoned, cart_recovered |
| Tỷ lệ khôi phục trung bình | 10-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 - unsubscribeCấ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) |
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", "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", "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ến | Mô tả | Ví dụ |
|---|---|---|
params.FIRSTNAME | Tên của khách hàng | Jane |
params.CART_URL | URL khôi phục giỏ hàng | https://… |
params.CART_TOTAL | Tổng giỏ hàng đã định dạng | $280.77 |
params.ITEM_COUNT | Số lượng mặt hàng | 3 |
params.ITEMS | Mảng JSON các mặt hàng | […] |
params.DISCOUNT_CODE | Mã giảm giá được tạo | SAVE10-ABC |
params.DISCOUNT_PERCENT | Phần trăm giảm giá | 10 |
params.EXPIRY_DATE | Ngà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àngawait tajo.events.track('cart_updated', { cartId: 'cart_abc123', 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', 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ấtconst 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ục | Tổng doanh thu từ giỏ hàng được khôi phục |
| Tỷ lệ mở email | % email khôi phục được mở |
| CTR email | Tỷ lệ nhấp chuột trên email khôi phục |
| Thời gian đến khôi phục | Thờ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ờ.
- 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
- Hiển thị nội dung giỏ hàng - Bao gồm hình ảnh sản phẩm trong email
- 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
- 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
- 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á
- Tôn trọng việc hủy đăng ký - Dừng chuỗi ngay khi hủy đăng ký
Skills liên quan
- Cart Events - Theo dõi hoạt động giỏ hàng
- Browse Abandonment - Khôi phục các phiên duyệt
- Win-Back - Tương tác lại với khách hàng không hoạt động
Bước tiếp theo
- Thiết lập theo dõi giỏ hàng trên nền tảng của bạn
- Tạo mẫu email trong Brevo
- Cấu hình tích hợp mã giảm giá
- Theo dõi hiệu suất trong bảng điều khiển