---
title: "Flow trong Adapty Mail"
description: "Cách flow định tuyến các chiến dịch đến đúng người dùng vào đúng thời điểm — trigger, phân khúc và quy tắc ưu tiên."
---

<CustomDocCardList ids={['mail-create-flow']} />

Một **flow** biến một chiến dịch đã lưu thành các lần gửi có lịch trình. Flow liên kết một sự kiện trigger (trạng thái gói đăng ký của người dùng) với một phân khúc (những người dùng đủ điều kiện) và chiến dịch họ nhận được. Adapty Mail đánh giá mọi flow mỗi khi có sự kiện phù hợp xảy ra — không cần polling, không cần cron, không cần khởi động thủ công.

## Trigger \{#triggers\}

Adapty Mail đi kèm với năm trigger cố định, mỗi trigger có view flow riêng dưới mục **Flows**:

- **Never purchased**: Người dùng đã đăng ký nhưng chưa thực hiện mua hàng. Mục tiêu: kích hoạt và chuyển đổi lần đầu. Người dùng dùng thử không thuộc nhóm này — bắt đầu dùng thử được tính là gói đăng ký đang hoạt động.
- **Renewal cancelled**: Người dùng đã tắt tự động gia hạn nhưng vẫn còn gói đăng ký đang hoạt động. Bao gồm cả người đăng ký trả phí và người dùng thử đã hủy trước khi chuyển đổi. Đây là khoảng thời gian tốt nhất để giữ chân họ — họ vẫn còn quyền truy cập. Hãy chia đối tượng trả phí và dùng thử qua bộ lọc phân khúc nếu nội dung cần khác nhau.
- **Billing issue**: Thanh toán thất bại — thẻ bị từ chối hoặc hết hạn, hoặc thời gian ân hạn sau khi bỏ lỡ gia hạn. Mục tiêu: khôi phục khẩn cấp và hữu ích, không phải thúc đẩy bán hàng. Hãy khôi phục họ nhanh chóng — họ đã muốn thanh toán rồi.
- **Expired**: Gói đăng ký đã hết hạn và quyền truy cập không còn. Bao gồm cả gói trả phí hết hạn và gói dùng thử hết hạn mà không chuyển đổi. Mục tiêu: thu hút lại họ. Bộ lọc phân khúc có thể tùy chỉnh nội dung cho đối tượng hết dùng thử và hết gói trả phí.
- **Refunded**: Người dùng đã yêu cầu hoàn tiền sau khi mua. Mục tiêu: hiểu điều gì đã xảy ra và đề xuất lựa chọn phù hợp hơn. Giọng điệu nên khiêm tốn và chân thành, không phải bán hàng cứng nhắc.

Trigger không thể cấu hình — bạn không thể tạo trigger tùy chỉnh hoặc mở rộng danh sách.

## Phân khúc All Users \{#the-all-users-segment\}

Adapty Mail đi kèm với phân khúc **All Users** tích hợp sẵn không có bộ lọc — mọi người dùng trong dự án đều đủ điều kiện. Phân khúc này hữu ích nhất trong các flow như một hàng bắt tất cả (catch-all), phục vụ những người không được khớp bởi phân khúc cụ thể hơn ở phía trên. All Users không thể chỉnh sửa hoặc xóa. Xem [Phân khúc](mail-segments) để biết toàn bộ thông tin.

## Ưu tiên \{#priority\}

Mỗi view trigger chứa một danh sách các hàng **phân khúc → chiến dịch** (hoặc phân khúc → A/B test), được sắp xếp theo mức độ ưu tiên. Khi người dùng kích hoạt trigger, Adapty Mail:

1. Duyệt các hàng từ trên xuống dưới.
2. Gửi chiến dịch trong hàng đầu tiên mà phân khúc của nó khớp.
3. Dừng lại. Các hàng tiếp theo không được đánh giá cho người dùng đó.

Thứ tự quan trọng. Một phân khúc rộng được đặt phía trên phân khúc hẹp hơn sẽ bao phủ mọi người dùng mà lẽ ra sẽ khớp với hàng hẹp hơn đó.

Để sắp xếp lại, kéo tay cầm ở bên trái của bất kỳ hàng nào — phần backend sẽ gán lại số thứ tự ưu tiên 1, 2, 3… dựa trên thứ tự đã lưu.

:::important
Hàng **All Users**, nếu có, phải ở cuối cùng (ưu tiên thấp nhất). Backend sẽ từ chối lưu nếu All Users không nằm ở vị trí cuối — nếu không, nó sẽ bao phủ mọi người dùng trước khi các phân khúc cụ thể hơn có cơ hội khớp.
:::

## Loại nội dung \{#content-types\}

Một hàng có thể gửi một chiến dịch đơn lẻ hoặc một A/B test:

- **Campaign**: Gửi một chiến dịch đến tất cả mọi người khớp với phân khúc.
- **A/B Test**: Bao gồm hai hoặc nhiều chiến dịch với tỷ lệ có thể cấu hình, phân phối người dùng đến các chiến dịch đó một cách ngẫu nhiên, và theo dõi chỉ số theo từng biến thể. Xem [A/B testing](mail-ab-testing).

## Vòng đời \{#lifecycle\}

Các hàng flow không có trạng thái nháp. Một hàng hoạt động ngay khi bạn lưu — từ thời điểm đó, người dùng kích hoạt trigger và khớp phân khúc sẽ được định tuyến đến chiến dịch của hàng đó.

- **Tạo hàng mới**: Bắt đầu gửi ngay khi lưu.
- **Chỉnh sửa hàng**: Thay đổi áp dụng cho người dùng kích hoạt trigger từ thời điểm đó trở đi. Người dùng đang ở giữa chuỗi tiếp tục với cấu hình trước đó.
- **Xóa hàng**: Người dùng mới sẽ không còn vào chuỗi nữa. Người dùng đang ở giữa chuỗi vẫn có thể tiếp tục nhận email đã lên lịch — không có hủy tự động.

Các hàng A/B test có vòng đời riêng (**nháp → đang chạy → đã kết thúc**) được kiểm soát tách biệt khỏi bản thân hàng đó. Xem [A/B testing](mail-ab-testing).