Điểm đến email trong Adapty Mail
Mỗi chiến dịch đều cần một nơi để gửi người nhận đến. Nơi đó chính là điểm đến email — một tên, URL và loại đã được lưu sẵn mà bạn thiết lập một lần và dùng lại cho nhiều chiến dịch.
Một chiến dịch chỉ trỏ đến đúng một đích, và mọi phần có thể nhấp trong email đều dẫn đến đó: nút CTA, logo và ảnh hero. Chúng được ghi lại riêng trong analytics, nhưng dùng chung một địa chỉ.
Các loại đích đến
Mục đích của chiến dịch sẽ quyết định loại đích đến. Bạn không thể thay đổi loại đích đến sau khi đã tạo.
| Loại | Chiến dịch tương thích | Điều hướng người nhận đến đâu | URL lấy từ đâu |
|---|---|---|---|
| Web Paywall | Mọi chiến dịch marketing và double opt-in | Trang thanh toán trên trình duyệt, nơi giao dịch mua là thanh toán web thay vì giao dịch qua App Store hoặc Google Play. | Do Adapty Mail tạo ra, hoặc dán từ paywall bạn tự host. Thiết lập checkout hướng dẫn cả hai trường hợp. |
| Deep Link | Kích hoạt ứng dụng | Ứng dụng của bạn, tại màn hình bạn chọn. Nếu chưa cài ứng dụng, sẽ chuyển đến trang cửa hàng của bạn. | Dán vào, từ nhà cung cấp deep link của bạn — OneLink, Branch hoặc Firebase. |
| Cancellation Page | Chiến dịch trang hủy đăng ký | Trang tài khoản của chính bạn, hoặc cổng nhà cung cấp thanh toán, nơi người đăng ký xem xét, thay đổi hoặc hủy gói đăng ký. | Dán vào, từ trang web của bạn hoặc nhà cung cấp thanh toán. |
Bất kỳ URL đích nào đều hợp lệ miễn là sử dụng HTTPS. Vì vậy, Cancellation Page có thể là một universal link mở app của bạn, không chỉ là một trang web thông thường. Điều này quan trọng vì các gói đăng ký trên App Store và Google Play được hủy trong cửa hàng, không phải trên một trang bạn tự host.
Điểm đến cho các chiến dịch giao dịch
Adapty Mail có ba chiến dịch giao dịch:
- Double opt-in — kích hoạt khi một hồ sơ người dùng mới đến từ điểm vào của bạn. Nút trong email sẽ mở trang xác nhận của Adapty Mail. Sau khi người nhận xác nhận, họ sẽ được chuyển đến web paywall của bạn — đó là lý do chiến dịch này cần có web paywall.
- App activation — theo sau một giao dịch mua, giúp người mua truy cập vào ứng dụng của bạn.
- Cancellation page — theo sau một giao dịch mua, cung cấp cho người mua các tùy chọn quản lý gói đăng ký.
Khi bạn tạo một chiến dịch, dropdown Email Destination trống có nghĩa là bạn chưa có destination nào thuộc loại đó. Nhấn vào link Create để mở biểu mẫu tương ứng.
Tạo một destination
- Vào Email Destinations và chọn loại phù hợp với campaign của bạn.
- Nhấn Create.
- Đặt Name cho destination — bạn sẽ chọn nó theo tên này khi gắn vào campaign.
- Điền URL. URL phải dùng HTTPS.
- Thêm placeholder cho các giá trị khác nhau theo từng người nhận.
- Nếu URL sử dụng placeholder
{response.<key>}, hãy thêm Hook URL trong phần Advanced. - Nhấn Save.
Cài đặt đích trở thành chỉ đọc khi bạn thêm nó vào một chiến dịch — kể cả chiến dịch nháp. Để gửi chiến dịch đến nơi khác, hãy tạo một đích mới.
Placeholders
Placeholders giúp cá nhân hóa URL đích cho từng người dùng. Nếu không có chúng, trang của bạn sẽ không thể xác định ai đã truy cập. Adapty Mail sẽ thay thế các placeholder bằng giá trị riêng biệt cho từng người nhận.
| Placeholder | Giá trị tương ứng |
|---|---|
{email} | Địa chỉ email của người nhận. |
{adapty.external_profile_id} | ID hồ sơ người dùng của họ, dùng cho dữ liệu từ tích hợp Adapty. |
{funnelfox.external_profile_id} | ID hồ sơ người dùng của họ, dùng cho dữ liệu từ FunnelFox. |
{custom.external_profile_id} | ID người dùng bạn đã gửi, dùng cho dữ liệu từ Adapty Mail API. |
{scheduled_email_id} | ID của email chứa liên kết. |
{custom_attribute.<key>} | Bất kỳ thuộc tính tùy chỉnh nào trên hồ sơ người dùng của người nhận. Bạn tự đặt tên key — {custom_attribute.plan}. |
{response.<key>} | Giá trị mà endpoint của bạn trả về tại thời điểm nhấp vào. Được đề cập trong Hooks. |
- Giá trị placeholder mà người nhận không có sẽ được giải quyết thành chuỗi rỗng, vì vậy nó sẽ không bao giờ xuất hiện trong trang của bạn dưới dạng văn bản thực.
- Giá trị thuộc tính tùy chỉnh và hook đều được mã hóa percent-encode, vì vậy một giá trị chứa
&sẽ không thể cắt đứt URL ở giữa. - Một placeholder mà Adapty Mail không nhận ra sẽ chặn thao tác lưu, và thông báo lỗi sẽ nêu rõ cả nội dung bị từ chối lẫn những gì được chấp nhận. Lỗi đánh máy như
{emial}sẽ bị phát hiện ở đây thay vì trong trình duyệt của người nhận.
Hooks
Placeholder {response.<key>} dùng để chứa giá trị trả về từ endpoint của bạn. Các trường hợp phổ biến bao gồm token đăng nhập một lần hoặc chữ ký phiên. Tạo một Hook URL mới trong mục Advanced để cấu hình placeholder này — nếu không, URL sẽ không thể lưu được.
Cách hoạt động:
- Người nhận nhấp vào một liên kết trong email.
- Adapty Mail gửi một yêu cầu GET đến Hook URL của bạn, với các placeholder đã được điền cho người nhận đó. Hệ thống chờ năm giây và chỉ thực hiện một lần.
- Endpoint của bạn xác minh chữ ký và trả về một JSON object phẳng.
- Adapty Mail điền từng
{response.<key>}từ key có cùng tên. Một key bạn không trả về sẽ giữ nguyên placeholder. - Người nhận đến trang của bạn, bất kể hook có trả lời hay không.
Yêu cầu
URL hook chuyển tiếp các placeholder còn lại đến endpoint của bạn. Sử dụng các placeholder này để xác định người dùng. Hai header xác thực cuộc gọi:
| Header | Giá trị |
|---|---|
X-Adapty-Mail-Timestamp | Thời gian Unix tính bằng giây, khi yêu cầu được thực hiện. |
X-Adapty-Mail-Signature | HMAC-SHA256 dạng Hex của <timestamp>.<url>, được ký bằng Secret key từ Settings > Project. |
Xác minh cả hai trước khi phản hồi. Một endpoint không được xác thực có thể tiết lộ thông tin nhạy cảm cho người dùng trái phép. Từ chối timestamp quá cũ để có thể là một lần nhấp thực sự:
expected = hmac_sha256(
key=project_secret_key,
message=f"{timestamp}.{full_request_url}",
).hexdigest()
Phản hồi
Một đối tượng JSON phẳng. Mỗi key điền vào {response.<key>} cùng tên:
{ "checkout_token": "ct_9f2a…", "plan": "annual" }
Chuỗi, số, và giá trị boolean đều được chuyển thành chuỗi. Các đối tượng lồng nhau và mảng sẽ bị bỏ qua, vì URL không có chỗ để chứa chúng.
Điều gì xảy ra sau khi nhấp vào liên kết
Adapty Mail điền các giá trị, gọi hook nếu có, ghi lại lượt nhấp và chuyển người nhận đến trang của bạn.
Nhiệm vụ của bạn là xác định người truy cập, nhận thanh toán từ họ và báo cáo lại giao dịch mua cho Adapty. Xem Thiết lập thanh toán để biết cách cấu hình paywall, và Phân tích chiến dịch để biết về attribution giao dịch mua.