Branch.io:如何将服务器到服务器发送的事件与客户端报告的用户安装合并?
Branch.io: how to merge events sent server-to-server with user installs reported from the client?
设置
我有一个带有基本 Branch SDK 集成的 iOS 应用程序。它所做的只是:
- 报告安装事件(通过 initSession() 调用)
- 一段时间后调用 setIdentity() 方法以使用从后端收到的 ID 来识别用户
稍后在应用程序内,用户会收到带有试用期的订阅。试用开始后,后端会收到通知。我想报告从我的后端到 Branch 的试用开始(服务器到服务器的方式)所以它归因于 Branch channel/campaign 我可以在 "Sources" 工具中看到每个活动的效率在分支中。
为此,我根据文档执行以下 curl 请求 https://github.com/BranchMetrics/branch-deep-linking-public-api#logging-user-lifecycle-events:
curl -vvv -d '{"name": "START_TRIAL","customer_event_alias": "Trial Start","user_data": {"os": "iOS","environment": "FULL_APP","aaid":"93A6BC61-AC2B-4008-9565-4DF2FD2395C9","limit_ad_tracking":false,"developer_identity": "41740","country": "US","language": "en"},"custom_data": {"product_id": "my.product.id"},"metadata": {},"branch_key": "key_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}' https://api2.branch.io/v2/event/standard
收到的答案是:
{"branch_view_enabled":假}
从请求中可以看出,我传递了 IDFA 和 developer_identity,我希望将 START_TRIAL 事件归因于带来用户的分支 channel/campaign 就足够了。
问题
START_TRIALS 和其他有价值的事件归因于自然流量。因此,对于测试活动,我看到一个点击,安装一个开放但零试用开始。试用开始归因于自然流量。
我检查过的内容
我已经使用 Charless SSL 检查用户 ID 是由 Branch SDK 发送到 Branch 后端的(注意相同的 IDFA 93A6BC61-AC2B-4008-9565-4DF2FD2395C9 和用户 ID 41740):
"os": "iOS",
"hardware_id": "93A6BC61-AC2B-4008-9565-4DF2FD2395C9",
"screen_width": 750,
"identity_id": "789438365770392069",
"build": "16G183",
"ios_vendor_id": "A3656BAB-CDF9-4572-B944-80D5B6017376",
"hardware_id_type": "idfa",
"instrumentation": {
"/v1/install-brtt": "406"
},
"environment": "FULL_APP",
"model": "iPhone7,2",
"identity": "41740",
鉴于我已经传递给 Branch 的所有数据,我还应该做些什么来将服务器到服务器发送的事件与客户端报告的用户安装合并?
如果您正在尝试跟踪 iOS 事件,我想您应该使用 user_data.idfa
而不是 user_data.aaid
(Android ID)。
user_data.aaid : Android/Google advertising id
user_data.idfa : iOS advertising id
设置
我有一个带有基本 Branch SDK 集成的 iOS 应用程序。它所做的只是:
- 报告安装事件(通过 initSession() 调用)
- 一段时间后调用 setIdentity() 方法以使用从后端收到的 ID 来识别用户
稍后在应用程序内,用户会收到带有试用期的订阅。试用开始后,后端会收到通知。我想报告从我的后端到 Branch 的试用开始(服务器到服务器的方式)所以它归因于 Branch channel/campaign 我可以在 "Sources" 工具中看到每个活动的效率在分支中。
为此,我根据文档执行以下 curl 请求 https://github.com/BranchMetrics/branch-deep-linking-public-api#logging-user-lifecycle-events:
curl -vvv -d '{"name": "START_TRIAL","customer_event_alias": "Trial Start","user_data": {"os": "iOS","environment": "FULL_APP","aaid":"93A6BC61-AC2B-4008-9565-4DF2FD2395C9","limit_ad_tracking":false,"developer_identity": "41740","country": "US","language": "en"},"custom_data": {"product_id": "my.product.id"},"metadata": {},"branch_key": "key_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}' https://api2.branch.io/v2/event/standard
收到的答案是: {"branch_view_enabled":假}
从请求中可以看出,我传递了 IDFA 和 developer_identity,我希望将 START_TRIAL 事件归因于带来用户的分支 channel/campaign 就足够了。
问题
START_TRIALS 和其他有价值的事件归因于自然流量。因此,对于测试活动,我看到一个点击,安装一个开放但零试用开始。试用开始归因于自然流量。
我检查过的内容
我已经使用 Charless SSL 检查用户 ID 是由 Branch SDK 发送到 Branch 后端的(注意相同的 IDFA 93A6BC61-AC2B-4008-9565-4DF2FD2395C9 和用户 ID 41740):
"os": "iOS", "hardware_id": "93A6BC61-AC2B-4008-9565-4DF2FD2395C9", "screen_width": 750, "identity_id": "789438365770392069", "build": "16G183", "ios_vendor_id": "A3656BAB-CDF9-4572-B944-80D5B6017376", "hardware_id_type": "idfa", "instrumentation": { "/v1/install-brtt": "406" }, "environment": "FULL_APP", "model": "iPhone7,2", "identity": "41740",
鉴于我已经传递给 Branch 的所有数据,我还应该做些什么来将服务器到服务器发送的事件与客户端报告的用户安装合并?
如果您正在尝试跟踪 iOS 事件,我想您应该使用 user_data.idfa
而不是 user_data.aaid
(Android ID)。
user_data.aaid : Android/Google advertising id
user_data.idfa : iOS advertising id