Bắt đầu với Adapty Mail

Trong hướng dẫn này, bạn sẽ thiết lập Adapty Mail và khởi chạy email flow đầu tiên của mình.

Bạn cũng có thể gửi dữ liệu đến Adapty Mail từ server của mình mà không cần dùng Adapty SDK. Nếu bạn đã lưu email người dùng và thông tin mua hàng trên backend, hoặc đang import người dùng đăng ký từ nguồn khác, hãy xem Gửi email và giao dịch qua Adapty Mail API.

Quá trình thiết lập gồm sáu bước:

  1. Cấu hình Adapty SDK của bạn
  2. Thiết lập domain gửi của bạn
  3. Tạo một web paywall
  4. Tạo chiến dịch với AI
  5. Khởi chạy một flow
  6. Bật tính năng gửi

Nếu bạn đăng ký Adapty Mail thông qua Adapty, hồ sơ thương hiệu của bạn sẽ được tạo tự động từ URL cửa hàng của dự án. Mở Brand bất cứ lúc nào để xem lại hoặc chỉnh sửa — xem Brand. Nếu bạn đăng ký độc lập, hãy thiết lập thương hiệu trên cùng trang đó trước khi tạo campaign hoặc web paywall.

Trước khi bắt đầu

Đảm bảo các điều kiện sau đã được đáp ứng trước khi bắt đầu:

  • Quyền truy cập DNS: Bạn có thể thêm bản ghi vào domain gốc của mình.
  • Nhà cung cấp thanh toán web: Bạn có tài khoản Stripe, Paddle hoặc PayPal với các sản phẩm gói đăng ký đã được cấu hình.

1. Cấu hình Adapty SDK của bạn

Adapty Mail là một sản phẩm độc lập. Bạn có thể sử dụng nó ngay cả khi paywall, gói đăng ký hay analytics của bạn không được xử lý bởi Adapty — không cần migrate toàn bộ hệ thống.

Để có dữ liệu doanh thu chính xác, cấu hình tối thiểu là cài đặt Adapty SDK ở chế độ observer và bật thông báo server App Store.

Adapty Mail cần ba thứ từ ứng dụng của bạn: dữ liệu mua hàng (để có thể quy doanh thu về email đã thúc đẩy mỗi lượt chuyển đổi), một mã định danh người dùng ổn định, và email của người dùng.

  1. Để Adapty theo dõi doanh thu của bạn. Bước đầu tiên phụ thuộc vào việc bạn đã triển khai in-app purchase chưa:

    • Nếu bạn đã triển khai in-app purchase với Adapty, bạn không cần làm gì thêm ở bước này.
    • Nếu bạn đã triển khai in-app purchase mà không dùng Adapty và không có kế hoạch migrate sang Adapty, hãy cài đặt SDK của Adapty cho nền tảng của bạn ở chế độ observer. Ở bước này, bạn chỉ cần thêm SDK vào dự án, kích hoạt nó với chế độ observer được bật, và báo cáo các giao dịch. Hướng dẫn theo nền tảng: iOS, Android, React Native, Flutter, Unity, Kotlin Multiplatform, Capacitor.
    • Nếu bạn chưa triển khai in-app purchase và muốn sử dụng Adapty, hãy hoàn thành các bước trong hướng dẫn bắt đầu nhanh để giao việc xử lý mua hàng cho Adapty. Sau đó bật thông báo máy chủ App Store trong Adapty để nhận các cập nhật liên quan đến doanh thu trực tiếp từ App Store.
  2. Thiết lập nhận dạng người dùng. Truyền một ID ổn định — ID người dùng backend, Firebase UID, hoặc tương tự — bằng cách gọi Adapty.identify() hoặc truyền customerUserId vào .activate() khi khởi động SDK. customer_user_id là cách Adapty Mail liên kết các chiến dịch, lượt nhấp và giao dịch mua về đúng hồ sơ người dùng. Hướng dẫn theo nền tảng: iOS, Android, React Native, Flutter, Unity, Kotlin Multiplatform, Capacitor.

  3. Thu thập email người dùng. Khi người dùng cung cấp email trong ứng dụng của bạn (ví dụ: khi đăng ký hoặc thanh toán), hãy truyền email đó vào Adapty bằng cách gọi updateProfile với thuộc tính email. Mỗi người nhận trong chiến dịch đều cần có giá trị này. Hướng dẫn theo nền tảng: iOS, Android, React Native, Flutter, Unity, Kotlin Multiplatform, Capacitor.

Nếu ứng dụng của bạn chưa thu thập email, hãy xem Chiến lược thu thập email.

2. Thiết lập tên miền gửi email

Mở Adapty Mail: Nhấp vào logo Adapty ở phần header và chọn Mail.

Adapty product switcher

Adapty Mail gửi email từ tên miền của bạn. Bạn chỉ cần thêm bản ghi DNS một lần — tất cả các chiến dịch đều dùng chung tên miền đã xác minh đó.

  1. Trong Adapty Mail, vào Settings → Email Domains.
  2. Nhập tên miền gốc của bạn (ví dụ: yourapp.com) và nhấp Preview. Chỉ chấp nhận apex domain — các subdomain như app.yourapp.com sẽ bị từ chối ngay khi nhập.
mail-email-domains.webp
  1. Adapty tạo hai subdomain gửi mail (mail.yourapp.comemail.yourapp.com). Nhấn Confirm để xem các bản ghi DNS cần thiết.
confirm-subdomains.webp
  1. Trong trình quản lý domain của bạn, thêm 10 bản ghi DNS được hiển thị (5 bản ghi mỗi subdomain):
    • 3 bản ghi CNAME (DKIM) mỗi subdomain
    • 1 bản ghi MX (Mail-From) mỗi subdomain
    • 1 bản ghi TXT (SPF, v=spf1 include:amazonses.com ~all) mỗi subdomain
  2. Tùy chọn, thêm bản ghi DMARC TXT trên root domain của bạn (khuyến nghị).
  3. Quay lại Settings → Email Domains và nhấn Check Verification.
email-domains.webp

Tổng quan về thời gian xác minh:

  • Tự động kiểm tra: Lần kiểm tra đầu tiên diễn ra khoảng 5 phút sau khi bạn gửi. Các khoảng thời gian kiểm tra tăng dần lên mỗi giờ một lần cho đến khi tìm thấy bản ghi.
  • Kiểm tra thủ công: Nhấp vào Check Verification bất kỳ lúc nào để kích hoạt kiểm tra ngay lập tức.
  • Lan truyền DNS: Thường chỉ mất vài phút, nhưng trong một số trường hợp hiếm gặp có thể lên đến 48 giờ.
  • Thời hạn xác minh: 7 ngày. Nếu hết hạn, các bản ghi DNS của bạn vẫn được giữ nguyên — hãy nhập lại domain trong Settings → Email Domains để bắt đầu một cửa sổ mới. Để biết chi tiết về từng loại bản ghi và quá trình khởi động domain, xem Thiết lập domain gửi mail của bạn.

3. Tạo web paywall

Mỗi email đều liên kết đến một web paywall — trang thanh toán mà người dùng truy cập khi nhấp vào CTA. Bạn có hai lựa chọn:

  • Tạo bằng AI: Để trình tạo web paywall tích hợp sẵn tạo một trang cho ứng dụng của bạn.
  • Dùng paywall tự host: Kết nối một paywall bạn đã tự host.

Để bắt đầu, trong Adapty Mail vào Web Paywalls → Create.

new-web-paywall.webp

Tùy chọn A: Tạo bằng AI

Trang hiển thị danh sách kiểm tra Prerequisites với các nút inline — hãy thực hiện theo thứ tự, sau đó quay lại và tạo. Danh sách kiểm tra bao gồm: đăng nhập vào paywall builder, kết nối Stripe, thêm sản phẩm, và xem lại kết quả. Xem Thiết lập checkout để biết hướng dẫn đầy đủ.

Khi tất cả điều kiện tiên quyết đã được đánh dấu xanh, nhấn Generate để mở hộp thoại tạo:

  • Environment: Chọn Production hoặc Sandbox. Sandbox sử dụng sản phẩm ở chế độ test của Stripe và là lựa chọn mặc định an toàn cho môi trường dev và local.
  • Plans: Chọn tối đa 3 Stripe plans (mỗi plan là một sản phẩm + giá). Đây là các ưu đãi mà paywall được tạo ra sẽ hiển thị cho người dùng khi thanh toán.

Nhấp Generate để bắt đầu quá trình tạo. Khi hoàn tất, mở editor để xem lại và xuất bản.

Paywall phải được xuất bản trước khi có thể phục vụ lưu lượng checkout. Các paywall chưa xuất bản sẽ trả về lỗi khi người dùng nhấp vào các liên kết email checkout.

Lựa chọn B: Dùng paywall tự host

  1. Chọn Enter URL manually.

  2. Dán URL của paywall bạn đã host. URL phải bao gồm các placeholder {email}{external_profile_id} dưới dạng query parameter — Adapty Mail điền các giá trị này cho từng người nhận để trang thanh toán biết ai đang truy cập. Ví dụ:

    https://example.com/paywall?email={email}&profile={external_profile_id}
  3. Lưu và publish.

Để hiểu cấu trúc checkout funnel và cách cá nhân hóa hoạt động, xem Thiết lập checkout.

generate-web-paywall.webp

4. Tạo chiến dịch với AI

AI sẽ tạo toàn bộ chuỗi email cho bạn — nội dung, thiết kế, ảnh hero và các link thanh toán được cá nhân hóa, tất cả đều phù hợp với thương hiệu của bạn.

  1. Trong Adapty Mail, vào Campaigns và nhấp Create.
  2. Đặt tên cho chiến dịch.
  3. Trong dropdown Web paywall, chọn web paywall bạn đã thêm ở bước trước.
mail-new-campaign.webp
  1. Nhấp vào Generate emails.
  2. Điền vào hộp thoại tạo nội dung — giọng điệu, ngôn ngữ, câu lệnh tùy chỉnh (tùy chọn, tối đa 2.000 ký tự) và số lượng email (1–15, mặc định là 4). Xem Tạo chiến dịch để biết ý nghĩa của từng trường.
generate-emails.webp
  1. Nhấp Generate. Quá trình tạo thường mất vài phút. Hệ thống sẽ hết thời gian chờ sau 5 phút nếu không hoàn thành được — hãy thử lại nếu điều đó xảy ra.
  2. Xem trước từng email. Thanh tiêu đề xem trước có Theme toggle (Auto, Light, Dark) để kiểm soát cách hiển thị bản xem trước — nội dung được tạo ra giống nhau ở tất cả các chế độ. Bạn có thể tạo lại từng email, chỉnh sửa nội dung, hoặc mở trình chỉnh sửa HTML để kiểm soát chi tiết hơn.
generated-emails.webp
  1. Nhấp Create để lưu chiến dịch. Chiến dịch sẽ được lưu ở trạng thái draft và chưa được gửi đi — chiến dịch chỉ hoạt động khi được gắn vào một flow (bước tiếp theo). Không có thao tác “publish” riêng trong trình chỉnh sửa chiến dịch.

5. Khởi chạy một flow

Một flow kết hợp một trigger (sự kiện như gói đăng ký hết hạn) với một phân khúc, và gửi cho phân khúc đó campaign mà bạn chọn. Adapty Mail đi kèm với năm trigger cố định, mỗi trigger có giao diện flow riêng.

  1. Trong Adapty Mail, vào Flows, sau đó mở trigger bạn muốn cấu hình:

    • Never purchased — người dùng đã đăng ký nhưng chưa thực hiện mua hà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.
    • Billing issue — thanh toán thất bại, thẻ bị từ chối hoặc hết hạn, hoặc đang trong thời gian ân hạn.
    • Expired — gói đăng ký đã hết hạn và quyền truy cập bị mất.
    • Refunded — người dùng đã yêu cầu hoàn tiền sau khi mua.

    Xem Flows để biết mục tiêu và hướng dẫn về giọng văn phù hợp cho từng trigger.

  2. Nhấn Create để mở hộp thoại.

create-flow-mail.webp
  1. Trong hộp thoại:
    • Chọn Segment (ví dụ: All Users để nhắm đến tất cả người dùng khi họ đạt trigger này, hoặc tạo phân khúc mới dựa trên các thuộc tính hồ sơ người dùng).
    • Giữ nguyên loại nội dung là Campaign (tùy chọn A/B Test được đề cập trong A/B testing).
    • Chọn Campaign bạn đã lưu ở Bước 4.
  2. Nhấn Save.

Flow sẽ hoạt động ngay lập tức — không cần bước khởi chạy riêng. Từ thời điểm này, người dùng khớp với phân khúc sẽ bắt đầu nhận campaign ngay khi họ đạt đến trigger event.

Bạn có thể thêm nhiều hơn một hàng phân khúc → chiến dịch vào cùng một trigger; chúng chạy theo thứ tự ưu tiên. Hàng All Users, nếu được sử dụng, phải là hàng cuối cùng (ưu tiên thấp nhất) để bắt tất cả những người không khớp với phân khúc cụ thể hơn.

mail-flow-details.webp

6. Bật tính năng gửi mail

Cho đến lúc này, chiến dịch của bạn đã được kết nối nhưng chưa thực sự hoạt động — tích hợp Adapty đồng bộ các sự kiện gói đăng ký vào Adapty Mail vẫn đang tắt. Bật tính năng này là bước cuối cùng: các sự kiện bắt đầu được truyền vào, các phân khúc bắt đầu khớp, và email bắt đầu được gửi đi.

Bước này chỉ mở khóa sau khi hoàn thành Bước 5. Trước khi bạn khởi chạy một flow, nút Enable trong Settings → Integrations sẽ bị vô hiệu hóa kèm theo gợi ý “Set up at least one flow before enabling Adapty integration.”

  1. Trong Adapty Mail, vào Settings → Integrations.
  2. Nhấp vào Enable Adapty integration (hoặc Enable nếu integration đã tồn tại từ lần thiết lập trước).

Khi được bật, Adapty sẽ gửi mọi sự kiện gói đăng ký — gói đăng ký mới, gia hạn, dùng thử, chuyển đổi, hoàn tiền, vấn đề thanh toán — vào Adapty Mail. Các sự kiện này điều khiển thành viên phân khúc, định tuyến chiến dịch, và điều kiện dừng để tạm dừng một chuỗi khi người dùng chuyển đổi.

adapty-mail-adapty-integration.webp

Toggle Adapty integration trong Settings không phải là workspace đối tác Adapty mà bạn dùng để đăng nhập vào Adapty Mail. Workspace đối tác là thứ đã tạo tài khoản và (nếu bạn đăng ký qua Adapty) thương hiệu của bạn. Toggle integration ở đây kiểm soát việc đồng bộ sự kiện — bạn cần bật nó cho từng dự án.

Khắc phục sự cố

Vấn đềGiải pháp
Xác minh DNS bị treoKiểm tra xem các bản ghi có khớp chính xác không — không có dấu chấm ở cuối, CNAME target đúng. Chờ 5–10 phút, rồi nhấn Check Verification lại
Cửa sổ xác minh hết hạnCác bản ghi của bạn vẫn còn nguyên. Nhập lại tên miền trong Settings → Email Domains để bắt đầu cửa sổ mới
Tạo thất bại hoặc hết thời gian chờKiểm tra kết nối internet và thử lại. Nếu vấn đề vẫn còn, hãy liên hệ bộ phận hỗ trợ Adapty

Tìm hiểu thêm