# Adjust 集成方案
本文将介绍如何在 TE 后台接入 Adjust 数据,目前 TE 后台支持接入的是 Adjust 的实时回传 (opens new window),如需了解如何接入 Adjust 的其他接口数据,请参考 Adjust 数据集成解决方案 (opens new window)
TIP
请注意,第三方数据集成产生的数据会被纳入集群的消耗数据量
# 概要
# 接口简介
接口名 | 集成类型 | 数据粒度 | 归因数据 | 成本数据 | 收益数据 | 展示数据 | 点击数据 | 转化数据 |
---|---|---|---|---|---|---|---|---|
实时回传 | 回传 | 用户级别 | ✅ | ✅ | ✅ |
Adjust 提供了一系列事件的实时回传 (opens new window)能力,在 Adjust 后台选定需要回传的数据类型,并将 TE 系统的回调链接设置在回调地址处,即可实现用户级别明细数据的回传。
在开始接入 Adjust 数据前,请确保您已经阅读 TE 系统用户识别规则,理解 TE 如何通过 #distinct_id 和 #account_id 识别一个用户
# 集成流程
- 接入 Adjust 客户端 (opens new window) (opens new window)SDK (opens new window) 与 TE SDK,在 Adjust SDK 设置 TE 的用户识别 ID
- 登录 TE 后台,进入三方集成模块,新增 Adjust 集成,并完成相关配置
- 登录 Adjust 后台,完成回传配置
- 查看 TE 系统否成功接收数据,并完成报表搭建
# 一、客户端 SDK 配置
集成 Adjust 数据的第一步,是在客户端完成 TE SDK 与 Adjust SDK 的打通,在 Adjust SDK 中设置 TE 系统的用户识别 ID
# 1.1 方案一(自动集成)
- 如果您接入的 TE SDK 版本为 2.8.0~2.8.1 ,可以直接使用本方案
- 如果您接入的 TE SDK 版本为 2.8.2 及以上 ,您还需要安装三方数据插件。详情请参考 安卓 SDK 对接文档 与 iOS SDK 对接文档
本方案是自动集成方案。请注意 TE 的 SDK 初始化必须在 Adjust 的 SDK 初始化之前完成,请在初始化 完成后调用以下代码开启自动集成:
// 初始化 TE SDK
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// 开启 Adjust id关联
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_ADJUST);
// 初始化 Adjust SDK
// ...
// 注册或创角后,调用 login 设置账号 ID后,需要再次同步数据(可选)
instance.login("account_id");
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_ADJUST);
注意
如果调用了 TE SDK 的 login() 方法或者 identify() 方法,需要再次调用 enableThirdPartySharing() 同步数据。
该方案的原理就是内部自动调用 Adjust SDK 的 addSessionCallbackParameter()
方法,传入 TE 项目的访客 ID 与账号 ID。
# 1.2 方案二(手动集成)
手动集成方案,需要您在 Adjust SDK 中使用 addSessionCallbackParameter() 接口设置 TE 项目的访客 ID 与账号 ID。请注意,TE SDK 的初始化必须在 Adjust 的 SDK 初始化之前完成。以下是安卓端的代码样例:
// 初始化 TE SDK
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// 获取 TE 的访客 ID, 对应 TE 中的 #distinct_id
string distinctId = ThinkingAnalyticsAPI.GetDistinctId();
// 您的账号 ID (或 角色 ID),对应 TE 中的 #account_id
string accountId = "{your_accoun2.t_id}";
// 初始化 Adjust SDK
// ...
Adjust.addSessionCallbackParameter("ta_distinct_id", distinctId);
Adjust.addSessionCallbackParameter("ta_account_id", accountId);
# 二、TE 三方集成页面配置
完成 SDK 配置后,接下来需要您登录 TE 系统后台,在「三方集成」模块中完成 Adjust 的配置。下图是 Adjust 的配置界面,请打开「集成开关」开始 Adjust 的配置:
# 2.1 用户识别与关联配置
由于 Adjust 回传的是用户级别数据,因此需要为其设置用户识别规则,即回传数据中与 #distinct_id 和 #account_id 对应的字段。TE 系统将根据该配置,在转换回传数据时,将这些字段设置为数据中的用户识别字段。
如果您按照本文档上一步进行客户端 SDK 配置,可以直接使用默认值:
- 账号 ID 关联字段:ta_account_id
- 访客 ID 关联字段:ta_distinct_id
# 2.2 事件数据入库与配置
打开「事件表入库设置」开关后,Adjust 回传的数据都将写入到事件表中,我们建议您开启事件数据入库。
# 2.3 用户属性入库规则
在默认情况下,TE 系统会自动将 Adjust 回传数据中的归因字段写入到标准化处理后的用户属性中,以下是写入用户属性的字段及其含义:
Adjust 字段 | 入库 TA 后用户属性名称 | 说明 |
---|---|---|
network_name | te_ads_object.media_source | 渠道 |
campaign_name | te_ads_object.campaign_name | 广告计划 |
adgroup_name | te_ads_object.ad_group_name | 广告组 |
creative_name | te_ads_object.ad_name | 广告素材 |
注意
旧版本的用户属性入库默认规则与当前不一致,请注意分辨。如果需要将新老属性合并,可以使用虚拟属性功能
如果需要进行修改,您可以点击「配置规则」进入到入库规则配置页,如下图所示
在此,您可以修改用户属性从哪些事件来。如果您不希望用户属性被频繁写入,可以关闭「包含所有事件」,并将来源事件名修改为 installs。这样配置,则 TE 系统只会从 Adjust 回传的 installs 事件中提取需要写入用户属性的字段并进行写入。入库方式默认是 user_setOnce,也就是只会保留首次上报的信息。
您可以点击「属性映射」按钮添加需要写入用户属性的字段;也可以点击左侧的「规则」按钮增添一套新的规则,比如您希望从 Adjust 回传的变现数据中提取广告收益,并将其以 user_add 的方式写入到用户属性中,从而记录各用户的累计广告收益。
如果您希望关闭用户属性入库,可以停止所有规则:
# 2.4 数据源配置
# 2.4.1 默认配置
若您配置了系统和项目级别数据上报地址,则显示如下链接;您可以直接复制该地址,并粘贴至 Adjust 后台实时回传配置处:
若此处无地址没有显示,请进入右上角菜单「项目管理」-「接入配置」-「数据上报地址」处配置公网地址。该地址即 TE SDK 中配置的数据上报地址。配置后再回到 Adjust 配置页的「数据源」复制终端地址。
# 2.4.1 自定义宏
Adjust 的回调地址中包含一种称为宏的结构,表示方法为{宏名称}
。宏可以被认为是一种占位符,当 Adjust 需要回传的数据中包含与宏对应的字段。以 {campaign_name} 为例, Adjust 会在回传数据时,将 campaign_name 的值填入回调地址中宏所在位置。您可以的参考 Adjust 的回调演示视频 (opens new window),了解宏的作用。
以下展示的是 TE 界面上的建议您复制以下地址,请注意,地址中您需要替换以下内容:
- {receiver-host} :数据上报地址,即 TE 后台「项目管理」-「接入配置」-「数据上报地址」处的公网地址
- {app-id}:TE 的项目 APP ID
另外,如果您有其他参数希望添加,可以查看该文档 (opens new window):
https://{receiver-host}/attribution/callback/adjust/{app-id}?network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&activity_kind={activity_kind}&created_at_milli={created_at_milli}&timezone={timezone}&event_name={event_name}&cost_amount={cost_amount}&cost_currency={cost_currency}&publisher_parameters={publisher_parameters}&app_id={app_id}&app_name={app_name}&country={country}&os_name={os_name}
注意
旧版本的数据源地址与当前不一致,请注意分辨,我们建议您使用新地址。
# 三、Adjust 实时回传接口配置
完成 TE 后台的配置后,接下来请使用管理员账号登录 Adjust 后台。在应用页面点击插入符号,选择「所有设置」-「原始数据导出」-「实时回传」,进入到回传配置页。
Adjust 支持配置统一回传 (opens new window),也可以配置单个事件回传 (opens new window)。我们评估了所有回传事件后,建议您单独为安装和广告收入事件配置单个事件回传,以下是我们建议回传的事件:
事件中文名 | 事件名 |
---|---|
安装 | installs |
广告收入(广告收入套餐) | ad revenue (with Ad Revenue package) |
安装事件的回传可以直接使用三方集成页面的数据源地址。
广告收入事件,建议使用以下地址:
https://{receiver-host}/attribution/callback/adjust/{app-id}?network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&activity_kind={activity_kind}&created_at_milli={created_at_milli}&timezone={timezone}&event_name={event_name}&cost_amount={cost_amount}&cost_currency={cost_currency}&publisher_parameters={publisher_parameters}&app_id={app_id}&app_name={app_name}&country={country}&os_name={os_name}¤cy={currency}&revenue={revenue_float}&placement={ad_revenue_placement}&ad_revenue_unit={ad_revenue_unit}&ad_revenue_network={ad_revenue_network}
请依次设置到 install 回调地址与 ad revenue 回调地址:
# 四、数据入库逻辑
# 4.1 用户识别规则
TE 系统将根据「用户识别与关联」中的配置,对回传数据进行用户识别,将 Adjust 回传的用户粒度数据能够关联在 TE 项目中的对应用户身上。
默认规则为:
- 账号 ID:检查回传数据中是否存在 ta_account_id,如果存在,将其设置为 #account_id,如果没有,则留空
- 访客 ID:检查回传数据中是否存在 ta_distinct_id,如果存在,将其设置为 #distinct_id,如果没有,则留空
- 如果账号 ID 和访客 ID 皆为空,则该条数据将被视作无效数据,直接丢弃
# 4.2 事件入库规则
- 使用数据中的 created_at_milli 字段,作为事件的 #event_time,若 created_at_milli 不存在,则取 created_at 的值作为 #event_time
- 数据事件名为 Adjust 的事件名加前缀 adjust_(如 installs 事件入库后为 adjust_installs)
- 回调链接中配置的其他字段将全数入库
# 4.3 标准化字段
以下事件属性会进行标准化处理:
原始字段 | 标准化字段 | 含义 |
---|---|---|
network_name | te_ads_object.media_source | 媒体渠道 |
ad_mediation_platform | te_ads_object.media_source | 变现渠道 |
campaign_name | te_ads_object.campaign_name | 广告计划名 |
google_ads_campaign_name | te_ads_object.campaign_name | 广告计划名(仅 Google Ads 数据) |
google_ads_campaign_id | te_ads_object.campaign_id | 广告计划 ID(仅 Google Ads 数据) |
adgroup_name | te_ads_object.ad_group_name | 广告组名 |
google_ads_adgroup_name | te_ads_object.ad_group_name | 广告组名(仅 Google Ads 数据) |
google_ads_adgroup_id | te_ads_object.ad_group_id | 广告组 ID(仅 Google Ads 数据) |
creative_name | te_ads_object.ad_name | 广告名 |
google_ads_creative_id | te_ads_object.ad_id | 广告 ID(仅 Google Ads 数据) |
ad_revenue_placement | te_ads_object.placement | 变现广告位置 |
google_ads_placement | te_ads_object.placement | 广告位置(仅 Google Ads 数据) |
cost_amount | te_ads_object.cost | 投放成本 |
cost_currency | te_ads_object.currency | 买量投放的币种 |
revenue_usd | te_ads_object.revenue | 变现收益 |
【USD】定值 | te_ads_object.currency | 变现收益的币种 |
country | te_ads_object.country | 国家地区编码 |
os_name | te_ads_object.platform | 平台,即 Android、iOS 等 |
app_id | te_ads_object.app_id | 应用 ID |
app_name | te_ads_object.app_name | 应用名 |
# 4.4 用户属性入库规则
- 根据用户识别规则,将事件数据关联到对应的 TE 用户身上
- 根据用户属性入库规则,确定用户属性设置逻辑是 user_set、user_setOnce 或 user_add
- 从指定事件或全事件中获取需要写入用户属性的字段,并将其以给定属性名与类型写入用户表
# 五、后续使用
# 5.1 数据入库检查
最后,请您检查 TE 系统是否接收到了 Adjust 的回传数据,您可以按照以下方法进行检查:
- 在详细数据中查看
若平台接入状态为「已接入」,则说明已经从该平台接收到了数据,且数据已经入库。此时,您可以直接在集成页的「详情」TAB 页查看收到的最近 1000 条数据。点击具体的一行可查看该数据的明细信息,包括转化前与转化后的数据,可以复制或导出该条数据,或者点击右上角下载完整数据:
- 在其他产品模块查看
除了集成页以外,您还可以在「数据管理」页面查看回传事件、用户属性是否被创建。
您也可以在分析模型,如事件分析模型、用户属性分析模型中通过分析的方式检查数据是否入库。
# 5.2 报表建议
以下提供几个构建报表的建议:
- 在事件分析模型中,使用 Adjust 回传数据搭建广告投放、广告变现核心指标,创建广告分析报表
- 在留存分析模型中,结合回传数据的广告变现与游戏内付费事件,计算各媒体渠道、广告计划等粒度包含广告变现的 LTV
- 在漏斗分析模型中,将安装事件加入到新用户转化漏斗中,并使用媒体渠道、广告计划等粒度分析不同来源用户的转化情况
# 六、FAQ
请参考 Adjust FAQ (opens new window)