跳到主要内容

Adjust 数据集成解决方案

最近更新 2026/10/05

最近更新日期:2023-03-24

一、集成方案介绍​

提示

请注意,第三方数据集成产生的数据会被纳入集群的消耗数据量

概要​

本文将介绍如何将 Adjust 数据回传到 Agentic Engine(后文简称 AE 系统) ,本方案支持:

  • 通过实时回传功能回传用户粒度原始数据,涵盖转化、变现等数据
  • 通过 Report Service API 回传聚合数据,涵盖曝光、点击、成本、变现等数据
  • 如果您准备使用实时回传功能上报原始数据,请阅读 AE 系统用户识别规则,了解 AE 如何通过 #distinct_id 和 #account_id 识别一个用户。
  • 如果您准备使用 Report Service 获取聚合结果,请确保您已经阅读 AE 系统数据规则,理解 AE 的数据结构。另外,建议您将拉取数据所需的信息交给我们的客户成功经理,格式可参考数据集成配置信息模板。

流程​

  • 如果您使用实时回传方案,请遵循以下流程接入数据:
  1. 接入 Adjust 客户端 SDK 与 AE 客户端 SDK,在 Adjust SDK 中设置 AE 用户识别 ID,在 AE SDK 中设置 Adjust ID 以及 Android ID / IDFA / Web UUID(建议在 Adjust SDK 中上报自定义的注册/创建角色事件)
  2. 在 Adjust 的后台设置统一回传(Global callback)或单个事件回传(Single event callback)
  3. 由 AE 工作人员完成数据拉取开发工作,包括用户数据的回溯关联
  4. 在 AE 后台搭建看板、报表,并完成数据验收
  • 如果您使用 Report Service 回传聚合数据,则可以遵循以下流程:
  1. 在 Adjust 后台,获取 Adjust User Token(API Token)和 Adjust App Token,将这些信息提供给 AE 工作人员
  2. 确定需要拉取的数据维度、指标类型、时间范围与时间粒度
  3. 由 AE 工作人员完成数据拉取开发工作
  4. 在 AE 后台搭建看板、报表,并完成数据验收

二、实时回传方案​

接口名API 类型产品化数据粒度归因数据成本数据收益数据展示数据点击数据转化数据
实时回传推式是用户级别是是是

Adjust 提供了一系列事件的实时回传能力,在 Adjust 后台选定需要回传的数据类型,并将 AE 系统的回调链接设置在回调地址处,即可实现用户级别明细数据的回传。

2.1 配置客户端 SDK​

2.1.1 设置用户 ID​

方案一(自动关联):

提示

如果您接入的 AE SDK 版本为 2.8.0~2.8.1 ,可以直接使用本方案

如果您接入的 AE SDK 版本为 2.8.2 及以上 ,您还需要安装三方数据插件

详情可参考 安卓 SDK 三方数据 与 iOS SDK 三方数据

// 初始化 AE 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);

该方案的原理就是内部自动调用 Adjust SDK 的 addSessionCallbackParameter() 方法,传入 AE 项目的访客 ID 与账号 ID。

方案二:

本方案为手动调用 Adjust SDK 的 addSessionCallbackParameter() 方法设置 AE 项目的访客 ID 与账号 ID。

// 获取 AE 的访客 ID, 对应 AE 中的 #distinct_id
String distinctId = ThinkingAnalyticsAPI.GetDistinctId();
// 您的账号 ID (或 角色 ID),对应 AE 中的 #account_id
String accountId = "{your_account_id}";

Adjust.addSessionCallbackParameter("ta_distinct_id", distinctId);
Adjust.addSessionCallbackParameter("ta_account_id", accountId);

// 初始化 Adjust SDK
// ...
提示

为了确保 AE 用户 ID 可以正常获取,请勿在 Adjust SDK 中使用 addCallbackParameter 再次上报 AE 账号 ID 与 访客 ID

2.1.2 设置注册或创角事件(可选)​

为了确保用户绑定关系符合预期,请根据您在 AE SDK 中设置的账号 ID 的类型,设置一个自定义事件:

  • 账号 ID 为用户的账号 ID:在用户创建账号时使用 Adjust SDK 上报
  • 账号 ID 为角色 ID(游戏行业):可以在用户创建角色时使用 Adjust SDK 上报

2.1.3 Web 端配置方法​

由于 Web 端与移动端的差异较大,您需要在 Adjust Web SDK 中通过以下代码获取 web_uuid,并将其通过 AE SDK 进行上报,设置成用户属性:

const webUUID = Adjust.getWebUUID();

接着,在后续配置回调链接时,使用 {web_uuid} 占位符进行回传,以确保可以和 AE 项目用户数据相关联。

2.2 配置回调链接​

完成了客户端 SDK 的配置后,接下来需要在 Adjust 后台设置实时回传接口,这样就可以收到 Adjust 的用户粒度明细数据。

2.2.1 回传方法选择​

Adjust 支持配置统一回传,也可以配置单个事件回传。由于广告收入(Ad revenue)事件不支持统一回传,因此我们建议您为回传事件进行单独配置。

以下是 Adjust 支持回传的事件以及我们建议接入的事件:

事件中文名事件名建议接入
展示impressions
点击clicks
安装install是
广告收入(广告收入套餐)ad revenue (with Ad Revenue package)是
广告支出ad spend
会话sessions
应用事件app events按需接入
再归因reattributions
卸载uninstalls
重装reinstalls
再归因重装reattribution reinstalls
归因更新updated attributions
已删除用户 (GDPR)erased users (GDPR)
SAN 点击SAN clicks
SAN 展示SAN impressions
SKAdNetwork 安装SKAdNetwork installs
SKAdNetwork 事件SKAdNetwork events
订阅subscriptions
ATT 状态更新 (iOS)ATT status updates (iOS)
被拒安装rejected installs
被拒再归因rejected reattributions

2.2.2 回调链接的配置​

建议您将所有需要回传的事件记录下来,在数据集成配置信息模板中进行写明,并将模板发送给 AE 工作人员。AE 工作人员会将各事件对应的回调链接发送给您。请依次将回调地址设置到下图红框位置。

2.2.3 回调占位符的配置​

回调占位符是回调链接中用来指定回传参数的一种表达式,一般会用 {} 括起,比如 {campaign_name} 占位符意味着回调数据中将会带有 campaign_name 的值。不同回调数据可以支持不同的占位符,您可以访问 Adjust 占位符说明文档来获取更多信息,如果您需要添加,请从上述文档中寻找待增加的属性,并在数据集成配置信息模板中进行写明。

2.3 数据入库规则​

默认情况下,我们会将拉取的数据以事件形式写入 AE 项目中,一条回调数据写入一条事件数据:

  • 使用数据中的 ta_distinct_id 和 ta_account_id 作为 AE 项目的用户识别 ID
  • 使用数据中的 created_at_milli 字段,作为事件的 #event_time,若 created_at_milli 不存在,则取 created_at 的值作为 #event_time
  • 数据事件名为 Adjust 的事件名加前缀 adjust_(如 impression 事件入库后为 adjust_impression)
  • 回调链接中配置的其他字段将全数入库

在默认情况下,如果未能获取到数据中的 ta_distinct_id 和 ta_account_id ,则该条数据将被视作无效数据,直接丢弃。如果您希望保留这些数据,可以联系 AE 工作人员进行配置,这些数据将会记录在事件表中,访客 ID 为固定值 -- "without_id",且这些数据不会进行用户属性入库

由于 impression、click、Ad spend 的回传数据中不包含 AE 项目的用户识别 ID。如果您希望接入此类数据,AE 系统会自动将这些数据挂在一个“虚拟用户”身上。

接着,如果这些事件中存在可以标识用户的字段(如 adjust_id 与 Android ID/IDFA 或 web_uuid),且用户属性中也存在对应的字段,AE 工作人员可以通过数据回溯的方式,定时将这些事件关联到 AE 用户

数据类型说明入库 AE 后事件名事件的虚拟用户
impression曝光adjust_impressionadjust_impression_vu
click点击adjust_clickadjust_click_vu
cost_update成本adjust_cost_updateadjust_cost_update_vu

三、Report Service API​

由于 Adjust 用户级别的数据(实时回传接口)里面没有自归因平台(Google, Facebook等)成本数据,因此我们可以通过 Report Service 获取全平台的聚合成本数据。

具体文档可参考:https://help.adjust.com/zh/article/reports-endpoint

接口基本信息

接口名API 类型产品化数据粒度归因数据成本数据收益数据展示数据点击数据转化数据
Report Service API拉式否聚合数据是是是是是

3.1 接入前准备工作​

请获取以下参数并发送给 AE 工作人员:

  • Adjust User Token(即用户的 API Token)
    • 您可以在 Adjust 后台获取您的 API Token,在后台点击左上角菜单,选择「账户信息」(管理员用户请选择「我的账户」,在「您的数据」标签页中找到「用户详情」,点击底部齿轮按钮),再点击「API 识别码」,即可获取您的 API Token
  • Adjust App Token
    • 您可以在 Adjust 后台获取您需要接入的应用的 App Token

3.2 数据拉取​

3.2.1 分析维度​

以下是 Report Service 支持的分析维度,包括时间粒度(只可选一个),以及分组维度(可多选)

  • 时间粒度
维度数据类型描述示例是否默认

hour

日期ISO 格式日期值:YYYY-MM-DDTHH:MM:SS

2021-05-11T17:00:45

day日期日期值格式:YYYY-MM-DD2021-05-11是
  • 分组维度
维度数据类型描述示例是否默认

os_name

字符串

操作系统

取值:android、Bada、blackberry、iOS、Linux、Mac OS、server、symbian、unknown、WebOS、Windows、windows-phone是

device_type

字符串设备类型取值:bot、console、iPod、Mac、PC、phone、server、simulator、tablet、TV、unknown是
app字符串应用名称-是
app_token字符串Adjust 中的应用 ID-是
store_id字符串商店应用 IDcom.random.app是
store_type字符串应用安装来源商店google_play是

app_network

字符串应用标识

格式:<store_type>:<store_id>

如:google_play:com.random.app

是
currency字符串币种Euro是
currency_code字符串3 字符的 ISO 4217 货币代码EUR是

network

字符串广告渠道的名称取值:Organic, AppLovin, Facebook Installs, Instagram Installs
campaign字符串包含推广活动名称和 ID-是
campaign_network字符串渠道的推广活动名称-是
campaign_id_network字符串渠道的推广活动 ID-是
adgroup字符串包含广告组名称和 ID-是
adgroup_network字符串渠道的广告组名称-是
adgroup_id_network字符串渠道的广告组 ID-是
source_network字符串基于渠道的可选值, 一般与 adgroup_network 相同-是
source_id_network字符串source_app 值-是
creative字符串包含素材名称和 ID-是
creative_network字符串渠道素材名称-是
creative_id_network字符串渠道素材 ID-是
country字符串国家/地区名称United States of America是
country_code字符串2 字符 ISO 3166 国家/地区代码

US

是
region字符串业务地区APAC是
partner_name字符串Adjust 系统中的合作伙伴名称AppLovin是
partner_id字符串Adjust 系统中的合作伙伴 ID34是

3.2.2 涵盖指标​

Report Service 支持的指标相当丰富,本节仅展示部分常用指标,您可以访问 Adjust 官网文档获取详细的指标列表,如果需要自定义拉取的指标,请在数据集成配置信息模板中注明

  • 转化指标
字段定义公式字段名是否默认
平均 DAUs所选时间段的平均日活跃用户(D0 DAU + D1 DAU + DAY N DAU) / 所选时间段天数daus是
平均 MAUs所选时间段的平均 MAU(M0 MAU + M1 MAU + MONTH N MAU) / 所选时间段月数maus是
平均 WAUs所选时间段的平均 WAU(W0 WAU + W1 WAU + WEEK N WAU) / 所选时间段周数waus是

基本 Sessions 数

用户的 sessions 数,排除安装和再归因-base_sessions是
点击数追踪到的点击数-clicks是
点击数 (渠道)由渠道 API 上报的点击数-network_clicks是
点击转化率 (CCR)安装数与点击数的比值安装数 / 点击数click_conversion_rate是
点击率(CTR)点击和曝光的占比点击数 / 曝光数ctr是
离归因发生离归因的次数-deattributions是
行使 GDPR 遗忘权的用户数行使了欧盟 GDPR 遗忘权的用户数。Adjust 将永久删除这些用户的个人数据-gdpr_forgets是
曝光数追踪到的广告曝光数-impressions是
曝光数 (渠道)由渠道 API 上报广告曝光数-network_impressions是
安装曝光比安装数与曝光数的占比安装数 / 曝光数impression_conversion_rate是
安装数追踪到的安装您的 App 的用户数-installs是
安装数 (渠道)由渠道 API 上报的安装数

-

network_installs是
安装差异数安装数与渠道 API 上报的安装数的差值安装数 - 安装数 (渠道)network_installs_diff是
每千次展示安装数 (IPM)每一千次广告展示引发的安装数1000 * 展示转化比installs_per_mile是
限制追踪设备的安装数打开限制追踪的设备 (LAT) 的安装数-limit_ad_tracking_installs是
限制追踪设备的安装占比限制追踪设备的安装与安装数的比值限制追踪设备的安装数 / 安装数limit_ad_tracking_install_rate是
限制追踪设备的再归因数打开限制追踪的设备 (LAT) 的再归因数-limit_ad_tracking_reattributions是
限制追踪设备的再归因占比限制追踪设备的再归因数 与再归因数的比值限制追踪设备的再归因数 / 再归因数limit_ad_tracking_reattribution_rate是
非自然量安装数不被归因为自然量的用户的安装数-non_organic_installs是
自然量安装数归因为自然量的用户的安装数-organic_installs是
再归因数再归因的用户数-reattributions是
再归因的重装数再归因的用户的重新安装数-reattribution_reinstalls
重新安装数

重新安装的次数

需购买 Uninstall and Reinstall Growth Solution

-

reinstalls

(否则请求报错)

总 Sessions 数总 Sessions 数包括安装和再归因base_sessions + installs + reattributionssessions是
  • 成本指标
字段定义公式字段名是否默认
广告支出广告的总支出(由拉取参数决定)点击支出 + 曝光支出 + 安装支出cost是
广告支出(归因)Adjust 追踪到的广告支出点击支出 + 曝光支出 + 安装支出adjust_cost是

广告支出(渠道)

由渠道 API 上报的广告支出点击支出 + 曝光支出 + 安装支出network_cost是
广告支出差异广告支出(归因)与广告支出(渠道)的差值广告支出(归因)- 广告支出(渠道)network_cost_diff是
点击成本广告点击消耗的成本支出-click_cost是
付费点击数有广告支出的广告点击数-paid_clicks是
eCPI (所有安装)所有安装的平均有效支出广告支出 / 安装ecpi_all是
eCPI (渠道)由渠道 API 上报的安装的平均有效支出渠道 API 上报的广告支出 / 渠道 API 上报的安装数

network_ecpi

是
eCPI (付费安装)

付费安装的平均有效支出

渠道 API 上报的广告支出 / 付费安装数ecpi是
eCPM (归因)由归因数据上报 eCPM 数据(广告支出 / 付费曝光数) * 1000ecpm是
eCPM (渠道)由渠道 API 上报 eCPM 数据(渠道支出 / 渠道付费曝光) * 1000network_ecpm是
eCPC每次点击的平均有效支出广告支出 / 付费点击数ecpc是
曝光成本曝光消耗的成本支出-impression_cost是
付费曝光数有广告支出的付费曝光数-paid_impressions是
安装成本安装消耗的成本支出-install_cost是
付费安装数有广告支出的付费安装数-paid_installs是
  • 收益指标
字段定义公式字段名是否默认
广告曝光数广告的总曝光数-ad_impressions是
广告收入广告总收入-ad_revenue是
人群累计广告收入

所选时间段内安装的用户到当前的广告收入

例:选择时间为 1/1 号~1/31 号,今天为 5/1 号,则计算 1/1 号~1/31 号安装的用户到 5/1 号的广告收入

-

cohort_ad_revenue

是
千次展示广告收入每一千次广告展示的平均收入(广告收益 / 广告曝光) * 1000ad_rpm是
内购收入内购收入-revenue是
人群累计内购收入

所选时间段内安装的用户到当前的内购收入

例:选择时间为 1/1 号~1/31 号,今天为 5/1 号,则计算 1/1 号~1/31 号安装的用户到 5/1 号的内购收入

-

cohort_revenue

是
总收入包含广告收入以及内购收入的总收入广告收入 + 内购收入all_revenue是
人群累计总收入

所选时间段内安装的用户到当前的总收入

例:选择时间为 1/1 号~1/31 号,今天为 5/1 号,则计算 1/1 号~1/31 号安装的用户到 5/1 号的总收入

人群累计内购收入 + 人群累计广告收入cohort_all_revenue是
ARPU (全部)包含所有收入的平均活跃用户收益总收入 / 总DAUarpdau是
ARPU(仅广告)仅包含广告收入的平均活跃用户收益广告收入 / 总DAUarpdau_ad是
ARPU (仅内购)仅包含内购收入的平均活跃用户收益内购收入 / 总DAUarpdau_iap是
毛利润总收入减去总成本总收入 - 总成本gross_profit是
人群毛利润所选时段安装的用户的毛利润人群的总收入 - 成本cohort_gross_profit是
人群ROI所选时段安装的用户的毛利润除以成本人群的毛利润 / 成本return_on_investment是
内购数追踪到的内购事件数-revenue_events是
收入成本比 (RCR)所选时段安装的用户的收入与成本的比值人群的总收入 / 总成本revenue_to_cost是
ROAS (总收入)计算总收入的 ROAS(广告收入 + 内购收益) / 成本roas是
ROAS (广告收入)只计算广告收入的 ROAS广告收入 / 成本roas_ad是
ROAS (内购收入)只计算内购收入的 ROAS内购收益 / 成本roas_iap是

3.2.3 接口参数​

  • 时间:

    • 可以拉取以天为单位的数据
    • 时区可以自定义

3.2.4 入库规则​

  • 由于 Report Service 是聚合数据,因此我们将使用一个固定值作为其用户标识,您可以认为所有数据挂载在一个虚拟用户上
  • 使用数据中的 day 或 hour 字段,即数据的日期,设置为聚合数据的 #event_time
  • Report Service 的数据事件名为 -- adjust_report_service_ad_spend
  • 其余指标、维度字段均会入库

3.3 数据集成配置信息模板​

在阅读完以上文档之后,建议您完成以下信息模板,并发送给您在 ThinkingAI 的客户成功经理,我们将根据该信息模板完成 Adjust Report Service 的数据拉取:

数据接口:Adjust Report Service
---------
公司名称:XXX
AE 项目环境:(SAAS/私有化)
AE 项目名称:XXX
AE 项目 APP ID: XXX
数据接收地址 push_url: XXX
---------
Adjust User Token (API Token): XXX
Adjust App Token: XXX
---------
API 配置
历史数据拉取时间范围:yyyy/mm/dd - yyyy/mm/dd
定时拉取最近 X 日的数据(由于 Adjust 存在事后的数据校正,因此建议定时拉取最近几天的数据,确保能够拉取修正后的数据)
时间粒度:(天/小时)
分组维度:xxx,xxx
聚合指标:xxx,xxx

四、联调测试与集成后数据使用​

  1. 联调测试

可以在「数据管理」 ->「用户属性管理」页面查看相关归因数据:

Adjust 回传字段说明入库 AE 后用户属性名称数据类型
network_name渠道#adjust_network_name文本
campaign_name广告计划#adjust_campaign_name文本
adgroup_name广告组#adjust_adgroup_name文本
creative_name广告素材#adjust_creative_name文本

若您开启了事件表入库,在「数据管理」 ->「事件管理」页面查看相关事件数据,事件名和在 Adjust 定义的事件名相同;impression, click, cost_update, ad_revenue 事件映射表如下:

activity_kind 的值说明入库 AE 后事件名
impression曝光adjust_impression
click点击adjust_click
cost_update成本adjust_cost_update
ad_revenue收益adjust_ad_revenue

五、常用 FAQ​

请查看 Adjust FAQ 部分

六、Facebook(Meta)渠道名为空问题​

请查看Adjust归因渠道名称显示Unattributed一文

这篇文档对你有帮助吗?