投放移动端广告强依赖于提供移动归因服务的MMP(Mobile Measurement Platform,比如 Adjust、Appsflyer、Branch.io、Singular 等),而我们一直面临的问题是 MMP 和广告平台之间存在一定的数据差异或数据不一致。
由于移动归因方法的复杂性,我们在比较 MMP 和广告平台时,必须接受永远不会有 100% 准确的数字,特别是对于自归因平台 SRNs(Self-reporting Networks)),通常情况下,数据差距在 10% 以内可以被认为是“可容忍的数据差异”(甚至对于日级别的数据,有时候会更高一些),但如果数据差距超过 10%,并且当你观察更长时间周期,如每周或每月数据时,问题仍然存在,这种场景下可以理解为是“不可容忍的数据差异”,因为它可能会影响你对你的营销活动的评估,是需要投入资源去解决的。
在这里,我列出了“可容忍的数据差异”和“不可容忍的数据差异”发生的常见原因。
MMPs 与 广告平台之间,“可容忍的数据差异” 常见原因
以谷歌广告和 Meta 广告为例,下面的原因也发生在大多数其他自归因平台 SRNs 上
数据差异的原因 | Google Ads | Meta Ads | MMPs |
Timezone 时区 (特别对于日级别的数据) | Varies - based on account settings | Meta ads' default reporting time zone is PST. Make sure to | Varies - sometimes for a report generator like Adjust, its default with UTC+0, can change it on settings |
Attribution Window: Click-attribution lookback window 归因窗口期-点击归因 | 30 Days | 7 Days | Normally is 1-30 days. Make sure to set to 7 days with Meta ads, and 30 days with Google Ads |
Attribution Window: View-through attribution lookback window 归因窗口期-曝光归因 | 1 Day, but View-through conversions only show in the All conversions column and not in the Conversions column, unless set otherwise in Google Ads. | 1 Day | Appsflyer: 1 Day by default, but can change from 1-48 Hours Adjust: by default no View-through attribution only 7 days click, but can config View-through attribution |
Different conversion dates | Google Ads attributes the conversion to the Click time | Facebook reports installs and other conversion events as the day of click | MMPs report installs as the day of install (i.e., first app open) and report in-app events when they happen. |
Reinstalls | Google Ads show reinstalls as a session_start conversion. | Meta Ads consider reinstalls as new conversions after attribution window | MMPs normally have a 90 days re-attribution window, within 90 days reinstall won't be count as new install. |
Multi-channel source attribution | Google Ads, as an SRN, attributes all installs following engagements with Google Ads, within their attribution window. | Meta ads self-attributes installs regardless of other media sources. | MMPs normally use last-click attribution more attribution method for different MMPs refer to blow links: |
因此,为了确认 MMP 和广告平台的配置以解决数据差异,我在下面列出一个Checklist:
确保 MMP 和广告平台的时区相同:
确保从 MMP 到广告平台的时区设置是一致的,这有助于减少因时区差异导致的数据不一致,特别是在检查日级别数据时。
检查每个广告平台在 MMP 中的归因窗口设置,并确保它已设置为与广告平台对齐:
检查并调整每个广告平台在 MMP 中的归因窗口设置,确保它们与广告平台的设置相匹配,以减少归因差异。
观察更长时间周期的数据,如每周数据,以减少由于转化日期差异造成的差异:
通过分析更长时间周期的数据,可以帮助平滑日常波动,减少由于转化日期不同导致的数据差异。
检查是否有大量的 Reinstall 重新安装导致了差异:
重新安装可能会影响数据的准确性,检查并考虑这些因素可以帮助理解和解释数据差异。
如果你同时运行多个广告平台,MMP 上的数字通常会低于广告平台,因为 MMP 使用来自所有广告渠道的最后一次点击归因:
当运行多个广告平台时,由于 MMP 通常采用最后一次点击归因方法对所有平台去重,所以一般会低于各个广告平台报告的转化数。
MMPs 与 广告平台之间,“不可容忍的数据差异” 如何解决
如果你已经进行了上述检查,但 MMP 和广告平台之间仍然存在很大的差距,或者 MMP 上的数据远高于广告平台,你可以将其视为“不可容忍的数据差异”,这时你需要检查更多的设置和广告平台和 MMP 到你自己的应用这三者之间的数据流,这里我列出了一些实际上经常发生的例子:
案例 1:谷歌广告显示的转化比 MMP(如 Adjust 或 Appsflyer)多 30%
谷歌广告上的转化目标 Conversion Goal,使用了来自 Google Play 的“下载点击”作为“主要转化”,但实际上从用户点击 Google Play 中的“下载”按钮到安装(首次打开)应用之间存在损失,而且所有重新下载的重新安装 Reinstall 也会在谷歌广告中被计为转化,因此产生了 30% 的数据差距。 建议如果你的应用中使用了 Firebase(一般都会有),请始终使用 Firebase 的“first_open”事件作为 install campaign 的主要转化,因为它代表了实际的安装,并且如果你使用 Firebase 原生事件,谷歌广告会提供更好的优化。 在将 Firebase 数据流连接到谷歌广告,并将 “first_open” 事件作为活动的主要转化目标导入后,安装转化数据的匹配率迅速达到了超过 95%。
案例 2:Meta 广告显示的转化比 MMP(如 Adjust 或 Appsflyer)少 70%
在这种情况下,Meta 上的安装转化远少于 Adjust 上的数据,检查后,我发现当前用于 Meta广告跟踪的 Meta Pixel 实际上使用的,是另一个只有网站 Web 数据的 Pixel。 所以,在广告账户 Ad account 级别,你可以看到这个广告账户已经新建了与 MMP 的 Pixel,Pixel 本身有近 99% 的安装 Install 和应用内事件准确性,但在 Campaign 级别,跟踪设置 Tracking setting 错误,使用了另一个网站的Pixel,因此安装 Install 数据无法正确连接到相应的 Campaign。 在把对应 Campaign 更改为具有来自 Adjust 的数据流的正确 Pixel 后,广告的的 Install 安装数据迅速达到了与 Adjust 相比超过 90% 的匹配率,与谷歌广告不同,Meta 会不时刷新历史数据,因此历史数据也迅速与 Adjust 中的数据匹配上了。
我如何知道 MMP 中的安装和应用内事件数据是否正确?
如果我不确定像 Adjust 或 Appsflyers 这样的 MMP 是否记录了我的应用的所有安装和应用内事件,并想确认它是否已经 100% 记录并确认数据流是完整的? 这种情况尤其发生在初创公司没有合适用户分析系统时,确认这一点的逻辑,是找到一个有 100% 安装数据的可信数据源,我会推荐使用 Firebase 作为数据源,所有的 MMP 都提供了 Push API(如 Appsflyer)或 Callback(如 Adjust),允许你访问原始数据流,请参考我的另一篇文章 "使用 Firebase 的 "first_open" 事件来验证 MMP 的安装数据"。