本文是 归因与度量 系列的第 1 篇(归因账本)。 全系列 3 篇:
一句话定位:解析 MMP 如何串联渠道互动与端内行为,应对隐私新规,并输出跨渠道唯一的结算账本。
需求方平台(DSP)报出带来了 100 次安装,搜索引擎平台报出 80 次,而广告主自己后台的数据只有 150 次新增——渠道侧加起来却有 180 次。这种差异往往是因为同一用户点击了多个渠道的广告,导致每个需求方都将该转化归功于自己。渠道自报自销,导致广告主手中缺乏一份能作为结算依据的中立账本。
正因如此,MMP(Mobile Measurement Partner)作为第三方移动归因平台的角色应运而生。它不仅接收各需求方的广告点击与曝光数据,同时也接收应用内 SDK 采集的首启数据。随后,MMP 使用同一套归因规则对所有渠道的安装数据进行匹配和计算。本文将以 AppsFlyer 为例,拆解 MMP 的归因机制与底层流转逻辑。
TL;DR
- MMP 实现点击与安装的匹配:MMP 通过 tracking link 记录互动事件,应用端 SDK 上报首次启动事件,只有两者成功匹配才能确认为渠道带来的安装量。
- 确定性匹配优先于概率匹配:优先使用设备 ID(如 GAID 或 IDFA)或安装推荐人(install referrer)进行精确匹配;缺失设备标识时,再使用设备指纹结合时间序列进行概率归因。
af_status标识转化归属:Non-organic表示由渠道引导的非自然量,直接关联预算结算;Organic表示自然量,也是各需求方容易发生「归因抢夺」的重灾区;Re-engagement表示老用户被成功召回。- 归因窗口属于商务条款:归因窗口的默认设置会直接影响结算成本;窗口拉长意味着广告主要为更多转化买单,必须根据真实的转化周期与渠道进行商务博弈。
- Postback 的双向数据流转:归因结果实时回传给渠道用于模型优化(如 oCPX),同时以 S2S 方式同步给广告主用于对账;付费等敏感事件应尽量采用服务器上报。
- IDFA 受限后的多源归因:引入 ATT 政策后,MMP 采用确定性匹配、概率匹配与 SKAdNetwork(SKAN)三路并行的方案;针对 iOS 与 Android 平台应避免采用统一的对账口径。
- SSOT 保障唯一结算依据:运用统一规则进行跨渠道数据去重,拦截点击洪水与安装劫持等异常流量,最终输出一份可用于财务对账的单点真实账本。
Table of contents
Open Table of contents
1. 痛点:如何确定每次安装的真实归属
在 PC 网页时代,转化跟踪依赖于 Cookie、Referrer 字段以及 URL 参数。但在移动端 App 生态中,整个链路被媒体(Publisher)、应用商店以及广告主自身划分为三个封闭的沙盒环境:用户在媒体中点击广告,随后跳转至应用商店进行下载,最后再打开广告主的 App。在这个过程中,并没有天然的标识符能够将「广告点击」与「首次启动」准确串联起来。
不仅如此,需求方对于广告曝光与点击的有效性定义各不相同,归因时间窗口的长短也没有统一标准。如果按照需求方的后台数据进行结算,无异于让裁判员兼任运动员。因此,广告主必须引入一个独立于需求方与供给方(DSP & SSP)、且能够对接所有渠道的第三方平台(即 MMP),用统一的标准来衡量所有的安装转化。
2. 匹配机制:MMP 串联两端沙盒
为了解决上述痛点,MMP 的核心逻辑在于同时观测广告互动与应用内行为,其具体实施方案分为两端:
- 对接需求方:下发携带特定参数的 tracking link。当用户产生广告点击时,信息首先上报至 MMP,然后再重定向跳转至应用商店。
- 对接广告主 App:在应用内集成 MMP SDK。当应用首次启动时,SDK 会上报设备信息等关键数据。
只有当两端的数据能够成功关联时,底层系统才能确定该次安装是由哪个需求方引导的。
MMP 通过 tracking link 获取点击事件,通过 SDK 获取首启事件,进而完成点击与安装的匹配,并将结果通过 Postback 回传给两端。
在 AppsFlyer 的数据模型中,常见的核心字段如下:
| 字段 | 含义 |
|---|---|
appsflyer_id | MMP 为设备生成的稳定全局标识符 |
advertising_id | 广告标识符,如 IDFA 或 GAID |
media_source | 投放渠道,如 facebook 或 googleadwords_int |
campaign / adset / ad | 广告活动 / 广告组 / 广告创意,决定了归因的颗粒度 |
click_time / install_time / first_launch_time | 点击时间、安装完成时间、SDK 首次启动时间 |
af_status | 归因状态,包括 Organic、Non-organic 和 Re-engagement |
is_retargeting / is_first_launch | 标记是否为再营销转化、是否为首次启动行为 |
3. 匹配策略:确定性匹配、概率归因与归因窗口
3.1 af_status 的业务分类
| 状态值 | 业务含义 |
|---|---|
Non-organic | 成功匹配到广告互动,属于需求方带来的转化,是广告预算结算的基础。 |
Organic | 未能匹配到有效的广告互动,计为自然下载;容易发生渠道争夺归因权。 |
Re-engagement | 成功通过再营销策略重新唤醒或召回的老用户。 |
3.2 确定性匹配优先,概率归因补漏
- 确定性匹配:当用户点击广告时,MMP 记录下设备的 GAID 或 IDFA(Android 平台可使用 install referrer)。当应用首次启动时,SDK 上报相同的标识符,从而实现一对一的精准匹配。只要能够获取设备标识,系统就会优先采用这种确定性最高的方式。
- 概率归因:当无法获取广告标识符时(典型场景为用户拒绝 iOS ATT 授权),MMP 会利用 IP 网段、设备型号、系统版本以及时间序列等信息生成设备指纹,并进行概率推断。例如,判定「相同 IP 网段和设备型号,在点击广告后几分钟内发生首启」为同一用户。这种方法虽然精确度有限,但能有效挽回部分因标识缺失导致的自然量流失。
3.3 归因窗口的设定
归因窗口定义了广告点击或广告曝光发生后,多长时间内产生的应用安装仍可被归功于该次广告互动:
| 归因窗口类型 | 默认时长 | 含义 |
|---|---|---|
| 点击归因 | 7 天 | 只有在点击发生后 7 天内完成的安装,才归因于该次点击。 |
| 展示归因(VTA) | 24 小时 | 在用户仅浏览广告而未点击的情况下,24 小时内完成的安装,归因于该次曝光。 |
| 再归因窗口 | 90 天 | 用于判定老用户被再营销广告召回的时间范围。 |
需要强调的是,归因窗口的长短直接决定了最终被判定为 Non-organic 的转化数量,进而影响广告主向供给方支付的费用。需求方倾向于拉长归因窗口以获取更多结算数据,而广告主则希望根据实际业务的转化周期收紧窗口。因此,这是买方与卖方之间商务博弈的关键条款,切忌盲目采用系统的默认技术配置。
4. 端侧数据采集:SDK 收集什么信息
归因仅仅是整个链路的起点。为了评估广告支出回报率(ROAS)和过滤异常流量,MMP SDK 会持续在设备端采集设备特征、流量来源以及应用内事件。以 AppsFlyer 为例,采集的信息主要包括:
- 设备与标识符信息:包含
appsflyer_id、idfa(需通过 ATT 授权)、gaid,以及设备型号、操作系统版本、屏幕分辨率和网络环境等硬件属性。 - 安装与来源属性:包含
media_source、campaign、adset、ad,详细的点击与安装时间戳,以及归因状态af_status。 - 应用内行为事件:包含
event_name、event_time、event_value、event_revenue,以及包含商品详情、货币类型等信息的event_parameters。这些事件是安装完成后衡量流量真实商业价值的核心数据。 - 环境上下文与安全标记:包含地理位置信息、延迟深度链接(deferred deep link)、设备指纹、异常标记,以及
att_status等隐私授权状态。
当安装后的用户产生一笔付费行为时,明细日志的结构大致如下:
{
"media_source": "facebook",
"campaign": "summer_sale_2026",
"af_status": "Non-organic",
"event_name": "purchase",
"event_revenue": 9.99,
"att_status": "authorized"
}
数据采集的广度与深度直接决定了后期数据分析的精细度,但同时也带来了更为严苛的合规责任。在涉及 GDPR、CPRA 或 PIPL 等区域法规时(详见 地区合规),必须严格区分「允许采集」与「能够采集」的边界。
5. Postback 回传:打通实时数据闭环
设备端采集的数据必须回传至外部系统才能发挥作用。当归因确立或关键应用内事件发生时,MMP 会通过 HTTP POST 请求,将数据实时推送至广告主预设的服务地址以及相关的各个需求方。
数据流转有两个核心出口,不可混淆:
- 回传至需求方:将确认带来转化付费的广告数据同步给如 Facebook 或 Google 等平台。这一步至关重要,它能反馈给需求方的出价模型进行算法调优,从而提升 oCPX 的精准度。
- 回传至广告主(S2S):将归因明细直接发送至广告主的业务后端或数据仓库。这构成了 BI 报表分析与多渠道对账的数据基础。
除此之外,MMP 通常还提供 Pull API 用于批量对账与历史数据补齐,并提供 Dashboard 供业务人员查看聚合指标。
对比这两种上报方式,对于付费、注册等直接关联广告费用的高价值事件,应尽量依赖广告主后端的 S2S 接口进行上报。必须避免盲目信任客户端回传的数据,因为客户端环境更容易受到恶意篡改和中间人攻击的威胁。
6. 隐私收紧后的归因演进:ATT、SKAN 与概率模型
前文所述的确定性匹配建立在稳定获取广告标识符的基础之上。然而,自 iOS 14.5 推出 App Tracking Transparency(ATT)框架之后,应用程序必须获取用户的明确授权才能访问 IDFA。授权率的普遍偏低导致 iOS 端的确定性归因大面积失效。为了应对这一挑战,目前行业普遍采用三种机制并行的方案:
确定性匹配最为可信,但在 iOS 环境下覆盖率骤降;概率匹配虽然能够弥补部分缺失,但精确度有限;SKAdNetwork 作为官方框架满足了隐私合规,但仅提供经过延迟和加噪的聚合级别转化数据。
- 确定性匹配:依然是归因的金标准。在 iOS 平台上仅覆盖已授权 ATT 的用户;而在 Android 平台,目前仍以 GAID 为主导(尽管 Privacy Sandbox 正在推进中)。
- 概率匹配:对于未授权用户,MMP 利用设备指纹与时间序列进行归因补漏。然而,随着 Apple 隐私政策的不断收紧,这种方案不可作为长期的核心依赖。
- SKAdNetwork(SKAN):这是 Apple 官方提供的归因框架。由系统级进程完成广告点击与应用安装的匹配,全程不暴露用户级别的设备标识符。广告主只能接收到延迟回传的、按
campaign聚合的粗粒度转化数据,且转化值加入了噪音,彻底切断了追溯单一用户行为的能力。
因此,MMP 如今面临的核心挑战,是将这三条不同口径的数据流拼凑成尽可能完整、准确的归因视图。正是由于数据口径的碎片化,引入单一数据源机制变得更加不可或缺。
7. SSOT 机制:构建唯一的真实结算依据
SSOT(Single Source of Truth) 并非简单地将各渠道的报表数据堆叠在一起。相反,它是指在统一的数据底座之上,运用一致的归因逻辑执行跨渠道去重计算。最终,系统向外输出唯一可作为财务结算依据的准确账本。
7.1 跨渠道去重与口径统一
面对前文提到的「渠道总数超过实际下载量」的冲突,SSOT 典型的解决方案是实施 Last-Click 归因模型(或按照合同约定的优先级规则)。这能确保一次转化只会被计算并归属于一个特定渠道。
通过 SSOT,将不同渠道各自申报的数据统一去重,最终输出一份单点真实的安装对账单。
不论是点击归因窗口、展示归因窗口,还是跨渠道优先级、异常流量拦截策略,只有确保所有的需求方都在统一的标准下接受衡量,不同渠道的 ROAS 才具备横向对比的价值。
7.2 将异常流量拦截前置化
掌握所有渠道的全量原始归因明细后,SSOT 也是进行异常流量监控的核心环节。例如点击洪水(Click Spamming)与安装劫持(Install Hijacking),都可以通过底层数据分析及时捕获(更多细节见 反作弊与 IVT):
- 识别点击洪水:恶意渠道海量伪造点击请求,试图让自然用户的首启事件碰巧落入自己的归因窗口内——通过分析「点击到安装」的时间分布是否异常平滑来排查。
- 拦截安装劫持:在真实安装即将完成的瞬间,伪造点击事件以抢夺自然或其他渠道的归因——通过识别异常的设备指纹,结合不合理的极短转化时间差来判定。
- 过滤设备农场与模拟器:通过检测高频重复的设备指纹,结合
is_emulator等 SDK 可疑行为标记来清理作弊量。
7.3 合规要求不应作为后期修补
在设计数据采集体系时,应遵循最小化原则,对敏感设备标识进行哈希脱敏处理。在提供报表查询时,应尽可能暴露分群聚合数据而非用户级的详细明细。同时,必须根据用户的区域位置动态下发符合当地隐私法规和 SKAN 的归因策略。SSOT 的目标在于提供一份可审计的结算台账,而不是毫无约束地留存所有的隐私敏感字段。
8. 生产环境的取舍与实践建议
- 根据产品的真实转化周期谈判归因窗口。对于金融或旅游类长决策周期的 App,7 天的默认窗口可能偏短;而对于冲动消费类的轻度应用,7 天又可能过长。这直接关系到广告费用的流出比例。
- 关键转化事件尽量通过 S2S 接口回传。客户端 SDK 的数据可作为参考维度,但在财务结算时,必须以广告主服务端自身记录的转化事实为准。
- 密切监控
Organic自然量的异常波动。如果某个渠道引流的同时导致自然新增比例出现诡异下滑,或者点击到安装的时间间隔分布异常平缓,需首先排查该渠道是否存在点击洪水作弊。 - 采用隔离的评估策略应对 iOS 与 Android 平台。针对 iOS 侧重利用 SKAN、概率归因结合少量确定性匹配的数据,而 Android 仍应以 GAID 确定性匹配为主——强行跨端统一衡量往往会带来评估偏差。
- 确立第三方验证的兜底策略。需求方后台的数据、MMP 的归因报表、广告主数据仓库中的记录往往难以完全一致。在产生纠纷时,应以 MMP 的数据作为独立仲裁标准,同时将广告主 S2S 回传的底层明细作为对账的最后防线。
- 以真实的 LTV 衡量渠道质量,切忌盲目追求低 CPI。获取单客成本极低的渠道,往往也是转化留存最差的渠道。必须将后链路的
event_revenue甚至长周期的生命周期价值完整对接至归因反馈模型中。
延伸阅读
同系列(归因与度量):
相邻链路:
- 程序化广告生态全景:归因上游的 DSP / SSP / Exchange。
- App 广告 SDK:变现 SDK 与 MMP SDK 在端上怎么共存。
- IAB TCF / 地区合规:同意与采集约束。
- RTA:第一方数据「问、不外泄」的对称模式。
- OEM 系统广告:预装场景下的 MMP 与 GAID。
一手资料:
- AppsFlyer. Mobile attribution & marketing analytics
- Apple. SKAdNetwork
- Apple. App Tracking Transparency