ROI360 Cost ETL报告的设置和使用

高阶付费

概要:AppsFlyer ROI360解决方案中的Cost ETL可为广告主提供最详细的分渠道投放成本。该工具每天会对相关数据做4次更新,并将其写入您的云服务中,以备BI入库。

5896_CostETL_graphic__2_.png

关于Cost ETL

AppsFlyer ROI360解决方案中的Cost ETL可为广告主提供最详细的分渠道投放成本。每天会对相关数据做4次更新,并将其写入您的Data Locker云服务中,以备BI入库。

广告主可轻松将报表同时同步至多个云端目标,即使在更换云服务平台期间,各团队也能无缝访问多个服务中同步的数据。

报告类型

AppsFlyer提供两种类型的报告,以满足不同的分析需求。

1.Cost ETL报告

Cost ETL报告包含与AppsFlyer归因数据关联的广告成本信息,涵盖激活、重新归因、再互动等关键归因指标。

  • 摘要报告(summary report,默认):按媒体渠道汇总的高层级成本数据,适用于整体层面的成本与效果分析。
  • 国家/地区报告:按国家(使用两位国家代码,如US、CA、FR)细分的成本数据,适用于地域维度的广告表现与成本分析。
  • 渠道报告:(可选)按渠道(如YouTube、购物)细分的成本数据,适用于渠道层级的投放效果与成本分析。

设置与配置报告

查看报告字段

查看示例文件

  • 示例文件为CSV格式,Cost ETL文件将以Parquet格式发送至您的数据桶。
  • 报告维度和指标详见文件字段表。建议选择最适合您业务需求的维度和指标,具体的最优解视渠道而定。

2.全量成本报告(All Cost Report)

全量成本报告提供了全面的移动端与网页端广告成本视图,数据直接来自广告平台,不依赖于归因整合。如需收取全量成本报告,请联系您的AppsFlyer代表。

  • 应用ID(App ID)会如实显示为广告平台返回的值;若未获取到App ID,则显示为未知(unknown)。
  • 当前支持的数据来源包括:Google Ads与Meta Ads。

设置与配置报告

查看报告字段

查看示例文件。

  • 示例文件为CSV格式,Cost ETL文件将以Parquet格式发送至您的数据桶。
  • 全量成本报告的维度与指标与Cost ETL报告的数据结构相同。详细字段信息请参考字段说明表

 注意

如需收取全量成本报告,请联系您的AppsFlyer代表。

报告详情

数据时效性

投放成本数据:

  • 写入您的云服务或数据存储桶,以便您对成本数据进行查看、传输、入库。
  • 适用于您在Cost ETL中选择的所有应用,按天、按版本维度提供数据。
  • 数据每天写入四次(即后文中所说的“数据时效性:一日多次”)。
  • 涵盖当天和前6天(即本文中所说的“最近7天”),以及第14天、29天、88天的数据。 在数据入库时需要注意这一点。
    • 举例来说,示例:如果你正在处理的是2024年10月14日的数据文件,那么这个文件中应包含以下日期的数据:10月14日(当天)、10月13日(1天前)、10月12日(2天前)、10月11日(3天前)、10月10日(4天前)、10月9日(5天前)、10月8日(6天前)、9月30日(第14天)、9月15日(第29天)以及7月18日(第88天)。
    • 数据回滚是为了对上报的成本数据进行更新和校准。
  • 适用于匹配到归因(转化)、点击或展示的成本。
    请注意
    • 最近7天的数据是取自渠道的最新数据,而第14/29/88天的数据则是经过重新处理得到的。
    • 数据的回滚更新仅针对成本,不涵盖归因数据。

目录与文件名结构

本节说明了Cost ETL数据写入云服务或存储桶时所使用的目录和文件结构。

  • Cost ETL在目录中写入数据后,会有一个成功创建文件的标记,并总是带有该目录中最近的一个时间戳。
  • 文件夹/文件数量的规则如下:
    • 摘要报告:每天最多4个版本文件夹。
      • 每个版本的文件夹内包含最近7天数据的parquet文件。
    • 国家/地区或流量入口(Channel)报告:每份报表每日最多包含4个版本文件夹。
      • 每个版本的文件夹内包含的parquet文件以数字命名(从1开始)。
    • 【封闭Beta】全量成本报告:以国家/地区维度为基础,每天包含最多4个版本的文件夹。

Data Locker连接目录结构

///t=/dt=/v=<1/2/3/4>/

组成部分 内容
client-bucket 在云服务中配置的存储桶名称
DL-generated-partition 系统为每位客户生成的唯一分区标识
connection-name 在设置 Data Locker 时定义的连接名称
t 指定报表类型,可能值包括:
  • cost_etl_summary
  • cost_etl_geo
  • cost_etl_channel
  • [Closed beta] cost_etl_all_cost_geo
dt
  • 报告日期(即报告发送时间),格式为:
  • YYYY-MM-DD
v
  • 每日报告的版本号(每日最多4份),
  • 为1至4之间的整数。
Parquet文件编号,
  • 从00000开始,
  • 示例:part-

Cost ETL连接目录结构

/cost_etl/version/dt=/b=//

组成部分 内容
advertiser_bucket_name 在Cost ETL配置中设定的存储桶名称:af-xpend-cost-etl-<af-account-id>-[您的存储桶名称后缀]
cost_etl 始终为“cost_etl”
version Cost ETL的版本
date

成本数据的日期

格式:yyyy-mm-dd

batch 以数字1-4命名
dimension 数据维度:
  • geo
  • channel
file_name
  • summary
  • all-cost
Parquet file number(文件编号)
  • 从00000开始,
  • 示例:part-

 示例:对于2020年6月23日中首次拉取的数据,其目录及文件名结构如下:/bucket-name/cost_etl/v1/dt=2020-06-23/b=1/geo/part-00001

文件字段

字段/维度

字段 说明 是否默认填充 格式 是否包含在摘要文件中
ad 广告层次结构中的一个层级 字符串 -
ad_account
  • 提供成本数据的广告账户
  • 适用于通过oAuth(使用证书登录)实现连接的广告平台,如Google或Meta ads
字符串 -
ad_id 广告层次结构中的一个层级 字符串
adset 广告层次结构中的一个层级 字符串 -
adset_id 广告层次结构中的一个层级 字符串 -
af_bid_strategy 经过AppsFlyer映射和标准化的竞价策略。该字段是广告系列属性的一部分,详情请见此处说明。 字符串  -
af_cost_model 由AppsFlyer对成本模型进行映射和归一。该字段是广告系列属性的一部分,详情请见此处说明。 字符串  -
agency 投放广告的代理商 字符串 -
app_id AppsFlyer后台的应用ID 字符串
bid_amount 该字段是广告系列属性的一部分,详情请见此处说明。 整数 -
bid_strategy 该字段是广告系列属性的一部分,详情请见此处说明。 字符串  -
campaign 广告层次结构中的一个层级 字符串 -
campaign_id 广告层次结构中的一个层级 字符串 -
campaign_objective 该字段是广告系列属性的一部分,详情请见此处说明。 字符串  -
channel 广告层级中的维度 字符串
cost_model 该字段是广告系列属性的一部分,详情请见此处说明。 字符串  -
currency 广告消耗的货币单位,即您在AppsFlyer后台的应用配置中设定的货币单位。 ISO-4217中的3字母字符串
date 由渠道上报的成本发生日期 格式为yyyy-mm-dd的字符串
geo 广告层级中的维度 ISO 3166中的2字母字符串
keyword_id ASA关键词ID 字符串 -
keyword_term 用户在线搜索时使用的字词。 字符串  -
media_source 展示广告的媒体渠道 字符串
original_bid_amount 该字段是广告系列属性的一部分,详情请见此处说明。 整数 -
original_currency 由广告平台上报的成本货币(未换算) ISO-4217中的3字母字符串 -
OS 指设备操作系统。可用值包括:
  • Android
  • Windows Phone
  • iOS
字符串 -
平台 用于投放广告的平台(移动、平板、桌面和CTV) 仅限全量成本报告 字符串 -
site_id 子渠道ID 字符串  -
timezone
  • AppsFlyer储存数据时用到的时区
  • 广告平台用来上报数据的时区可能与AppsFlyer后台配置的时区不同。这是AppsFlyer与广告平台之间出现数据差异的原因之一。
字符串  -

指标

字段 说明 是否默认填充 格式 是否包含在摘要文件中
ccvr
  • 单次转化成本
  • 计算方式为:成本/(激活量+再归因+再互动)
  整数
clicks
  • 由AppsFlyer统计。
  • 同时包含UA和再营销数据。
  • 总点击量中不含深度点击量
  整数
clicks_discrepancy
  • 广告平台和AppsFlyer之间的数据统计差异。
  • 如果出现以下情况,请忽略该指标:
  整数
cost 广告消耗金额(包括相关的代理费用)   参数值
cost_without_fees 剔除代理费后的成本。由AppsFlyer统计。 整数 -
cpi
  • 由AppsFlyer统计。
  • 计算方式为:成本/激活量
  整数
ctr
  • 点击率由AppsFlyer统计。
  • 计算方式为:点击量/展示量
整数
cvr
  • 转化率。由AppsFlyer统计。
  • 计算方式为:激活量/点击量
  整数 
cvvr
  • 视频完播率。由AppsFlyer统计
  • 计算方式为:视频完播量/展示量
  整数
ecpc
  • 由AppsFlyer统计
  • 计算方式为:成本/点击量
  整数
ecpm
  • 由AppsFlyer统计
  • 计算方式为:(成本/展示量)* 1000 
  整数
fees 代理商在广告成本以外额外收取的费用。由AppsFlyer统计 整数 -
曝光量
  • 由AppsFlyer统计。
  • 同时包含UA和再营销数据。
  • 总曝光量中不含深度浏览量

如果某个指标没有可用值,则以0填充。

整数
impressions_discrepancy
  • 广告平台和AppsFlyer之间的数据统计差异。
  • 如果出现以下情况,请忽略该指标:
  整数 -
安装 由AppsFlyer统计   整数
installs_discrepancy
  • 广告平台和AppsFlyer之间的数据统计差异。
  • 如果出现以下情况,请忽略该指标:
  整数 -
original_cost 由广告平台上报的成本数据,以广告平台设定的货币为单位(未经换算),加上由AppsFlyer计算的相关代理费用(若有)   参数值  -
original_cost_without_fees 广告平台上报的原始成本数据,不含代理费用 整数 -
re_attributions 由AppsFlyer统计   整数
re_engagements 由AppsFlyer统计   整数
reported_clicks 由渠道统计   整数
reported_conversions 由渠道统计   整数  
reported_cvr
  • 广告平台上报的转化率
  • 计算方式为:上报转化量/上报点击量
  整数
reported_impressions 由渠道统计   整数
video_25p_views 视频播放至25%。由广告平台上报   整数
video_50p_views 视频播放至50%。由广告平台上报   整数
video_75p_views 视频播放至75%。由广告平台上报   整数
video_completions 由广告平台上报   整数

配置流程

设置Cost ETL

您需要具备管理员权限才能够完成以下配置操作。

前期准备

配置Cost ETL前,您需要具备以下条件:

  • 已设置云服务,并授予AppsFlyer写入数据的权限也就是说,您需完成以下一种或多种云服务的设置:
  • 您需要同时具有AppsFlyer管理员权限和后台(UI)权限才能完成Cost ETL的设置。

AppsFlyerAdmin_cn-zh.png 要设置Cost ETL:

  1. 在AppsFlyer后台的侧边栏中选择导出 > Cost ETL
  2. 选择或设置一个数据连接
    • 如果您已经设置了数据连接,可在连接下拉菜单中,选择您想要用于Cost ETL的连接。
    • 如果尚未设置数据连接,请点击在Data Locker中+新连接 并在此处创建连接:
      1. 为连接命名。
      2. 选择一个云服务数据宿端。此时可完成以下任一操作:
        • 选择S3
          1. 输入您的Amazon S3存储桶名称,必须手动在其中添加前缀af-
          2. 点击测试连接
          3. 确保未收到“存储桶路径无效”的报错消息。
          4. 选择该连接是否需要支持Adobe Experience Platform
          5. 点击保存
          6. 在Cost ETL设置中,在连接下拉菜单中,选择您创建的云服务。
        • 选择GCS
          1. 输入您的GCS存储桶名称
          2. 点击测试连接
          3. 确保未收到“存储桶路径无效”的报错消息。
          4. 选择该连接是否需要支持Adobe Experience Platform
          5. 点击保存
          6. 在Cost ETL设置中,在连接下拉菜单中,选择您创建的云服务。
        • 【Beta】选择Azure
          1. 输入您的连接名称存储账户名称以及密钥
          2. 确保未收到“存储桶路径无效”的报错消息。
          3. 选择该连接是否需要支持Adobe Experience Platform
          4. 点击保存
          5. 在Cost ETL设置中,在连接下拉菜单中,选择您创建的云服务。
        • 【Beta】选择Yandex
          1. 输入您的存储桶名称访问密钥(Access Key)和私人密钥(Secret key)。
          2. 确保未收到“存储桶路径无效”的报错消息。
          3. 选择该连接是否需要支持Adobe Experience Platform
          4. 点击保存
          5. 在Cost ETL设置中,在连接下拉菜单中,选择您创建的云服务。
        • 选择BigQuery
          1. 输入您的BigQuery项目ID和数据集名称。
          2. 点击测试连接
          3. 确保未收到“存储桶路径无效”的报错消息。
          4. 点击保存
          5. 在Cost ETL设置中,在连接下拉菜单中,选择您创建的云服务。
        • 选择Snowflake
          1. 输入您的Snowflake地区和账户ID。
          2. 点击测试连接
          3. 确保未收到“存储桶路径无效”的报错消息。
          4. 点击保存
          5. 在Cost ETL设置中,在连接下拉菜单中,选择您创建的云服务。
  3. 点击下一步
  4. 设置报告版本计划(UTC)
    1. 设置您要接收的报告数量(1-4)。
    2. 设置接收报告的时间。详情请见此处说明。
    3. 点击下一步
  5. 设置报告详情:
    1. 选择报告中显示的一个或多个应用。点击全选可自动添加后续加入的新应用。
    2. 选择最符合您分析需求的报告。请参阅报告类型部分的说明。
      • 默认选择摘要报告
      • 如需接收全量成本报告,必须选择国家/地区报告
    3. 选择报告中需要包含的维度。请注意:若选择了国家/地区报告,则默认包含地理位置维度。若选择了渠道报告,则默认包含渠道维度。 
    4. 选择报告中需要包含的指标。 
  6. 点击应用

编辑或更改连接

您可以编辑或更换数据连接,将数据发送至不同或其他的存储位置。 

请注意切换到现有连接后,您将无法恢复到之前的Cost ETL连接。

编辑连接

如需编辑连接详情

  1. 在AppsFlyer后台的侧边栏中选择导出 > Cost ETL
  2. 数据连接部分,执行以下任一操作:
    • 对于Data Locker连接,在连接下拉菜单中,将鼠标悬停在您需要编辑的连接上。系统将显示该连接的详情。点击在Data Locker中编辑
    • 对于Cost ETL连接,点击连接详情下拉菜单。系统将显示该连接的详情。
  3. 按照屏幕提示修改您的连接详情
  4. 根据提示点击保存更改应用

更改Data Locker连接

如需将当前使用的Data Locker连接更换为其他连接,请执行以下操作

  1. 在AppsFlyer后台的侧边栏中选择导出 > Cost ETL
  2. 数据连接部分,执行以下任一操作:
    • 如果您已设置好所需 Data Locker连接,可直接在连接下拉菜单中选择要用于Cost ETL的连接。
    • 如尚未设置所需的Data Locker连接,请点击在Data Locker中+新连接 并在此处创建连接。完成后返回到Cost ETL设置,从连接下拉菜单中选择该连接。
  3. 点击保存更改

将Cost ETL切换至Data Locker连接

前期准备

  • 切换至Data Locker连接后,您将无法切回原有的Cost ETL连接
  • 路径结构将更新为如下格式(不会影响报告数据内容):
    ///t=/dt=/v=<1/2/3/4>/

从已弃用的Cost ETL连接切换至Data Locker连接

  1. 在AppsFlyer后台的侧边栏中选择导出 > Cost ETL
  2. 数据连接部分,点击Data Locker连接
  3. 选择设置连接的方式:
    • 如果您已设置好所需数据连接,可直接在连接下拉菜单中选择要用于Cost ETL的连接。
    • 如尚未设置所需的数据连接,请点击在Data Locker中+新连接 并在此处创建连接。完成后返回到Cost ETL设置,从连接下拉菜单中选择该连接。
  4. 点击保存更改

更改AWS对象的归属

AppsFlyer将数据写入您的存储桶时,AWS平台默认该数据的所有者是AppsFlyer。您可能需要将默认归属权改为存储桶所有者(即您自己),具体取决于您的数据入库流程。  

请按以下步骤更改存储桶中数据的归属权:

  1. 登录AWS Management Console,打开Amazon S3后台,地址为https://console.aws.amazon.com/s3/
  2. Bucket列表中,选择存储桶名称,以启用S3 Object Ownership(对象所有权)。
  3. 进入Permissions选项卡。
  4. 点击Object Ownership下的Edit
  5. 选择Bucket owner preferred
  6. 点击保存

最佳实践

定时拉取报告

您可以利用定时拉取报告的设置根据实际需求获得最新数据。 

设定报告拉取时间时: 

  • 尽量选择离您BI系统处理数据的时间最近的选项。
  • 如果您合作的某个广告平台在提供前一天的数据时晚于其他平台,可以在该平台的数据可用时额外设置一次报告拉取。

数据覆盖

在拉取和分析数据时,建议您拉取某个日期和批次的数据,或用当前批次的数据覆盖之前收到的同一时段的数据,否则可能会出现重复数据

例如,在2月20日写入的第1批数据中包含2月14-20日的数据,但在2月19日写入的各批数据中也包含2月14-20日的数据。这种情况下,建议用最近收到的(即2月20日)数据覆盖掉之前收到的(即2月19日)数据。

国家/地区(Geo)与流量入口(Channel)

并非所有的广告平台都会同时提供所有维度的数据,最常见的例子就是Meta ads的国家/地区(Geo)数据和流量入口(Channel)数据。因此,我们将这两个维度的数据分为两个数据集。Geo数据集必定包含Geo数据,而 Channel数据集则必定包含Channel数据。

一般情况下,对大多数媒体渠道来说,Geo和Channel数据集中的数据完全一致。因此,您可以根据您的业务需求选用最合适的数据集(Geo或Channel)。

如果某个渠道的对接协议中不包含流量入口(Channel)上报,则流量入口字段为空,AF仍将其视为包含流量入口的数据。

汇总数据

Cost ETL能从广告平台侧提取最深入的数据,从而为广告主提供更细的颗粒度和更灵活的报告配置。建议您考量实际业务需求,并以最合适的方式对数据进行汇总,否则数据量过于庞大,难以汲取真正有决策价值的洞察。举例来说,如果您想要了解广告系列和国家层级的成本数据,可以仅拉取这些维度的数据。

广告平台数据的标准化

各广告平台支持的数据颗粒度不尽相同。比如Meta ads不提供子渠道层级的成本数据,而X Ads不提供国家/地区层级的成本数据。在对Cost ETL数据进行汇总时,需注意这方面的差别,确保您在对比各渠道时使用的数据具有可比性。

数据对比分析

Cost ETL提供的信息涵盖您所有的成本数据。Cost ETL中有时会出现AF面板上没有的广告系列数据,比如空耗的广告系列(即未带来激活的广告系列)产生的成本数据。如需对比数据,请在数据总览面板中找出具体的广告系列ID,然后将其面板数据与Cost ETL中的成本数据进行对比。详情请见成本数据可用性

合并Cost ETL和群组报告

您可以将Cost ETL报告和高级汇总群组报告(或Data Locker中的常规群组报告)相结合,导入BI系统。这两种报告合并后可以提供最全面、最准确、时效性最高的营销效果信息,其中包含点击、展示、成本、收入、应用内事件等各种数据。您还可以使用合并后的数据计算ROAS、CPA等等。详情请见此处说明。

其他相关信息

特点与局限性

特点 说明
时区 如果时区有所变更,则变更当天的成本数据会重复。详情请见此处说明。
数据时效性
  • 一天多次。Cost ETL的配置流程包含定时拉取报告的设置,您可以通过该设置来指定报告的送达时间。
  • 相关数据会在指定时间前的一小时内写入存储桶。也就是说,如果您选择的报告送达时间为早晨6,则该报告会在早晨5-6之间写入存储桶。
请注意:成本数据写入您的存储桶后,入库BI的数据量可大至数GB,小至数KB,具体取决于报告和parquet文件的大小。 
全量成本报告
  • 不包含Google Performance Max活动的成本数据。
  • 不支持广告活动名称变更
SKAN广告成本数据
  • 仅有当SKAN广告系列包含至少一个经典转化时(classic conversion)时,Cost ETL才会提供该广告系列的成本数据。
  • 对于仅包含SKAN转化的活动,广告主只有在以下情况下可获取成本数据:
    • 广告渠道为Twitter(X)或Meta,或
    • 相关广告渠道的对接状态为“不活跃”(Inactive campaign),即列表中第M列为“Yes”。