Update:2026-03
在上一篇文章中,我们介绍了iOS App的安装来源追踪方式。本篇将转向Android,解释一个看似简单、实际上非常复杂的问题:
用户从哪里下载并安装了你的App?
以前,Android归因高度依赖IMEI、MAC地址等设备标识符。但随着Android系统不断收紧隐私权限,传统硬件ID逐渐退出广告归因体系。
与此同时,中国大陆又缺少统一的Google Play分发环境,形成了华为、小米、OPPO、vivo、应用宝等多个应用市场并存的生态。因此,海外Android归因和国内Android归因走出了两条不同的路线。
Android安装归因到底在匹配什么?
假设用户经历了下面的过程:点击广告 → 进入应用市场 → 下载并安装App → 首次启动App → 上报激活事件
真正的难点在于:App首次启动时,如何知道这次安装对应的是哪一次广告点击?
网页归因通常可以通过Cookie、URL参数和浏览器存储关联用户行为。但App安装过程中会经过浏览器、广告平台、应用市场和App多个环境,普通URL参数不会自动穿过整个安装过程。
因此,归因平台必须找到一种方式,将“广告点击”和“App首次启动”关联起来。
Android归因方法的分类
Android归因可以从两个维度理解。
按数据如何完成关联
| 归因机制 | 基本原理 | 常见方式 |
|---|---|---|
| 匹配式归因 | 分别采集点击和首次启动阶段的信号,再进行匹配 | GAID、OAID、设备信号、IP+UA |
| 参数传递式归因 | 应用市场保存点击参数,安装后由App读取 | Google Play Install Referrer、华为Install Referrer |
| 渠道包归因 | 在不同安装包中预先写入渠道标识 | 华为包、小米包、OPPO包等 |
| 自归因平台 | 广告平台在自身数据范围内判断归因,再返回结果 | Google Ads、Meta、TikTok、Snap等 |
这些机制并非完全互斥。一个MMP可能同时使用Install Referrer、广告标识符和概率性信号,然后按照内部优先级选择最终结果。
按归因结果的确定程度
| 类型 | 含义 | 示例 |
|---|---|---|
| 确定性归因 | 点击与安装之间存在可直接验证的共同标识或传递参数 | Install Referrer、GAID/OAID匹配 |
| 概率性归因 | 没有共同ID,根据多个环境信号推测两次行为属于同一设备 | IP地址、User-Agent、时间窗口 |
| 聚合式归因 | 不提供用户级匹配结果,而是返回聚合或受隐私保护的衡量结果 | Android Privacy Sandbox相关机制 |
有多种不同的分类方法,接下来按数据如何完成关联的角度来看具体的方式。
匹配式归因
匹配式归因是Android归因体系中最传统、也是最复杂的一类方式。
根据匹配精度的不同,又可分为:
精准匹配
精准匹配是传统移动归因中最常见的确定性方法。
过程如下:用户点击广告时,广告平台或第三方监测平台获取设备ID及渠道信息;用户下载安装并首次打开App(first_open);App再次上报设备ID;通过ID一致性完成渠道归因
这种方法成立的前提是:
- 广告平台可以在点击阶段提供相应标识符;
- App能够在首次启动阶段获得同类标识符;
- 用户没有重置或限制该标识符;
- 广告平台与MMP之间已经完成对接;
- 数据采集符合系统权限和隐私政策要求。
这也是为什么AppsFlyer、Adjust、Branch等MMP会维护支持的媒体合作伙伴列表。没有建立数据对接的平台,即使使用了同一个MMP,也不一定能完成确定性匹配。
Android常见标识符
| ID类型 | 当前定位 | 主要限制 |
|---|---|---|
| IMEI | 不可重置的硬件标识符 | Android 10后普通应用基本无法访问,不应再用于常规广告归因 |
| GAID | Google提供的可重置广告标识符 | 依赖Google Play服务,用户可以重置、删除或限制使用 |
| OAID | 中国移动安全联盟及设备厂商推动的匿名设备标识符 | 厂商支持、系统版本和SDK兼容情况可能不同 |
| Android ID | Android系统提供的应用范围标识 | Android 8.0后与应用签名、用户和设备有关,不是跨App广告ID |
| MAC地址 | 网络接口标识符 | 已受到严格限制,不适合作为移动广告归因标识符 |
| App实例ID | 某个App安装实例的标识 | 适合识别App实例,无法直接跨应用匹配广告点击 |
GAID在中国大陆为什么经常不可用?
GAID是Google Advertising ID,由Google Play服务提供。
在包含Google移动服务的Android设备上,GAID曾经是最重要的广告归因标识符之一。但中国大陆销售的大量Android设备并未预装或启用Google Play服务,因此这些设备通常无法提供GAID。
此外,GAID是用户可重置、可删除的广告标识符,并不是永久设备ID。
OAID为什么成为国内常见方案?
OAID是中国移动安全联盟与设备厂商共同推动的匿名设备标识符。
它的目标是在IMEI、MAC等硬件标识符受到限制后,为广告、归因和效果衡量提供一个可以重置或受用户控制的替代标识。
模糊匹配
当广告点击和App首次启动之间没有共同标识符时,归因平台可能使用模糊匹配,也称为设备指纹匹配,:IP+UA归因
原理说明:通过比对点击阶段与激活阶段 的IP 地址、User-Agent(系统、机型、版本等),在时间窗口内进行关联匹配
过程如下:
需要注意:如果多个用户共用同一个公网IP,判断就可能出错。
所以,模糊匹配因更适合作为无法使用确定性信号时的补充,而不是优先方案。
传递式
INSTALL_REFERRER广播:已经废弃的旧机制
早期Google Play通过INSTALL_REFERRER广播向App传递安装来源参数。
广告链接可以包含经过编码的referrer参数:
https://play.google.com/store/apps/details?id=com.ichdata&referrer=utm_source%3Dtest1%26utm_medium%3Dtest2%26utm_campaign%3Dtest3
utm_source=test1&utm_medium=test2&utm_campaign=test3
由于传统广播方式存在以下问题:
- 广播可能被其他App监听;
- 恶意App可能抢先发送伪造广播;
- 数据可能被篡改;
- 广播可能没有及时送达;
- 不同Android版本和设备上的行为不够一致;
- 容易产生Install Referrer Hijacking等归因作弊。
Google在2020年3月停止支持传统INSTALL_REFERRER广播,开发者应改用Play Install Referrer API。
因此,旧广播机制只适合作为归因技术演进的历史背景,不应再作为当前实施方案。
Play Install Referrer API:Google Play安装归因的标准接口
Play Install Referrer API由Google Play商店提供。
当用户点击带有referrer参数的Google Play链接并安装App后,App可以通过Install Referrer API向Google Play查询安装来源信息。
其流程如下:用户点击推广链接 → Google Play保存referrer和点击时间 → 用户下载并安装App → App首次启动 → App调用Install Referrer API → Google Play返回安装来源信息 → App或MMP完成归
有几个字段是时间戳的,就可以用于验证、计算CTIT(点击安装时间 ,Click to Install Time)等,用于归因欺诈检测。
这种方式的优点:通过Install Referrer API传递数据,更安全;有更多的时间戳信息,可以用于反作弊。
华为AppGallery也提供Install Referrer相关能力,部分文档中称为智能分包参数。
渠道包:国内应用市场常见的来源识别方式
由于Google Play在中国大陆的覆盖有限,国内Android应用通常需要分发到多个应用市场,渠道包的做法是为不同应用市场生成不同的安装包,并在每个包中写入唯一的Channel ID,App首次启动后读取并上报这个值,就可以知道安装包来自哪个市场。
局限性:
- 只能识别安装包来源:如果同一个应用市场中的多个广告系列共用一个安装包,渠道包通常只能告诉你“来自小米应用商店”,不能直接判断是哪一个广告、素材或投放计划带来的安装。
-
打包和维护成本较高:渠道越多,需要生成、测试和上传的安装包越多。版本更新时也需要管理不同渠道包的一致性。
- 安装包来源不等于广告来源:用户可能从第三方网站获得某个渠道包,也可能发生转载、盗包或重新分发。因此,包内的Channel ID只能证明安装的是哪个包,不能绝对证明用户此前点击了哪个广告。
- 无法单独解决归因作弊:渠道包可能受到盗包、换包、刷激活等作弊行为影响。它通常需要结合签名校验、激活数据、反作弊系统和其他归因信号使用。
自归因渠道:归因结果由广告平台计算
自归因渠道通常称为Self-Attributing Network或Self-Reporting Network,即SAN或SRN,是指那些能够在其自有平台上,独立完成广告效果归因的大型广告平台,凭借庞大的生态和数据优势,掌握了归因的主动权,常见的SAN包括 Meta (Facebook, Instagram), Google Ads, Snapchat, TikTok Ads、 Apple Search Ads (ASA) 等。
SAN通常是通过第三方归因合作伙伴(Mobile Measurement Partner, MMP,如Adjust、AppsFlyer)对外提供服务。
以一个典型的App安装为例,SAN的归因流程通常是这样的:
- 用户点击广告:用户在SAN平台(如Facebook)上点击广告并下载了App。
- SAN记录事件:SAN平台记录下这次点击,并关联用户的设备ID。
- App首次启动:用户打开App,App内集成的MMP SDK被激活,记录下一次安装。
- MMP发起查询:MMP通过API向SAN平台发起查询,并附上该用户的设备ID。
- SAN返回结果:SAN平台在自己的数据库中找到与该设备ID匹配的点击记录,并将归因结果返回给MMP。
- MMP最终裁定:MMP收到SAN的归因结果后,会结合来自其他渠道的数据,进行最终的核查和去重,以确保归因的公正性。
Android归因应该如何选择?
现实中的归因系统通常不会只使用一种方法,而是建立多层匹配优先级。
一个简化的决策顺序可以是:
| 场景 | 优先考虑的方式 |
|---|---|
| Google Play分发 | Play Install Referrer API |
| 华为AppGallery分发 | 华为Install Referrer |
| 广告平台属于SAN/SRN | 使用平台与MMP的官方集成 |
| 国内媒体与设备支持OAID | OAID确定性匹配 |
| 只能识别应用市场 | 渠道包 |
| 没有确定性信号 | 在政策允许的前提下使用概率性归因 |
| 需要衡量App内转化 | SDK、服务端回传或平台官方API |
小结
Android App安装归因的核心问题,是如何把广告点击与安装后的首次启动关联起来。
目前主要方法包括:
- 使用GAID、OAID等合规标识符完成确定性匹配;
- 使用Google Play或华为AppGallery的Install Referrer传递安装参数;
- 从Google Ads、Meta、TikTok等自归因平台获取官方结果;
- 使用渠道包识别应用市场来源;
- 在没有确定性信号时使用概率性归因;
- 在隐私受限场景中使用聚合衡量和建模。
其中:
- IMEI和MAC不应再作为常规广告归因标识符;
- OAID是中国大陆Android归因的重要信号,但并非覆盖所有设备;
- Play Install Referrer API适合Google Play安装场景,不能覆盖整个Android生态;
- 渠道包只能证明安装包来源,不一定能证明具体广告来源;
- IP+UA是概率性判断,不能等同于确定性归因;
- SAN的归因结果主要由广告平台计算,MMP通常负责接收和展示。
Android归因已经不再是“找到一个永久设备ID”这么简单。真正可行的方案通常是根据广告平台、应用市场、设备环境和隐私要求,组合多种归因信号,并清楚标记每种结果的可信度和适用范围。




