Khái quát: Tự động xác thực và đo lường doanh thu từ các giao dịch mua trong ứng dụng và gói đăng ký tự động gia hạn để có được bức tranh toàn cảnh về vòng đời của khách hàng và đo lường ROAS chính xác.
Tổng quan
Nhà quảng cáo có thể sử dụng doanh thu từ giao dịch mua trong ứng dụng (IAP) và gói đăng ký đã xác thực để đo lường:
- Tất cả các doanh thu từ các giao dịch mua sản phẩm trong ứng dụng và gói đăng ký được quản lý thông qua App Store Connect (iOS) hoặc Google Play Console (Android).
- Hoàn tiền.
- Doanh thu từ giao dịch đang chờ xử lý và hoãn lại (Android).
- Các sự kiện liên quan đến gói đăng ký xảy ra trong hoặc ngoài ứng dụng của bạn.
Giải pháp doanh thu từ gói đăng ký và IAP còn:
- Đảm bảo không ghi trùng lặp bất kỳ giao dịch nào. Đối với iOS, điều này cũng đảm bảo không ghi trùng lặp bất kỳ dữ liệu nào khi đó là chia sẻ trong gia đình.
- Cho phép AppsFlyer chuyển tiếp các giao dịch trên Apple App Store tới bạn (nhà quảng cáo).
- Cung cấp dữ liệu Doanh thu Thực, nghĩa là dữ liệu doanh thu thuần có tính đến tiền hoa hồng và thuế của cửa hàng.
Dữ liệu giao dịch mua và gói đăng ký bắt nguồn từ:
- Trình kết nối SDK giao dịch mua của AppsFlyer dành cho Android và iOS (bao gồm Unity wrapper).
- Thông báo máy chủ trên App Store và Google Play (RTDN) được gửi tới AppsFlyer.
Dữ liệu doanh thu từ giao dịch mua và gói đăng ký có sẵn trên bảng điều khiển và báo cáo của AppsFlyer. Các dữ liệu này cũng có thể được chia sẻ với các đối tác thông qua đăng lại.
Những điều cần lưu ý:
- Nếu sử dụng giải pháp đo lường doanh thu từ gói đăng ký và IAP này, bạn không nên gửi các sự kiện mua trong ứng dụng hoặc thực thi validateAndLogInAppPurchase vì làm như vậy sẽ dẫn đến trùng lặp doanh thu được báo cáo.
- Doanh thu từ gói đăng ký có thể bắt đầu ghi nhận những thay đổi trong vòng đời của người đăng ký đối với người đăng ký hiện có ngay khi họ khởi chạy phiên bản ứng dụng chứa trình kết nối SDK giao dịch mua.
Quy trình:
- Người dùng thực hiện một giao dịch mua trong ứng dụng hoặc gói đăng ký tự động gia hạn.
- Ứng dụng thực hiện một giao dịch trong cửa hàng ứng dụng.
- Trình kết nối SDK giao dịch mua của AppsFlyer tự động phát hiện giao dịch mua và gửi tải trọng của giao dịch mua tới AppsFlyer để xác thực và ghi nhật ký.
-
AppsFlyer xác thực giao dịch mua với cửa hàng có liên quan để đảm bảo đó không phải là giao dịch gian lận.
- Sau khi xác thực thành công, AppsFlyer ghi nhật ký giao dịch mua hoặc gói đăng ký.
- Nếu xác thực biên lai không thành công, sự kiện sẽ hiển thị trong báo cáo dữ liệu thô đối với sự kiện trong ứng dụng bị chặn (dành cho người đăng ký Protect360).
- AppsFlyer chuyển phản hồi tới trình kết nối SDK, từ đó chuyển phản hồi xác thực biên lai (thành công hoặc không thành công) tới ứng dụng.
-
Mọi thông báo máy chủ đến cũng được xử lý theo logic kinh doanh về doanh thu từ gói đăng ký và giao dịch mua của AppsFlyer.
- Các thông báo liên quan đến giao dịch được báo cáo trước đó qua trình kết nối SDK sẽ được xác thực và xử lý, dẫn đến kết quả là tạo giao dịch mua hoặc sự kiện vòng đời trong ứng dụng.
- Thông báo về các giao dịch không xác định sẽ bị loại bỏ.
- Đối với iOS, tất cả các thông báo máy chủ có thể được định tuyến lại đến máy chủ của riêng bạn.
Quy trình tích hợp doanh thu từ Gói đăng ký và IAP
Tuân thủ chính xác thứ tự thiết lập được hướng dẫn trong bảng bên dưới để đảm bảo tính chính xác tối ưu, đồng thời báo cáo đầy đủ doanh thu từ IAP và gói đăng ký tự động gia hạn cũng như các sự kiện trong vòng đời. Việc không tuân thủ có thể dẫn đến lỗi không chính xác vĩnh viễn trong báo cáo. Chi tiết đầy đủ cho từng bước được đề cập trong các tab sau bảng.
Bước | Công việc |
---|---|
1 |
Thiết lập thông báo cho IAP và doanh thu đăng ký từ Google Play. |
2 |
Thiết lập thông báo cho IAP và doanh thu đăng ký từ iOS App Store. |
3 |
|
4 |
Tích hợp API thuế Doanh thu Thực. Điều này chỉ cần thiết nếu bạn muốn chỉnh sửa thuế suất mặc định. Nếu không, thuế sẽ được báo cáo cho bất kỳ giao dịch nào được đo bằng ROI360. |
5 |
Thử nghiệm tích hợp để đảm bảo:
|
6 |
Phát hành phiên bản ứng dụng cho Android và iOS với trình kết nối SDK giao dịch mua. |
Bước 1: Thiết lập thông báo từ Google Play
Trước khi bắt đầu, bạn phải:
- Việc thiết lập doanh thu từ gói đăng ký và IAP bao gồm các bước được thực hiện trên Google Cloud Platform và UI của AppsFlyer. Bạn nên mở các thẻ của Google Cloud Platform và AppsFlyer trong suốt quá trình thiết lập.
- Quá trình thiết lập trong UI của AppsFlyer yêu cầu phải có quyền của quản trị viên.
Làm theo hướng dẫn trong tab bên dưới để thiết lập thông báo từ Google Play:
1.1 Liên kết Tài khoản Nhà phát triển trên Google Play với Dự án Google Cloud của bạn
- Trong Google Play Console, đi đến Google Play Developer Account của bạn.
- Liên kết tài khoản với dự án Google Cloud của bạn. Để được hướng dẫn, hãy xem chủ đề trợ giúp này của Google.
- Bật API Nhà phát triển trên Google Play. Để được hướng dẫn, hãy xem chủ đề trợ giúp này của Google.
1.2 Tạo tài khoản dịch vụ
- Truy cập Google Cloud và mở dự án bạn vừa liên kết trong mục 1.1.
- Trong dự án của bạn, đi đến IAM and Admin > Service Accounts và nhấp vào Create service account.
- Trong trang Create service account, hoàn thành bước Service account details.
- Nhấp vào Create and continue.
- Trong bước Grant this service account access to the project, chọn vai trò Pub/sub subscriber.
- Nhấp vào Continue > Done.
1.3 Tải xuống mã khóa riêng của tài khoản.
- Trong trang Service Accounts, tìm tài khoản dịch vụ liên quan và nhấp vào
rồi nhấp vào Manage keys.
- Trong tab Keys của trang tài khoản dịch vụ, nhấp vào ADD KEY > Create new key.
- Trong hộp thoại Create private key, chọn loại khóa JSON.
- Nhấp vào Create. Tập tin JSON của mã khóa riêng tư đã được tải xuống.
- Trong AppsFlyer, đi đến ROI360 > Revenue Settings.
- Chọn ứng dụng của bạn từ danh sách.
- Trong thẻ Purchases and subscriptions, nhấp vào
để tải lên tập tin JSON.
1.4 Đặt quyền truy cập API
- Trong Google Play Console, đi tới Setup > Users and permissions.
- Trong danh sách Tài khoản dịch vụ, tìm tài khoản dịch vụ bạn đã tạo trong mục 1.2 và nhấp vào Manage Play Console permissions.
- Trong thẻ Permissions, đi đến phần Account permissions và chọn cả:
- View financial data.
- Manage orders and subscriptions.
- Nhấp vào Invite user rồi Send invitation.
Chọn 1.5 Gửi thông báo của Google Play trực tiếp tới AppsFlyer
Chọn một trong hai phương thức được sử dụng để nhận IAP và dữ liệu doanh thu từ gói đăng ký từ Google Play.
Hoặc:
- Tạo một chủ đề mà AppsFlyer có thể trực tiếp nhận thông báo RTDN từ Google Play (tiếp tục trong bước này)
hoặc
- Đặt AppsFlyer làm người đăng ký cho chủ đề PUB/SUB bạn đã có sẵn (chuyển sang bước tiếp theo).
Để tạo chủ đề mà AppsFlyer có thể trực tiếp nhận thông báo RTDN, hãy thực hiện các bước sau:
- Trong AppsFlyer, đi đến ROI360 > Revenue Settings > Purchases & subscription, rồi chọn Allow AppsFlyer topic to get RTDN messages directly from google.
- Sao chép chủ đề AppsFlyer vào khay nhớ tạm.
- Trong Google Play Console > All apps, chọn ứng dụng của bạn. Bảng điều khiển sẽ mở ra.
- Đi đến Monetization setup và trong phần Google Play Billing, trong trường Topic name, hãy dán địa chỉ chủ đề AppsFlyer mà bạn đã sao chép ở bước phụ 2.
- Nhấp vào Save Changes.
HOẶC 1.6 Chuyển tiếp thông báo của Google Play tới AppsFlyer
Có thể áp dụng phương thức khác để nhận thông báo gói đăng ký và IAP khi bạn đã có sẵn một chủ đề nhận các thông báo từ Google Play. Trong trường hợp này, hãy đặt AppsFlyer làm người đăng ký chủ đề PUB/SUB bạn đã có sẵn, thay vì tạo chủ đề mới (như trong bước trước đó).
Cách thiết lập AppsFlyer làm người đăng ký cho chủ đề PUB/SUB bạn đã có sẵn
- Trong AppsFlyer, đi đến ROI360 > Revenue Settings > Purchases and subscriptions, rồi chọn Forward your RTDN topic messages to AppsFlyer.
- Sao chép URL điểm cuối vào khay nhớ tạm.
- Trên Google Cloud Platform, tìm kiếm Pub/Sub trong dự án của bạn.
- Trong Pub/Sub, đi đến phần Topics và xác minh rằng bạn có một chủ đề pub/sub dành riêng cho các gói đăng ký.
- Đi đến phần Subscriptions và nhấp vào Create subscription.
- Nhập ID Gói đăng ký.
- Chọn chủ đề pub/sub có liên quan từ danh sách thả xuống.
- Đối với Delivery type, hãy chọn Push.
- Nhập URL điểm cuối mà bạn đã ghi lại trong bước phụ 2.
- Đối với Expiry period, chọn Never expire.
- Nhấp vào Save.
- Đi đến phần Subscriptions và sao chép tên chủ đề vào khay nhớ tạm.
- Trong Google Play Console, đi đến Monetization setup, trong phần Google Play Billing, trong trường Topic name, hãy dán tên chủ đề mà bạn đã sao chép ở bước trước.
- Nhấp vào Save.
1.7 Cấu hình dịch vụ tự động
- Trong AppsFlyer, đi đến ROI360 > Revenue Settings > Purchases and subscriptions, bật một trong hai hoặc cả hai:
- Validate purchases with Google Play.
- Attribute and report auto-renewable subscriptions.
- [Tùy chọn] Tích vào Allow AppsFlyer to deduplicate transactions that were already reported. Tùy chọn này đảm bảo không ghi trùng lặp bất kỳ giao dịch nào.
- Nhấp vào Save.
Bước 2: Thiết lập thông báo từ iOS App Store
Trước khi bắt đầu, bạn phải:
-
Thiết lập doanh thu từ gói đăng ký và IAP bao gồm các bước được thực hiện trong App Store Connect và UI của AppsFlyer. Mở các thẻ cho cả App Store Connect và AppsFlyer trong quá trình thiết lập.
- Quá trình thiết lập trong UI của AppsFlyer yêu cầu phải có quyền của quản trị viên.
Cách cấu hình doanh thu từ gói đăng ký và IAP:
-
Trong App Store Connect, đi đến Features > Subscriptions, và nhấp vào Manage để nhận mã khóa bí mật dùng chung của App Store Connect.
-
Trong AppsFlyer, đi đến ROI360 > Revenue Settings > Purchases and subscriptions.
Trang Revenue Configuration sẽ mở ra. - Nhập mã khóa bí mật dùng chung của App Store Connect của bạn.
- Sao chép điểm cuối AppsFlyer và dán vào cấu hình App Store Connect của bạn:
- [Tùy chọn] Chọn để gửi thông báo máy chủ đến điểm cuối của bạn và nhập điểm cuối đó.
-
Trong trang cấu hình doanh thu từ gói đăng ký và IAP của AppsFlyer, hãy bật một trong hai hoặc cả hai:
- Attribute and report auto-renewable subscriptions.
- Validate purchases with the Apple App Store.
-
[Tùy chọn] Tích vào Allow AppsFlyer to deduplicate transactions that were already reported.
Điều này đảm bảo không ghi trùng lặp bất kỳ giao dịch nào. -
[Tùy chọn] Tích vào Deduplicate revenue for Family Sharing purchases.
Tính năng này đảm bảo không ghi trùng lặp bất kỳ doanh thu nào đối với các giao dịch chia sẻ trong gia đình. Các sự kiện doanh thu cho thành viên khác trong gia đình bao gồm thông số purchase_ownership_type=FAMILY_SHARED và hiển thị doanh thu bằng không.
Lưu ý:
- Apple chỉ có thể gửi thông báo máy chủ đến một điểm cuối.
- Khách hàng có thể gửi trực tiếp thông báo máy chủ của Apple từ backend của họ tới URL điểm cuối của thông báo, nhưng các yêu cầu phải chính xác như được nhận từ App Store.
Bước 3: Tích hợp trình kết nối SDK mua hàng
Việc tích hợp trình kết nối SDK giao dịch mua cho phép ứng dụng của bạn ghi nhận cả giao dịch mua trong ứng dụng và các gói đăng ký có thể tự động gia hạn. Bạn có thể chọn ghi lại một hoặc cả hai loại doanh thu trong trang Revenue Settings > Purchases and subscriptions trong AppsFlyer dành cho Android và iOS.
Cách tích hợp trình kết nối SDK:
- Yêu cầu nhà phát triển Android của bạn tích hợp công cụ kết nối dữ liệu mua hàng SDK Android của AppsFlyer.
- Trình kết nối mua hàng AppsFlyer V1 cho Android hỗ trợ thư viện thanh toán Google 4.
- Trình kết nối mua hàng AppsFlyer V2 cho Android hỗ trợ thư viện thanh toán Google 5.
- Yêu cầu nhà phát triển iOS của bạn tích hợp công cụ kết nối dữ liệu mua hàng SDK iOS của AppsFlyer.
Lưu ý: Đối với các ứng dụng được tạo bằng khung Unity, hãy xem tài liệu về công cụ kết nối Unity
Bước 4: Tích hợp API thuế Doanh thu Thực
Doanh thu Thực là lớp logic nghiệp vụ được xây dựng để phục vụ giải pháp doanh thu từ gói đăng ký và giao dịch mua trong ứng dụng của AppsFlyer. Lớp này tự động tính giá trị doanh thu thuần cho mỗi giao dịch đến theo thời gian thực và đưa vào báo cáo. Theo mặc định, thuế sẽ được báo cáo cho mọi giao dịch được đo lường bằng ROI360 nhờ sử dụng cấu hình thuế suất mặc định. Cấu hình có thể được chỉnh sửa bằng API thuế chuyên dụng.
Tìm hiểu thêm về Doanh thu Thực
Cách chỉnh sửa cấu hình thuế bằng API thuế:
-
Cung cấp cho nhà phát triển của bạn:
- Token API V2 để dùng làm mã khóa ủy quyền.
- Các thông số và giá trị chứa thông tin về loại thuế cần tính như được trình bày trong bảng sau.
- Yêu cầu nhà phát triển của bạn làm theo hướng dẫn API thuế của họ để tạo quy tắc về thuế suất. Lưu ý: API cho phép tệp JSON nằm trong phần nội dung của yêu cầu bài đăng. Tệp JSON này bao gồm tất cả các quốc gia và thuế suất được hỗ trợ. Nhà phát triển có thể chỉnh sửa hoặc sử dụng tệp này như trong API.
Các thông số và giá trị sử dụng trong API
Tham số | Bắt buộc | Lưu ý | Ghi lại giá trị (để nhà phát triển của bạn sử dụng) |
---|---|---|---|
tax_name | Có |
|
|
tax_rate | Có |
|
|
tax_exclusive | Không |
|
|
country | Không |
|
|
subdivision | Không |
|
|
postal_code | Không |
|
|
deduction_order | Không |
|
Bước 5: Thử nghiệm doanh thu từ gói đăng ký và IAP
Tốt nhất là bạn nên xác thực tích hợp doanh thu từ gói đăng ký và IAP trong môi trường sandbox để đảm bảo rằng trình kết nối SDK được tích hợp đúng cách và rằng các thông báo máy chủ được AppsFlyer cấu hình và nhận đúng cách.
Trước khi thử nghiệm, hãy đảm bảo nhà phát triển của bạn cấu hình môi trường Sandbox trong Trình kết nối SDK (bằng cách đặt Sandbox
thành true
). Điều này cho phép ROI360 chỉ tạo ra các sự kiện trong ứng dụng Sandbox với doanh thu bằng 0 cho các thử nghiệm. Do đó, dữ liệu sản xuất không bị ảnh hưởng.
Những điều cần lưu ý về môi trường sandbox
Trong môi trường sandbox:
- Chỉ những sự kiện mua ban đầu mới khiến trình kết nối SDK tạo ra một sự kiện được AppsFlyer ghi lại. Sự kiện IAP được gọi là af_purchase_sandbox_sdk. Một sự kiện đăng ký được gọi là af_ars_sandbox_sdk.
-
Tất cả các sự kiện mua khác đều bị loại bỏ, nghĩa là trình kết nối SDK không tạo ra sự kiện.
- Thông báo máy chủ đến chỉ được xử lý nếu trình kết nối SDK ghi lại giao dịch ban đầu trước. Trong trường hợp này, một sự kiện IAP được tạo có tên là af_purchase_sandbox_s2s. Một sự kiện đăng ký được tạo có tên là af_ars_sandbox_s2s.
- Sự kiện không được tạo cho bất kỳ thông báo máy chủ nào mà trình kết nối SDK trước đó đã không ghi lại giao dịch ban đầu.
-
Đối với iOS, đảm bảo rằng trong phần App Store Server Notifications trong App Store Connect, điểm cuối của AppsFlyer được cấu hình là Sandbox Server URL của bạn.
- Đối với Android, các thử nghiệm do License Tester thực hiện sẽ dẫn đến các sự kiện Sandbox ngay cả khi môi trường Sandbox trong SDK không được cấu hình.
Thử nghiệm doanh thu từ gói đăng ký và IAP
Cách thử nghiệm doanh thu từ gói đăng ký và IAP:
- Yêu cầu các nhà phát triển của bạn làm theo hướng dẫn dành cho Android , iOS và Unity để cấu hình môi trường Sandbox trong Trình kết nối SDK.
- Thực hiện mua hàng thử. Các giao dịch được thực hiện bởi License Tester trong Google Play và từ TestFlight trong iOS cũng được hỗ trợ.
Lưu ý: Mọi sản phẩm của gói đăng ký chỉ có thể được thử nghiệm một lần từ mỗi thiết bị thử nghiệm. Nói cách khác, bạn không thể đăng ký nhiều giao dịch mua thử của cùng một gói đăng ký từ cùng một thiết bị, vì các giao dịch đó sẽ không được ghi nhận. -
Xác minh sự kiện hiển thị trong bảng điều khiển AppsFlyer Activity. Sự kiện IAP được gọi là af_purchase_sandbox_sdk. Một sự kiện đăng ký được gọi là af_ars_sandbox_sdk. Những sự kiện này bao gồm:
- Giá trị doanh thu bằng 0 (để không làm sai lệch báo cáo AppsFlyer thực).
- Thông số af_sandbox_revenue bao gồm giá trị doanh thu của sản phẩm đã mua để bạn có thể đảm bảo tính chính xác của doanh thu được báo cáo.
- Nếu bạn đang thử nghiệm một sản phẩm đăng ký, hãy dành thời gian để AppsFlyer nhận thông báo máy chủ. Thông thường, điều này xảy ra trong vòng vài phút sau giao dịch mua đầu tiên.
-
Xác minh một sự kiện hiển thị trong bảng điều khiển AppsFlyer Activity. Giao dịch mua gói đăng ký tự động gia hạn được gọi là af_ars_sandbox_s2s. Sự kiện bao gồm:
- Giá trị doanh thu bằng 0 (để không làm sai lệch báo cáo AppsFlyer thực).
- Thông số af_sandbox_revenue bao gồm giá trị doanh thu của sản phẩm đã mua để bạn có thể đảm bảo tính chính xác của doanh thu được báo cáo.
Bước 6: Phát hành phiên bản ứng dụng có trình kết nối SDK
Trước khi nhà phát triển của bạn phát hành phiên bản ứng dụng mới có tích hợp trình kết nối SDK giao dịch mua, hãy đảm bảo rằng:
- Các sự kiện trong ứng dụng mà bạn muốn ghi nhận dưới dạng IAP hoặc đăng ký không bị chặn bởi một trong các Quy tắc Xác thực mà bạn đã cấu hình trong AppsFlyer.
- Nhà phát triển của bạn phải gắn cờ sandbox là false.
-
Đối với iOS, đảm bảo rằng trong phần App Store Server Notifications trong App Store Connect, điểm cuối của AppsFlyer được cấu hình là Sandbox Server URL của bạn.
Tham chiếu
Các sự kiện và thông số liên quan đến IAP
Các phần sau hiển thị những sự kiện liên quan đến IAP mà AppsFlyer đo lường kèm theo thông số được ghi lại cho từng sự kiện. Xem từ điển thông số sự kiện để biết về các thông số đi kèm.
Tất cả các sự kiện đã tạo:
- Được coi là sự kiện S2S.
- Có thể truy cập vào báo cáo dữ liệu thô (dưới dạng sự kiện trong ứng dụng tự nhiên hoặc không tự nhiên).
- Có thể được gửi qua đăng lại cho các đối tác.
- Có thể được sử dụng trong SKAN Conversion Studio.
Lưu ý: Tùy thuộc vào nền tảng thiết bị của người dùng, một số thông số không phải lúc nào cũng được điền cho sự kiện trong ứng dụng.
Mua hàng (af_purchase)
Mô tả
Được ghi lại khi người dùng thực hiện giao dịch mua.
Thông số
- app_id
- customer_user_id
- af_currency
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_net_revenue
- af_net_revenue_tax_name
- af_net_revenue_tax_rate
- af_net_revenue_tax_exclusive
- af_net_revenue_country
- af_net_revenue_subdivision
- af_net_revenue_postal_code
- af_net_revenue_factors
Giao dịch mua đã hủy (af_purchase_canceled)
Mô tả
Được ghi lại khi người dùng hủy giao dịch mua.
Thông số
- app_id
- customer_user_id
- af_currency
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
Giao dịch mua đang chờ xử lý (af_purchase_pending)
Mô tả
Được ghi lại khi người dùng thực hiện giao dịch mua nhưng chưa hoàn tất thanh toán.
Thông số
- app_id
- customer_user_id
- af_currency
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
Hoàn tiền (af_purchase_refund)
Mô tả
Ghi lại khi giao dịch mua được hoàn lại tiền.
Thông số
- app_id
- customer_user_id
- af_currency
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_discount_type
- event_revenue_usd
- event_revenue (có trong sự kiện khi doanh thu lớn hơn 0)
- store_commission
- af_net_revenue
- af_net_revenue_factors
- af_net_revenue_tax_name
- af_net_revenue_tax_rate
- af_net_revenue_tax_exclusive
- af_net_revenue_country
- af_net_revenue_subdivision
- af_net_revenue_postal_code
Thử nghiệm giao dịch mua (af_purchase_sandbox_sdk)
Mô tả
Được ghi lại khi thử nghiệm giao dịch mua được ghi lại thông qua SDK trong môi trường sandbox.
Thông số
- app_id
- customer_user_id
- af_currency
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_purchase_state
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
Kiểm tra giao dịch mua (af_purchase_sandbox_s2s)
Mô tả
Được ghi lại khi thử nghiệm giao dịch mua được báo cáo thông qua S2S trong môi trường sandbox.
Thông số
- app_id
- customer_user_id
- af_currency
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_purchase_state
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
Các sự kiện và thông số liên quan đến gói đăng ký
Các phần sau hiển thị những sự kiện liên quan đến gói đăng ký mà AppsFlyer đo lường kèm theo thông số được ghi lại cho từng sự kiện. Xem từ điển thông số sự kiện để biết về các thông số đi kèm.
Tất cả các sự kiện đã tạo:
- Được coi là sự kiện S2S.
- Có thể truy cập vào báo cáo dữ liệu thô (dưới dạng sự kiện trong ứng dụng tự nhiên hoặc không tự nhiên).
- Có thể được gửi qua đăng lại cho các đối tác.
- Có thể được sử dụng trong SKAN Conversion Studio.
Lưu ý: Tùy thuộc vào nền tảng thiết bị của người dùng, một số thông số không phải lúc nào cũng được điền cho sự kiện trong ứng dụng.
Bản dùng thử đã bắt đầu (af_ars_trial_started)
Mô tả
Được ghi lại khi người đăng ký bắt đầu giai đoạn dùng thử.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- Af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
Bản dùng thử bị hủy (af_ars_trial_canceled)
Mô tả
Được ghi lại khi một người đăng ký hủy tính năng tự động gia hạn gói đăng ký trong thời gian dùng thử. Nếu người dùng không khôi phục tính năng tự động gia hạn trong thời gian dùng thử, sự kiện khách hàng rời bỏ sẽ xảy ra.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- Af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
Khách hàng rời bỏ sau dùng thử (af_ars_trial_churned)
Mô tả
Được ghi lại khi một người đăng ký rời bỏ sau thời gian dùng thử. Điều này xảy ra sau khi hủy tính năng gia hạn tự động và kết thúc thời gian dùng thử. Người đăng ký rời bỏ còn vì xuất hiện vấn đề về thanh toán hoặc kỹ thuật đối với việc gia hạn.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- Af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_reason
Bản dùng thử bị chuyển đổi (af_ars_trial_converted)
Mô tả
Được ghi lại khi bắt đầu gia hạn trả phí đầy đủ sau thời gian dùng thử.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- Af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_discount_id
- af_discount_type
- event_revenue_usd
- af_revenue (có trong sự kiện chỉ khi doanh thu lớn hơn 0.)
- store_commission
- af_net_revenue
- af_net_revenue_factors
- af_net_revenue_tax_name
- af_net_revenue_tax_rate
- af_net_revenue_tax_exclusive
- af_net_revenue_country
- af_net_revenue_subdivision
- af_net_revenue_postal_code
Gói đăng ký đã bắt đầu (af_ars_subscription_started)
Mô tả
Được ghi lại khi bắt đầu gói đăng ký giảm giá hoặc trả phí đầy đủ.
Lưu ý:
- Các gói đăng ký mới chỉ có thể được ghi lại thông qua trình kết nối SDK.
- Đối với iOS, nếu người đăng ký mua lại gói đăng ký mà họ từng mua, trình kết nối SDK sẽ báo cáo xác thực biên lai thành công ngược trở lại ứng dụng, nhưng không ghi lại giao dịch mới trong AppsFlyer.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_discount_id
- af_discount_type
- event_revenue_usd
- event_revenue (có trong sự kiện khi doanh thu lớn hơn 0)
- store_commission
- af_net_revenue
- af_net_revenue_factors
- af_net_revenue_tax_name
- af_net_revenue_tax_rate
- af_net_revenue_tax_exclusive
- af_net_revenue_country
- af_net_revenue_subdivision
- af_net_revenue_postal_code
Gói đăng ký bị hủy (af_ars_subscription_canceled)
Mô tả
Được ghi lại khi hủy gói đăng ký tự động gia hạn ở giữa thời hạn thanh toán. Nếu người dùng không khôi phục tính năng tự động gia hạn trong cùng thời hạn thanh toán, sự kiện khách hàng rời bỏ sẽ xuất hiện.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
Đăng ký bị tạm dừng (af_ars_subscription_paused) - Chỉ dành cho Android
Mô tả
Được ghi lại khi người dùng tạm dừng gói đăng ký đang hoạt động.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
Gói đăng ký được tiếp tục (af_ars_subscription_resumed)
Mô tả
Được ghi lại khi một gói đăng ký trả phí đầy đủ tiếp tục hoạt động lại sau khi khách hàng bỏ đăng ký hoặc gói đăng ký được hoàn tiền.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_discount_id
- af_discount_type
- af_reason
- event_revenue (có trong sự kiện khi doanh thu sự kiện lớn hơn 0)
- store_commission
- af_net_revenue
- af_net_revenue_factors
Khách hàng bỏ đăng ký (af_ars_subscription_churned)
Mô tả
Được ghi lại khi một người đăng ký rời bỏ. Điều này thường xảy ra sau khi hủy tính năng gia hạn tự động hoặc kết thúc thời hạn thanh toán. Người đăng ký rời bỏ còn vì xuất hiện vấn đề về thanh toán hoặc kỹ thuật đối với việc gia hạn.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- Af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_reason
Gói đăng ký được hoàn tiền (af_ars_subscription_refunded)
Mô tả
Được ghi lại khi một người đăng ký được hoàn tiền.
Lưu ý:
- Sự kiện này thường được tạo cùng với một giá trị âm. Trong trường hợp không thể phát hiện giao dịch nào đã được hoàn tiền hoặc chi tiết về khoản tiền hoàn không có trong thông báo, sự kiện hoàn tiền sẽ không hiển thị giá trị.
Thông số
- app_id
- customer_user_id
- af_reason
- af_subscription_ownership_type
- af_discount_id
- af_discount_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_refunded_transaction_ids
- event_revenue_usd
- event_revenue (có trong sự kiện khi doanh thu lớn hơn 0)
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_store
- af_environment
- af_period_type
- store_commission
- af_net_revenue
- af_net_revenue_factors
- af_net_revenue_tax_name
- af_net_revenue_tax_rate
- af_net_revenue_tax_exclusive
- af_net_revenue_country
- af_net_revenue_subdivision
- af_net_revenue_postal_code
Gia hạn thanh toán cho gói đăng ký (af_ars_subscription_billing_grace)
Mô tả
Được ghi lại khi một gói đăng ký không gia hạn được vì một vấn đề thanh toán và người đăng ký bước vào thời gian gia hạn thanh toán.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- Af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- Af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
Gói đăng ký được gia hạn (af_ars_subscription_renewed)
Mô tả
Được ghi lại khi gói đăng ký được gia hạn tự động.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_discount_id
- af_discount_type
- event_revenue_usd
- event_revenue (có trong sự kiện khi doanh thu lớn hơn 0)
- store_commission
- af_net_revenue
- af_net_revenue_factors
Gói đăng ký đã thay đổi (af_ars_subscription_xgraded)
Mô tả
Được ghi lại khi người đăng ký nâng cấp, hạ cấp hoặc chuyển đổi chéo sang một sản phẩm khác.
Thông số
- app_id
- customer_user_id
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_discount_id
- af_discount_type
- event_revenue_usd
- event_revenue (có trong sự kiện khi doanh thu lớn hơn 0)
- store_commission
- af_net_revenue
- af_net_revenue_factors
Người đăng ký hiện có (af_ars_existing_subscriber)
Mô tả
Được ghi lại khi trình kết nối SDK nhận được thông báo về một người đăng ký ở giữa chu kỳ thanh toán, trước khi nhận được thông báo máy chủ theo dõi về việc chuyển người đăng ký đó sang một giai đoạn vòng đời liên quan khác. Sự kiện này thường được tạo trong thời gian giới thiệu và sử dụng trình kết nối SDK của bạn.
Thông số
- app_id
- customer_user_id
- country
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_cuids
- af_validated
Thử nghiệm giao dịch mua (af_ars_sandbox_sdk)
Mô tả
Được ghi lại khi thử nghiệm giao dịch mua được ghi lại thông qua SDK trong môi trường sandbox.
Thông số
- app_id
- customer_user_id
- country
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_discount_id
- af_discount_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_cuids
- af_validated
Thử nghiệm giao dịch mua (af_ars_sandbox_s2s)
Mô tả
Được ghi lại khi thử nghiệm giao dịch mua được báo cáo thông qua S2S trong môi trường sandbox.
Thông số
- app_id
- customer_user_id
- country
- af_currency
- af_expires_date_ms
- af_subscription_ownership_type
- af_discount_id
- af_discount_type
- af_original_transaction_id
- af_order_id
- af_purchase_token
- af_transaction_id
- af_product_id
- android_id
- idfa
- ip
- appsflyer_id
- af_purchase_date_ms
- af_store
- af_environment
- af_period_type
- af_cuids
- af_validated
Từ điển thông số
Các thông số cho sự kiện đăng ký và IAP hiển thị trong báo cáo dữ liệu thô theo cột riêng hoặc được điền như một phần của Giá trị sự kiện.
Các thông số có cột riêng là:
- app_id
- customer_user_id
- country_code
- af_currency
- event_revenue_usd
- af_revenue
- android_id
- ip
- idfa
- appsflyer_id
Xem từ điển trường dữ liệu để biết thêm chi tiết về các thông số này.
Bảng sau đây mô tả các thông số về dữ liệu thô có sẵn trong các sự kiện ARS và VIAP.
Tham số | Lưu ý | Sản phẩm |
---|---|---|
af_cancelation_date_ms | Ngày hủy bỏ | IAP |
af_reason |
|
|
af_expires_date_ms |
Ngày hết hạn của chu kỳ thanh toán gói đăng ký hiện tại |
Đăng ký |
af_subscription_ownership_type |
FAMILY_SHARED có nghĩa là người dùng có quyền truy cập thông qua chia sẻ trong gia đình. PURCHASED có nghĩa là người dùng trả tiền đã thực hiện giao dịch mua. |
Đăng ký |
af_discount_id |
ID ưu đãi được hiển thị cho người dùng trong lần mua đầu tiên. ID chỉ được điền khi có mã giảm giá. |
|
af_discount_type |
Loại mã giảm giá mà người dùng đã quy đổi. Những giá trị có thể có:
|
Đăng ký |
af_original_transaction_id |
|
|
af_order_id |
|
|
af_purchase_token |
|
|
af_transaction_id |
|
|
af_purchase_state |
Những giá trị khả thi:
|
IAP |
af_original_transaction_id |
|
|
af_refunded_transaction_ids |
|
|
af_product_id |
ID sản phẩm của gói đăng ký |
|
af_purchase_date_ms |
Ngày mua cho sự kiện trong ứng dụng đối với ID sản phẩm được báo cáo |
|
af_store |
Cửa hàng ứng dụng bán sản phẩm của gói đăng ký |
|
af_environment |
Môi trường (sản xuất hoặc sandbox) mà người dùng sẽ nhận được dữ liệu. |
|
af_period_type |
|
Đăng ký |
store_commission |
|
|
af_net_revenue |
Doanh thu thuần được tính dựa trên tất cả các lý do được cân nhắc. Xem af_net_revenue_factors. |
|
af_net_revenue_factors |
|
|
af_net_revenue_tax_name |
|
|
af_net_revenue_tax_rate |
|
|
af_net_revenue_tax_exclusive |
|
|
af_net_revenue_country |
|
|
af_net_revenue_subdivision |
|
|
af_net_revenue_postal_code |
|
|
af_cuids |
|
Đăng ký |
Doanh thu Thực
Doanh thu Thực là lớp logic nghiệp vụ được xây dựng để phục vụ giải pháp doanh thu đăng ký và giao dịch mua trong ứng dụng của AppsFlyer. Lớp này tự động tính giá trị doanh thu thuần cho mỗi giao dịch đến trong thời gian thực và đưa vào báo cáo. Doanh thu Thực cân nhắc các yếu tố sau trong tính toán mức chênh lệch giữa tổng doanh thu và doanh thu thuần:
-
Hoa hồng cửa hàng:
- Được tính toán và báo cáo tự động. Bạn không cần thực hiện bất kỳ hành động nào.
- Khi mua hàng, hoa hồng của cửa hàng là 30%.
- Đối với các gói đăng ký, hoa hồng được tính tự động theo số người đăng ký, có tính đến vòng đời của người đăng ký, (App Store: hoa hồng bắt đầu ở mức 30% và giảm xuống 15% sau một năm, Play Store: hoa hồng 15%).
- Các thông số về doanh thu thuần liên quan có sẵn trong báo cáo dữ liệu thô.
- Thuế: Theo mặc định, thuế được báo cáo cho mọi giao dịch được đo bằng ROI360 nhờ sử dụng cấu hình thuế suất mặc định. Cấu hình có thể được chỉnh sửa bằng API thuế chuyên dụng.
Khi xem mục Doanh thu Thực trong báo cáo, các thông số sau chứa dữ liệu doanh thu thuần. Xem từ điển thông số để biết thêm chi tiết.
Tham số | Hệ số doanh thu thuần |
---|---|
store_commission |
Hoa hồng cửa hàng |
af_net_revenue_tax_name |
Thuế |
af_net_revenue_tax_rate |
Thuế |
af_net_revenue_tax_exclusive |
Thuế |
af_net_revenue_postal_code |
Thuế |
af_net_revenue_country |
Thuế |
af_net_revenue_subdivision |
Thuế |
af_net_revenue |
|
af_net_revenue_factors |
|
Thông số và hạn chế
Thông số kỹ thuật | Sản phẩm | Lưu ý |
---|---|---|
Ghi nhận lượt cài đặt và ẩn danh |
|
Không được hỗ trợ |
Thư viện thanh toán Google V6 |
|
Không được hỗ trợ |
Gói đăng ký mới |
Doanh thu đăng ký |
Chỉ được ghi lại qua SDK giao dịch mua của AppsFlyer |
Thay đổi giá |
Doanh thu đăng ký |
Nếu doanh thu của gói đăng ký không nhận được thông báo do SDK tạo ra kèm theo giá sản phẩm mới, thì doanh thu của gói đăng ký sẽ tiếp tục báo cáo giá sản phẩm trước đó làm doanh thu. Sau khi nhận được giá sản phẩm mới từ SDK giao dịch mua, giá mới sẽ được ghi lại. |
Tổng doanh thu |
|
Được hỗ trợ |
Doanh thu thuần |
|
Chỉ được hỗ trợ trong dữ liệu thô |
Thuế |
Doanh thu đăng ký |
Được hỗ trợ |
Hoa hồng của cửa hàng từ doanh thu thuần |
|
|
Hoàn tiền | IAP | Có thể được báo cáo cho đến 180 ngày kể từ giao dịch mua ban đầu. |
Loại bỏ trùng lặp |
|
Được hỗ trợ cho các giao dịch được báo cáo lên đến 180 ngày sau ngày diễn ra sự kiện. |
Chế độ nghiêm ngặt SDK |
|
Gói đăng ký ROI360 và VIAP được hỗ trợ trong chế độ nghiêm ngặt SDK. |
Tiền tệ |
|
Doanh thu được báo cáo bằng đơn vị tiền tệ gốc (sử dụng thông số event_revenue) và bằng USD (sử dụng thông số event_revenue_usd). |