---
title: "Khôi phục giỏ hàng bị bỏ"
description: "Khôi phục doanh thu bị mất với một chuỗi email đa bước thông minh đưa khách hàng trở lại để hoàn tất mua hàng."
url: https://tajo.io/vi/docs/skills/email-marketing/abandoned-cart/
markdown: https://tajo.io/vi/docs/skills/email-marketing/abandoned-cart.md
lang: vi-VN
robots: noindex
---

Đăng ký quyền truy cập sớm

Nhập tên và địa chỉ email công việc của bạn. Chúng tôi sẽ gửi liên kết để xác nhận yêu cầu truy cập Tajo.

# 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

```mermaid
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

```yaml
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

```yaml
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:

```json
{
  "event": "cart_abandoned",
  "timestamp": "2024-01-15T14:30:00Z",
  "data": {
    "cart_id": "cart_abc123",
    "customer_email": "jane@example.com",
    "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.

```json
{
  "event": "cart_recovered",
  "timestamp": "2024-01-15T16:45:00Z",
  "data": {
    "cart_id": "cart_abc123",
    "customer_email": "jane@example.com",
    "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ỏ

```javascript
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

```javascript
// Gọi khi phát hiện hoạt động giỏ hàng
await tajo.events.track('cart_updated', {
  cartId: 'cart_abc123',
  customerEmail: 'jane@example.com',
  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: 'jane@example.com',
  items: cartItems,
  total: 280.77,
  recoveryUrl: 'https://store.example.com/cart/recover/abc123'
});
```

### Tạo mã giảm giá

```javascript
// 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ụ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 |

```javascript
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

- 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

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
