概要:成本导入(Cost Import)功能是AppsFlyer ROI360解决方案中的一部分,能全面满足广告主的投放成本上报需求。如果您的合作渠道不支持通过API或点击上报成本,您可以手动上传广告消耗数据,从而记录投放成本。
成本导入
完整的投放成本数据
成本导入功能适用于不通过点击上报成本的渠道,帮助您对这类渠道的成本数据进行汇总,这样您就能在面板中看到完整的投放成本和ROI数据。
记录成本时,广告系列是必须包含的维度,其他的投放维度是可选的。如需导入广告消耗(即成本)数据,请将相关CSV文件上传到面板,面板会在导入完成后的4小时内呈现最新的汇总成本数据。
广告主和广告平台都可以发送并管理消耗数据文件。代理可以制备需要导入的文件,但必须由广告主来上传这些文件。
如有需要,您也可以覆盖之前导入的广告消耗数据。
使用场景示例:
- 若相关广告平台不通过API或归因链接发送成本数据,可使用此方法记录来自这些平台的广告成本
- 通过电台和榜单等线下渠道进行推广
- 网红营销
如需调整成本导入配置,请从后台进入配置> 成本导入。 请注意:成本导入是一个账户层级的页面。也就是说,广告主可以在这个页面中管理相关账户下所有应用的成本导入。
制备、上传和导入广告消耗文件
广告消耗数据文件的制备、上传和导入共有以下两种流程可选:
- 在AppsFlyer后台的成本导入页面中上传文件。
请注意:- 建议您先尝试这种文件上传方式。因为使用这种方式时,如果文件格式或内容出错,界面会立刻弹出报错消息,便于您进行必要的调整。
- 此方法不适用于CTV、PC和主机平台上的应用。
- 通过邮件上传文件。
- CTV、PC和主机平台上的应用仅可使用此方法。
下文分别解释了这两种流程。
上传流程
流程:在AppsFlyer后台的成本导入页面中上传文件。
步骤 | 说明 | 链接 |
---|---|---|
1 |
仅适用于广告平台的步骤: 广告主需要先向相关平台开放权限,然后该平台才能发送文件 |
开放成本导入权限 |
2 |
制备CSV文件 请注意:代理也可以制备其成本数据文件。了解详情 |
CSV文件的格式和栏位 |
3 |
在成本导入页面中上传并导入文件 |
|
4 |
导入完成后,可通过成本导入页面监测导入状态:
|
成本导入操作 |
其他流程:覆盖之前的导入数据 |
覆盖之前导入的消耗数据 |
流程:通过邮件上传文件。
步骤 | 说明 | 链接 |
---|---|---|
1 |
广告平台侧的前期准备: 需要让广告主向平台开放相关权限,然后该平台才能发送文件。 |
开放成本导入权限 |
2 |
前期准备:获取Ad Spend token |
获取Ad Spend token |
3 |
制备CSV文件 请注意:代理也可以制备其成本数据文件。了解详情 |
CSV文件的格式和栏位 |
4 |
通过邮件发送文件 |
|
5 | 导入顺利完成或出现问题时,AppsFlyer会通过电子邮件发送状态报告。 | |
6 | 通过成本导入页面监测导入状态:
|
成本导入操作 |
其他流程:覆盖之前的导入数据 |
覆盖之前导入的消耗数据 |
流程
CSV文件的格式和栏位
本节详细说明了广告消耗数据文件的格式、栏位和验证规则。如果您使用Excel或Google Sheets来创建该文件,请务必参照Excel格式说明进行操作。
下图列出了创建CSV文件时最容易出现的一些错误,请在实际操作中着重留意。
下文详细说明了广告消耗数据文件的格式、栏位和验证规则。如果您使用Excel或Google Sheets来创建该文件,请务必参照Excel格式说明进行操作。
备注
请勿使用Excel或Google Sheets来查看CSV文件,或检查其格式是否正确。请在编辑器中查看文件并检查格式。
CSV广告消耗数据文件的内容规则和栏位
注意事项 | 规则 |
---|---|
禁用字符 |
字段须以字符串格式填充,且不能以 |
媒体渠道 |
|
应用拥有者 |
一个文件中只能包含一个广告主(应用所有者)的数据,但可包含该广告主下多个应用的数据。 |
文件扩展名 |
CSV文件名示例:abc123.csv |
文件结构 |
|
广告层级 |
任何比广告系列粒度更细的不完整数据都会覆盖对应广告系列层级以下的所有数据。 举例说明:假设您导入了某广告系列下adset 1的成本数据,然后在另一个文件中单独导入了同一个广告系列下adset 2的成本数据,则该广告系列的总成本会被替换为adset 2的成本数据。为了确保能记录到该广告系列的总成本,您导入的文件中必须同时包含adset 1和adset 2的数据。 |
CSV广告消耗数据文件的栏位
字段名称 (区分大小写) |
格式/备注 |
示例 |
是否必须发送 |
---|---|---|---|
date |
|
2019-05-30
|
✓ |
app-id |
|
|
✓ |
media-source |
|
network_x_int |
✓ |
campaign |
|
campaign_a |
✓ 请注意:如果归因数据同时带有名称和ID信息,那么CSV文件中也必须同样带有名称和ID。 |
spend |
|
2874.12345
|
✓ |
geo |
格式:字符串 ISO 3166中的国家代码,由两个字母组成。 英国的国家代码是UK而非GB。 |
US, CN, AU
|
否 |
currency |
|
USD, GBP, EUR, JPY |
否 若该字段留空,则默认使用USD(美元)。 |
campaign-id |
格式:字符串 |
abc1234def |
不可以。 请注意:如果归因数据同时带有名称和ID信息,那么CSV文件中也必须同样带有名称和ID。 |
adset |
格式:字符串 | my_adset_1 | |
adset-id |
格式:字符串 | id5678ghi | |
ad |
格式:字符串 | my_ad_name | |
ad-id |
格式:字符串 | id91011jkl | |
site-id |
格式:字符串 | id1213mno | 否 |
channel |
格式:字符串 | video | 否 |
keywords |
格式:字符串 |
|
否 |
agency |
|
AgencyName | 否 |
请注意:如果名称中带有非英文字符,必须使用UTF-8对其进行编码。 |
获取Ad Spend token
Ad Spend token用于验证邮件发送方是否已获得授权,可以提交成本导入文件。广告主和广告平台分别有其各自的token。
注意事项
- 广告主切勿将token共享给广告平台。
- 广告平台有其专用的token。
-
广告主侧token:
- 一个账户下的所有应用共用同一个token。
- 一个账户下的所有用户都可以获取该token。
-
广告平台token:
- 所有广告主共用同一个token。
- 此外,广告主还需要为广告平台开放文件导入权限。
获取Ad Spend token的方法如下:
- 在AppsFlyer后台的左侧菜单栏中选择配置 >成本导入。
- 点击页面右上角的查看Ad Spend token。
界面会显示Ad Spend token。 - 复制并保存该token。
向广告平台开放导入权限
通过邮件发送成本数据
前期准备:
-
广告主:
- 需获取Ad Spend token。
- 邮件发送方必须是已注册的AppsFlyer用户。
-
广告平台:
- 需获取Ad Spend token。
- 邮件发送方必须是已注册的AppsFlyer用户。
- 广告主需要向渠道(即广告平台)开放成本导入的权限。
请按以下步骤通过邮件发送广告消耗数据文件:
- 填写邮箱地址:
-
收件人:
adspend-upload@appsflyer.com
- CC:抄送给需要收到自动回复的用户
- 主题:将Ad Spend token复制粘贴到主题栏中。
- 附件:包含相关数据的CSV文件。
-
收件人:
-
发送邮件。
- 数据处理完毕后,我们会向您发送状态报告邮件,邮件中说明文件上传的总体情况以及处理数据的过程中发生的具体问题和错误。原始邮件中抄送的各方以及广告主账户的管理员都会收到该邮件。如果邮件中说明出现错误,请进行必要的更正。请注意:若未接收到状态通知邮件,请参考此处的说明。
- 您可以在成本导入页面中查看已提交文件的导入状态。
上传广告消耗数据文件
广告消耗数据文件的上传方式如下:
- 在AppsFlyer后台的左侧菜单栏中选择配置 >成本导入。
界面会显示成本导入页面。 - 点击+ 导入广告消耗数据文件
界面会打开“导入广告消耗数据”的窗口。
- 将CSV文件拖拽至导入广告消耗数据文件的窗口内。
界面显示“正在处理文件”的消息。 - 如果在上传过程中报错:请修正错误,然后重复相关步骤。
- 界面会打开成本导入:文件摘要窗口。
- 此时可完成以下任一操作:
- 点击取消导入中止上传。
- 点击导入文件完成导入流程。
上传完毕后,界面会显示“准备就绪”的消息。
- 点击导入其他文件或完成。
管理成本导入
您可以在成本导入页面中完成以下操作:
- 监测文件的导入状态:有时可能会发生导入失败或导入数据不完整的情况,这时您需要找到这些文件并重新上传相关数据。
- 查看不匹配数据的指标:如果匹配成功的数据占比过低,说明数据中可能有错误。
- 下载已提交的CSV文件副本
- 撤销(取消)导入
已上传的文件以及不匹配报告的查看权限:
- 相关帐号下的所有用户都可以访问成本导入页面
- 该账户下的用户如需查看详细信息,需获得相关应用的权限。
- 如果文件中包含多个应用的数据,则该账户下的用户仅在获得所有这些应用的权限后才能查看其详细信息。
成本导入操作
如需查看文件层级的导入状态:
您可按以下方式查看应用层级的数据上传状态:
- 选择相关文件。
界面会显示应用层级的文件状态页面,并列出该文件中所包含的应用。 - 按以下说明完成文件层级或应用层级的操作:
-
文件层级:如果您具备文件中所有应用的权限,就可以使用页面右上方的控件完成以下操作:
- 撤销(取消)文件中所有应用的成本导入。
- 下载之前上传的CSV文件副本。
-
应用层级: 如果您只有某个应用的权限,可以使用操作控件完成以下操作:
- 下载该应用的数据。
- 下载该应用的未匹配数据报告
- 撤销(取消)文件中选定应用的成本导入。
状态解读
界面消息 | 说明 |
---|---|
已生效 | 操作成功 |
还原 | 操作成功 |
处理数据时出错 |
AppsFlyer系统问题。请等待10分钟,然后重试。若仍无法完成上传,请联系AppsFlyer的技术支持团队。 |
无权限 |
该token未授权给此应用
|
验证错误
|
数据匹配状态报告
数据匹配是指AppsFlyer系统通过数据导入机制将导入文件中的广告消耗数据各行与AppsFlyer面板中记录到的归因数据进行匹配。该机制会对文件栏位中所有维度的数据都进行匹配,包括媒体渠道、广告系列、广告组、广告等等。如果文件中某行数据的所有维度都与面板数据匹配,AppsFlyer会该行标记为is-matching=TRUE。
名称与ID
成本导入机制通过名称而非ID来识别相应的维度,如广告系列、广告组或广告的名称等,目前尚不支持仅通过ID上报消耗数据。
请注意:无论匹配状态如何,AppsFlyer都会记录相关的广告消耗数据。
示例:匹配行和不匹配行
日期 | 媒体渠道 | 广告系列 | 展示 | 点击 | 成本 | 匹配状态 |
---|---|---|---|---|---|---|
2019-01-01 | example | abc | 5000 | 100 | $1000 | is-matching = TRUE 找到效果信息 |
2019-01-02 | example | abc | is-matching = FALSE 2019-01-02没有效果信息 |
|||
2019-01-02 | example | influencer | $2500 |
is-matching = FALSE |
导入页面中会显示匹配行的占比。
如果出现意料之外的数据不匹配情况,请下载未匹配数据报告,以便考察问题根因。必要时请点击“撤销”按钮以取消数据导入。
未匹配数据报告中有一栏叫做is-matched,该字段可能出现的值为TRUE(表示匹配)或FALSE(表示未匹配)。
成本导入页面显示已匹配行的占比
覆盖(更正)之前导入的广告消耗数据
如果您新近导入的广告消耗数据文件与之前的文件具有完全相同的key,就可以覆盖(更正)之前导入的广告消耗数据。
这里的key由日期、媒体渠道和广告系列字段组成。系统发现匹配的key时,会使用新导入的数据覆盖之前导入的数据。
以下示例解释了广告消耗数据发生覆盖的场景。
示例:广告消耗数据的覆盖
+ 代表必填字段
示例A
周一导入Spend1.csv
Date+ | App ID+ | Media Source+ | Campaign+ | 广告消耗数据 |
---|---|---|---|---|
2019-06-01 | com.my.app | network_x | campaign_a | 100 |
周二导入Spend2.csv
Date+ | App ID+ | Media Source+ | Campaign+ | 广告消耗数据 |
---|---|---|---|---|
2019-06-01 | com.my.app | network_x | campaign_a | 200 |
Spend1.csv文件中的广告消耗数据会被spend2.csv文件中的数据覆盖。这是因为spend2.csv是最新导入的,并且构成key的字段与spend1.csv完全一致。 |
示例B
周一导入Spend3.csv
Date+ | App ID+ | Media Source+ | Campaign+ | 广告消耗数据 | 国家/地区 |
---|---|---|---|---|---|
2019-05-01 | com.my.app | network_x | campaign_a | 100 | US |
2019-05-01 | com.my.app | network_x | campaign_a | 200 | CN |
周二导入Spend4.csv
Date+ | App ID+ | Media Source+ | Campaign+ | 广告消耗数据 |
---|---|---|---|---|
2019-05-01 | com.my.app | network_x | campaign_a | 50 |
Spend3.csv中的广告消耗数据会被spend4.csv中的数据覆盖。这是因为spend4.csv是最新导入的,并且构成key的字段与spend3.csv完全一致。请注意:spend3.csv中的两行数据都会被覆盖。 |
问题排查
报错消息和解决方法
下表列出了成本导入时可能出现的所有报错消息和相应的解决方法。
报错消息 | 说明 | 解决方法 |
---|---|---|
AppsFlyer平台中不存在该文件所包含的任何应用ID。请确认文件中的应用ID是否正确。 | 您的账户中不存在该应用ID。 | 更正应用ID,然后重新上传。 |
[某某]行的字段数量有误。应包含[X个]字段,实际接收到[Y个]字段。 |
文件中所有的字段都必须含有字段值。 | 根据您定义的表头更改文件中填充的值。 |
文件表头中缺少“media-source”。 |
|
将media-source添加在表头行名。 |
一个文件中只能包含一个媒体渠道。发现该文件中出现多个媒体渠道:[媒体渠道数量]。 | 包含多个媒体渠道的文件是无法上传的。 | 将各媒体渠道的数据拆分到单独的CSV文件中分开上传。 |
字段[X]的值[Y]对此列无效。 | 相关列中的数据格式不正确。比如日期(date)字段的格式应为dd-mm-yy而非yyyy-mm-dd。 | 更正格式后重新上传。 |
在该应用下发现了多种货币。文件中的每个应用只能使用一种货币。发现的货币:%货币种类的数量% | 一个应用只能对应一种货币。 | 在文件中统一货币后重新上传。 |
文件表头中的以下各列不适用:[文件表头] |
文件表头与栏位名称不一致。表头的参数名必须与上文所列的栏位名称完全一致。 |
删除不适用的列,然后重新上传。 |
文件表头中缺少必须配置的列:[文件表头] | 文件表头中缺失必须配置的字段。 | 添加缺少的字段和对应的值,然后重新上传。 |
文件中包含了未来的日期:[日期] | 不可使用未来日期。 | 更正日期,然后重新上传。最晚的可用日期为当天的日期。 |
文件为空,没有待处理的数据。 | 文件为空, | 请在文件中添加数据,然后重新上传。 |
以下两行的维度完全一致,造成冲突。请将广告消耗数据按各组维度在单独的行中分开提供。[出现数据冲突的行] | 多行数据的key完全相同(即必填字段相同)。 | 请删除重复行,然后重新上传。 |
一个文件中只能包含一个广告主账户的数据。发现该文件中包含多个广告主:[广告主名称] | 广告平台上传文件时不能在同一个文件中加入多个广告主的数据。 | 请将各广告主的数据拆分到单独的文件中分别上传。 |
相关账户中不存在应用[应用ID]。请检查应用ID是否正确。 | 账户中不存在该app id。 | 请更正应用ID,然后重新上传。 |
未发现应用[应用ID]的地理位置(即国家代码)信息。请使用ISO 3166中的2字母代码。 | 地理位置字段值无效。 | 请更正地理位置信息,然后重新上传。 |
未发现应用[应用ID]的货币代码。请使用ISO 4217中的3字母代码。 | 货币字段值无效。 | 请使用有效的货币值更正文件内容,然后重新上传。 |
文件中一个或多个应用的验证出错。请重新检查文件信息以了解详情。 | 文件中存在多处错误。 | 请下载文件并查看错误详情。 |
处理文件时发生内部错误,请重新上传。 |
|
请等待一小时,然后重试。 |
广告消耗数据导入后无法呈现,或单独分行呈现
问题1:成本数据导入成功,但是面板未显示相关数据
- 请检查面板中是否重复出现相关广告系列的名称。
- 如果有重复出现的广告系列名称,请找出campaign ID为空的那一行。
campaign ID为空的那一行中包含面板未显示的成本数据。
问题2:导入的成本数据单开一行显示(即多出一行),而且没有效果数据(激活)。 该行的campaign ID字段为空。
原因:归因数据中同时存在广告系列ID和广告系列名称信息时,CSV文件中必须也同时包含这两种信息,这样AppsFlyer才能准确地将其匹配到对应的成本数据,并避免单独分行显示。
使用Excel对CSV文件中的date和spend字段进行格式化
如果您使用Excel/Google Sheets创建CSV文件,请务必先确认日期(date)和广告消耗(spend)字段的设置正确无误,然后再将文件保存为CSV格式。请按下文所述步骤对date和spend字段进行格式化。
保存CSV文件之后,请检查其格式是否正确无误。请注意:请勿使用Excel来检查文件格式,而须在编辑器中检查。
在Excel中对日期单元格进行格式化
在Excel中使用YYYY-MM-DD的格式对日期单元格进行格式化:
- 选中需要格式化的单元格。
- 右击Format cells(格式化单元格)。
格式化单元格的窗口打开。
- 选择Custom(自定义)。
- 在类型(Type)字段中,输入YYYY-MM-DD
- 点击OK。
日期格式化完毕。
在Excel中对广告消耗单元格进行格式化
如下图所示,Excel对数值单元格进行格式化时,通常使用逗号作为千位分隔符。此格式不适用于广告消耗导入文件。
您可以在Excel中对这些单元格进行格式化,便可更正此问题。
请按以下方式对金额进行格式化,勿使用千位分隔符:
- 选中需要格式化的单元格。
- 右击Format cells(格式化单元格)。
格式化单元格的窗口打开。 - 选择Number。
- 取消Use 1000 separator (,)(使用逗号为千位分隔符)的勾选。
- 【可选】设置数值的小数点后位数,默认值为2,最多可精确到小数点后5位。
- 点击OK。
单元格格式化完毕。
请勿使用Excel来检查CSV文件
如需检查CSV文件的内容,请务必在编辑器中查看该文件。
- Windows:Notepad、Notepad++
- MacOS:TextEdit
下图为CSV示例文件在编辑器中的截屏。
编辑器视图
在编辑器中检查CSV文件时请特别注意以下几点:
- 空格:请确保字段分隔符(即逗号)的前后没有空格。您可以在Excel中使用@trim命令来删除空格。
- 日期(date): 请确保日期字段的格式为YYYY-MM-DD。
-
广告消耗(spend):请确保spend字段中没有逗号。
Excel生成CSV文件时不使用逗号作为分隔符
如果Excel生成CSV文件时使用分号“;”等非逗号的字符作为分隔符:
- 这可能是因为您电脑的区域设置为非英语语言/地区。
- 当区域设置为德语时,此问题尤其普遍。
- 在不同的计算机操作系统(macOS或Windows)中解决此问题的方法不同。
- 如需解决此问题,请在Microsoft或其他论坛中搜索相关指南。您可以在搜索中使用以下关键词:Operating system (macOS or Windows) Excel change delimiter for CSV files(在macOS或Windows中通过Excel更改CSV文件分隔符)。
通过邮件发送广告消耗数据文件后未收到状态通知邮件
广告消耗数据文件尚未处理时会发生这种情况,这可能是由于以下各种原因导致的:
内容类型(content-type)错误
AppsFlyer仅处理multipart/mixed
类型的消息。由于其他类型的内容不会得到处理,因此也就不会生成并发送相应的状态通知邮件。一般情况下,邮件客户端会自动将带有附件的邮件自动设为multipart/mixed
。
您可以在邮件标头中查看内容类型,并确保邮件的内容类型(content-type)为multipart/mixed
。
- 如需在Gmail中查看邮件标头,请参考Gmail的相关文档。
- 如需在Outlook中查看邮件标头,请参考Outlook的相关文档。
邮件HTML格式不正确
HTML错误会使邮件无法得到正常处理。常见的HTML错误包括标签为空或缺失等等。请检查您的脚本,确保其中没有HTML错误。
附加信息
制备CSV格式的代理数据文件
广告主和代理都可以制备CSV文件,用于上传并导入成本数据。制备这些CSV文件时,请务必确保文件中包含一个带有代理名称(即af_prt参数的值)的Agency(代理)字段。详见CSV文件结构示例。
考虑:
- 一个文件中仅可包含一个代理,且不能出现非该代理代投的广告系列。
- 每行都必须包含该代理的名称。代理字段一列不能出现空白的单元格。
- 代理必须具备文件中涵盖的所有应用的权限。
- 只有广告主可以上传文件,代理不能上传数据。但代理可以制备文件,然后将这些文件发送给广告主,让广告主完成上传。
特点与局限性
特点 | 是否支持 成本导入 | 说明 |
---|---|---|
广告平台 | ✓ | |
代理商 | ✓ |
代理不能上传数据。但代理可以制备文件,然后将这些文件发送给广告主,让广告主完成上传。 |
代理数据透明化 | x | |
应用层级的指定时区 | ✓ | |
应用配置中的指定货币 | ✓ | 面板会按应用层级的指定货币对投放成本进行换算。 |
Campaign name(广告系列名称) | 不适用 | 请勿对不同的应用使用相同的广告系列名称,否则一个成本的成本会出现在个应用的数据中。 |
字段名称 | 不适用 |
如果与广告层级相关的字段名称与归因数据中的字段名称不一致,面板就会将相关数据分行单独显示。 举例来说,假设广告系列名称不一致,那么即使广告系列ID相同,面板也会将其视为不同的广告系列。 |
文件大小 | 不适用 |
上传CSV格式的成本导入文件时,文件大小限制如下:
|
自然量数据 | ✓ | |
非自然量数据 | ✓ | |
数据时效性 | 监测的 | |
历史数据 | ✓ |
上传文件后的90天内可以还原其中上报的成本数据,并在更正数据后重新上传。 |
再营销 | x | |
账户用户权限 | ✓ | 对于国家/地区或媒体渠道受限的用户不可用。 |