概要:本文主要解答了广告主在AppsFlyer中使用Facebook Ads时经常会碰到的一些问题。
Facebook Ads疑难解答
为什么在AppsFlyer面板上看不到Facebook广告系列的点击?
默认情况下,Facebook仅发送转化和互动数据。但要获取Facebook投放的点击、展示和成本数据也很容易。
如何停止成本数据同步?
如需停止与Facebook同步成本数据,请进入相关Facebook帐户的Business Integration(业务对接)部分,然后删除AppsFlyer 。
AppsFlyer能显示广告系列和广告组层级的数据吗?
AppsFlyer中的Facebook数据是实时的吗?
在FB上投放新的广告系列后何时能在AppsFlyer上看到相关数据?
在Facebook上投放的广告、广告组和广告系列只有在带来激活之后才能被AppsFlyer记录到。
假设您新投了两则广告,其中一则广告产生了100次点击,但是没有带来任何激活,该广告就不会显示在AppsFlyer面板或报告中。而另一则广告只产生了1次点击和1次激活,但AppsFlyer仍会显示该广告的数据。
如何充分利用Facebook拉动更多激活?
详情请见此文档。
AF是否向代理提供Facebook原始数据?
激活和应用内事件报告中没有Facebook原始数据
Facebook默认禁止用户级数据的分发。详情请见Facebook Ads高级归因。
AppsFlyer的效果报告中是否有Facebook的专用字段?
我可以使用AppsFlyer来衡量FMP的投放效果吗?
详情请见FMP归因设置指南。
收到以下警告消息要怎么办?
如果在AF中使用的归因窗口期与Facebook不同会发生什么情况?
如果您在AppsFlyer中设置的窗口期比Facebook短,那么AppsFlyer归因给Facebook的转化就会减少。但同时也没有必要在AppsFlyer中设置比FB更长的归因窗口,因为FB不会将发生在其归因窗口之后的激活归给自己。
因此,为了尽量减少数据差异,建议您在AppsFlyer中为Facebook设置点击7天、浏览1天的回溯窗口。
哪些是Facebook在API中的专用参数?
转化数据 | AppsFlyer原始数据 | |
---|---|---|
campaign | campaign | campaign_group_name |
campaign_id | Campaign ID | campaign_group_id |
adgroup | Ad | adgroup_name |
adgroup_id | Ad ID | adgroup_id |
adset | Adset | campaign_name |
adset_id | Adset ID | campaign_id |
ad_id | AD ID | ad_id |
agency | Partner | N/A |
is_fb | Media Source | is_fb |
af_channel | Channel | publisher_platform |
Facebook的用户级数据会在AF中保留多长时间?
历史汇总数据保持不变。
上述规则适用于所有的Facebook流量入口(Facebook主应用、Instagram、Messenger和AudienceNetwork)。
我能使用OneLink在Facebook上投放应用激活广告吗?
Facebook为广告主提供各种广告投放目标选项,包括应用激活(App Installs)、流量(Traffic)、转化(Conversion)。
流量和转化等大部分的投放目标都支持OneLink链接及其他三方链接。但对于应用激活目标,广告主只能使用Facebook App Links来实现深度链接。
可以在Facebook的动态产品广告中使用OneLink打开应用并进行深度链接吗?
可以。动态产品广告支持通过App Link、Universal Link或URI scheme配置的OneLink链接。若您在applink.ios_url和applink.android_url字段下的动态广告中使用商品目录,则可以在其数据流中使用OneLink链接。
Facebook Ads中常见的成本问题
在AppsFlyer面板中查看Facebook的成本数据
AppsFlyer可以获取Facebook上的广告消耗数据(包括点击和展示),但前提是相关广告系列在过去7天中必须至少拉动一次激活。
如果您在多个平台(安卓、iOS、PC端等)上投放Facebook广告,面板会呈现分平台的成本,这些成本数据是由Facebook计算的。
详情请见Facebook的点展消数据。
Facebook成本示例
如果广告主使用Facebook Ads投放广告,就会在AppsFlyer后台看到以下信息:
这些成本信息是由Facebook发送给AppsFlyer的,而激活数据则是由AppsFlyer基于我们自己的归因逻辑计算得出的,因此Facebook和AppsFlyer后台的eCPI数据一般都会有一定差异。
为什么AppsFlye面板上没有Facebook成本的历史数据?
完成首次Facebook管理员登录之后,AppsFlyer就会收到正在投放中的Facebook广告系列在过去7天内产生的历史成本数据。超过7天之前的成本数据不可用。
后续同步数据时,AppsFlyer也会接收最近7天的数据。也就是说AppsFlyer会收集所有广告系列的成本、点击和展示数据,前提是这些广告系列在过去7天中至少带来过1次转化。
为什么成本数据维持了几个月之后突然停止显示了?
Facebook可能会每隔几个月重置该权限。如果您发现面板停止显示成本数据,请重新完成Facebook管理员登录操作。
如果Facebook管理员用户更改了Facebook密码,则也必须重复登录操作。
我5分钟前点击了我的Facebook广告,为什么在AppsFlyer中看不到该次点击?
AppsFlyer会每隔几个小时定时从Facebook拉取汇总的点击、展示和成本数据。因此,可能需要几个小时才能将这些操作显示在AppsFlyer面板上。
是否能从Facebook拉取到点击和展示的原始数据?
AppsFlyer只能从Facebook获取汇总的点击和展示数据,因此无法提供完整的点击和展示原始数据。只有带来过激活的点击和展示才会出现在原始数据报告中。
Facebook的成本数据有没有地理位置维度的限制?
在AppsFlyer面板上按地理位置筛选数据时,可以查看Facebook成本数据的总结和明细。
地理位置维度仅适用于Facebook上的“Mobile App Install Campaigns”(移动应用激活广告)。
此外,按地理位置分组的成本数据仅适用于单平台的广告系列。也就是说,如果一个广告系列下既有投放给安卓用户的广告组,又有投放给iOS用户的广告组,您就不能分地理位置查看其成本数据。如需获取完整的成本数据,请分平台投放专用的广告系列 。
Master API的Facebook成本数据有什么限制?
在Master API中,Facebook不支持同时按地理位置(Geo)和流量入口(Channel)来分组显示成本数据。
如需拉取完整的成本数据报告,请仅选择其中的一个维度对其进行分组。
为什么总成本数据有差异?
由于Facebook和AppsFlyer的归因模型有所不同,因此会使两者的成本数据之间出现差异:
- Facebook跨设备归因:如果某次激活及其相应的成本数据分别出现在不同平台(iOS/安卓)的广告系列下,就会造成数据差异问题。
-
Facebook非移动端广告系列:在这些广告系列(如Facebook的链接点击广告)中,用户可能会在PC端与广告互动后在移动端安装应用。对于这类跨设备广告,AppsFlyer中不会显示其成本。但是,如果链接点击和应用激活是在同一台设备上完成的,AF就能收到相关的成本数据。
举例来说,假设某Facebook用户在PC端上点击某广告后跳转到对应的落地页。一周后,该用户在其iPhone上安装了该广告中宣传的iOS应用。在这类场景中,AppsFlyer面板上会显示该用户的激活及其归因信息,但没有该次跨设备激活的成本数据。 - 过去7天内未带来转化的广告系列 - AppsFlyer仅同步过去7天内带来过激活/转化的广告系列的成本。如果您刚刚启用Facebook的成本对接,则对于此前7天内转化为0的广告系列AF不会显示其成本数据。
为什么在总成本相同的情况下,AppsFlyer计算出的eCPI和Facebook不一样?
平均激活成本的计算方式是将总成本除以激活数量。由于AppsFlyer与Facebook统计激活的方式不同 ,因此两者的eCPI通常也会有所差异。
为什么成本数据不包含部分广告系列?
如果完成Facebook登录(见上文)的用户在Facebook中没有某些广告系列的权限,则AppsFlyer面板虽然会这些广告系列,但缺失部分成本、点击和展示数据。
注意:即使有多个用户有权限在Facebook Business Manager中投放广告,仍仅需一名用户完成Facebook登录。
Facebook的再营销广告有没有对应的成本数据?
您可以在群组分析报告的统一视图中查看成本和ROI数据。
为什么我还没登录到Facebook,成本配置窗口就自动关闭了?
如果您使用同一个浏览器进行Facebook登录和配置操作,则该窗口会使用相关的登录认证信息自动连接到Facebook,而此时如果您已完成AppsFlyer应用的授权,则无需再执行任何操作,因此该窗口就会自动关闭。
对于在Amazon应用商店中上架的应用,其成本数据为何会出现差异?
与AppsFlyer不同,Facebook不会区分安卓应用和Amazon应用(以安卓系统为基础)的成本数据。因此,Amazon用户的成本数据可能会被归到投放给安卓用户的广告系列,而归不到原本的Amazon广告。
Facebook Ads中常见的SDK问题
哪些场景中需要Facebook的SDK?
在接入AppsFlyer SDK之前,您可能已经在应用中安装了Facebook的SDK。如果尚未安装,那么您除了AppsFlyer SDK之外,是否还需要Facebook SDK?如果同时安装两个SDK是否会导致数据重复上报?
以下场景中无需使用Facebook SDK:
- 用户获取:一般来说,AppsFlyer SDK可以对所有来自Facebook的流量进行移动端的用户获取归因,归因范围覆盖广告互动、激活、应用打开(session)以及激活后的事件。
- 深度链接:如果您想让用户点击链接后打开应用,并通过深度链接将用户引导至应用中的具体页面或内容,可以直接使用OneLink实现,无需用到Facebook SDK,但您需要配置一个URI scheme来打开应用(Universal Link和Android App Link在Facebook平台中会失效)。Facebook会刮取OneLink链接,并以其为基础创建Facebook App Link,用于打开应用并对用户进行深度链接。
以下场景中需要同时接入Facebook SDK和AppsFlyer SDK:
-
延迟深度链接:
目前只能通过转化数据的历史调用方法读取Facebook的延迟深度链接数据。iOS和安卓应用都需要接入Facebook SDK,才能在调用转化数据时得到可用数据。但对于Google Play中的安卓应用,也可以通过Google Install Referrer机制来实现延迟深度链接。 - DPA投放数据:DPA(动态产品广告)的数据只能通过Facebook SDK来获取。
- 其他Facebook功能:Facebook的SDK可用于与归因无关的场景中,如身份验证、广告变现、社交分享、用户邀请等。
注意
上述关于深度链接和延迟深度链接的信息及建议是基于AF对Facebook广告的全面测试得出的,在这些测试中我们使用的是Facebook的演示/预览工具,其机制与实际投放的广告并不完全一致。
使用Facebook SDK避免数据重复
如果您的应用中同时接入了两个SDK,Facebook SDK会上报激活和应用内事件,然后再通过AppsFlyer回传到Facebook服务器。在这种情况下,您可以通过以下方式来避免数据的重复上报。
- 激活:Facebook会对应用激活数据进行去重 。如果Facebook SDK和AppsFlyer同时上报某个新用户的应用激活,Facebook仅会记录一次激活。如果用户应用首次启动时Facebook Ads SDK比AppsFlyer SDK先进行初始化,那么只有Facebook Ads会记录这次激活,AppsFlyer不会记录到该激活。因此请确保应用首次启动时AppsFlyer SDK会在Facebook Ads SDK之前完成初始化。
- 应用内事件:对于同时由Facebook SDK和其他来源(即AppsFlyer SDK)上报的事件, Facebook不会进行去重。也就是说,在不采取任何措施的情况下,Facebook可能会上报双倍的收入等事件,造成数据虚高。
您可以使用以下任一方法避免Facebook中的应用内事件重复上报:
- 不要在Facebook SDK中配置事件
- 对于安卓应用,您也可以停用AppsFlyer侧的Facebook应用内事件映射。
请注意:如要启用iOS 14.5+的SKAN归因,必须将应用内事件映射到Facebook Ads。
Facebook Ads中常见的归因问题
如何将Facebook流量归因到代理
代理和FMP可以为AppsFlyer上的广告主代投Facebook广告或与广告主并行投放FB广告,并对其进行归因。为确保能将代理带来的流量准确归因到代理,代理投放的广告系列在命名时必须以代理名称开头。
请注意:对于iOS 14流量,一个广告账户下只能有一个代理投放广告。详情请见Facebook Ads和AppsFlyer之间的SKAN互通设置。
如需进一步了解代理账户和Facebook激活归因,请参阅此文档。
此外,代理无法更改Facebook的归因窗口期以及再营销配置。如有需要,代理需请广告主代为更改相关设置。
另外,代理也无法更改向Facebook发送的任何应用内事件回传。这是因为Facebook要求回传所有的激活信息,包括没有归因到FB的激活(即不是由代理带来的流量)。
广告主需完成下图所示的所有配置后,代理才能管理其Facebook上的广告投放:
第三方安卓应用商店的Facebook广告归因
Facebook不允许广告主为第三方应用商店(如百度等)中的安卓应用投放应用激活广告。
但是,您可以按照以下说明在Facebook上宣传并记录第三方商店的应用激活:
- 开发人员必须针对每个第三方应用商店都准备一个单独的APK包。详情请见此文档。
- 在Facebook中创建一个Traffic(流量)或Conversion(转化)广告系列,并启用移动归因,让潜在用户跳转到相关落地页。
- 落地页中必须设计一个下载应用按钮,直接链接到APK包所在的第三方商店。
- 潜在用户点击按钮后跳转到第三方商店,并完成应用激活。然后AppsFlyer会通过MMP API将该用户归因到Facebook。
注意
上述解决方案也适用于Google Play和App Store中的应用,用户需要先跳转到相关的落地页,然后才能进入商店。
如需进一步了解Amazon应用的Facebook归因,请参考此文档。
Facebook的安卓与iOS跨平台归因是如何实现的?
Facebook是通过Facebook账号来识别用户的,而有些用户会将同一个Facebook账户同时关联到其iOS和安卓设备。
如果此类用户在其安卓设备上点击或浏览了相关应用的广告,然后在iOS设备上激活了该应用,Facebook会将该次激活归因给自己。这种情况就会导致iOS应用的面板中出现安卓广告系列的名称。
示例
Andrew Josef在使用其安卓设备时点击了一则Facebook广告,该广告向其推广了一个名为Bubbles的安卓应用,但他当下没有下载该应用。
过了一天,Andrew Josef决定在其iOS设备上直接下载并打开(即自然激活)Bubbles。在该场景中,AppsFlyer会在iOS版Bubbles(即Andrew Josef最终下载并打开的应用)的面板上展示最初的那个安卓Facebook广告系列。
Facebook Ads的流量入口(channels)有哪些?
对于Facebook的数据,您可以使用的细分维度包括广告系列、广告组、广告素材以及Facebook流量入口(在Facebook中称为Placements)。
- Facebook主站 —— 来自Facebook应用的用户
- Instagram——来自Instagram应用的用户
- Messenger——来自Facebook Messenger应用的用户
- AudienceNetwork——Facebook旗下其他应用的用户
您可以使用流量入口维度来比较Facebook下各渠道的用户质量。