欢迎访问我的博客,有问题可以在任意文章底部留言评论

APP来源追踪方式(归因)——Android篇

Attribution Haran 6年前 (2020-08-16) 34667次浏览 22个评论
文章目录[隐藏]

Update:2021-03

在上一节中,我们已经介绍了APP来源追踪方式(归因)——iOS篇。本节将重点聚焦Android生态下的App流量来源追踪方式。

近几年,移动归因领域正经历一次结构性变化:

  • Android 10之后IMEI受限
  • OAID在国内逐步推广
  • iOS 14隐私政策即将全面生效

这些变化共同推动了App归因方式的深度调整。可以说,App流量来源追踪正在进入一个“旧机制逐步退场、新机制尚未完全统一”的过渡期。

本文将分为两部分讲解,本篇重点介绍Android端的归因机制。

Android归因方式的整体分类

Android是Google于 2008年发布的移动操作系统,目前仍是全球出货量最高的移动系统。Android生态中拥有数百万App,一个最基础、也是最关键的问题是:用户是从哪里下载并安装你的App的?

归因实现机制来看,Android端的来源追踪方式主要可以分为两大类:

  • 匹配式归因(Matching-based):通过广告点击阶段与App首次激活(first_open)阶段 的数据进行匹配,通常依赖设备 ID或设备指纹信息
  • 传递式归因(Passing-based):在应用市场或设备层面,存在可传递渠道信息的机制,App激活时可直接获取渠道参数,实现来源识别

此外,从归因逻辑角度,还可以进一步划分为:

  • 确定性归因(Deterministic Attribution
  • 概率性归因(Probabilistic Attribution)

 

匹配式归因(Matching-based)

匹配式归因是Android归因体系中最传统、也是最复杂的一类方式。

根据匹配精度的不同,又可分为:

 

精准匹配(Deterministic Matching)

精准匹配,也常被称为设备号匹配。

基本原理:用户点击广告时,广告平台或第三方监测平台获取设备ID及渠道信息;用户下载安装并首次打开App(first_open);App再次上报设备ID;通过ID一致性完成渠道归因

过程如下:

APP来源追踪方式(归因)——Android篇

这一过程通常需要广告平台与第三方归因工具的配合,因此你会看到很多MMP(移动监测平台)会明确标注“支持的平台列表”,如果广告平台不支持,这种方式不可用。
常见可用ID

ID 类型 说明
IMEI 不可重置的硬件标识,Android 10 后已被系统禁止获取
GAID Google Advertising ID,可重置,依赖 Google Play,国内不可用
OAID 国内主流替代方案,由 MSA 联合厂商推出
Android ID 半永久标识,系统重置或刷机会变化
MAC 已逐步受限,不再推荐
国内主流现状:GAID在国内基本不可用,IMEI已被系统限制,OAID成为国内事实上的主流方案

不同工具内部的ID使用优先级并不一致,例如:

  • A工具的归因逻辑为:OAID>IMEI> Android ID>MAC,
  • B工具的归因逻辑为的为:muid(muid是IMEI的MD5)>OAID>Android ID >mac >IP+UA。

在实际使用中,很多平台会对ID进行MD5/SHA1加密,例如使用IMEI的MD5作为内部唯一标识。

 

模糊匹配(Probabilistic / Fingerprinting)

在以下场景中,精准匹配往往无法成立:

  • 无法获取硬件ID
  • Android Q及以后版本限制设备信息
  • 广告平台不支持ID回传

此时,就会使用模糊匹配(指纹归因) 作为兜底方案。

原理说明:通过比对点击阶段与激活阶段 的IP 地址、User-Agent(系统、机型、版本等),在时间窗口内进行关联匹配

通常被称为:IP+UA归因

过程如下:

APP来源追踪方式(归因)——Android篇

特点与局限

  • 不依赖广告平台支持,实现门槛低
  • 严重依赖算法、时间窗口和数据质量,精度通常在 70%~80%
  • IP 重复、NAT、代理等场景会显著降低准确率

对大多数广告主而言,模糊匹配的算法是一个完全的黑盒。

 

自归因渠道(SAN/SRN)

归因渠道称是Self -Attributing Networks(SANs)或Self-Reporting Networks(SRNs),这是由少数大型广告平台提供的归因机制。

原理是:APP集成大型广告平台的自归因 SDK,用户点击该平台广告并完成安装后,首次打开App时由广告平台基于自身掌握的曝光、点击、账号或设备信号在平台内部完成归因判断,并通过官方API将归因结果返回给移动监测合作伙伴计划(MMP),第三方仅接收结果,不参与归因计算与仲裁。

注:由于科技巨头/大型广告平台的强势地位,需要加入其建立的移动监测合作伙伴计划(MMP)才可以获取归因信息。

目前提供自归因的广告平台有:主要包括 Meta (Facebook, Instagram), Google Ads, Snapchat, TikTok (抖音), Apple Search Ads (ASA) 等。

国内分析工具,在不能满足MMP要求的时候,会采用通过第三方归因工具通过转发的形式,如导入Appflyer,Adust,Branch等第三方平台进行转发对接。

 

传递式(Passing-based)

渠道包(多包机制)

由于Google Play无法在中国大陆使用,国内Android生态形成了大量第三方应用市场,主要分为两类::

  • 互联网公司应用市场:应用宝、360、百度手机助手等
  • 手机厂商应用市场:华为、小米、OPPO、vivo、魅族等

渠道追踪主要围绕上述应用市场展开。

实现方式:为每个应用市场打一个独立渠道包,每个包内写入唯一Channel ID,安装与激活时回传该ID,实现渠道识别

过程如下:

APP来源追踪方式(归因)——Android篇

局限性:

  • 只能定位到应用市场级别,无法细分广告系列
  • 打包成本高,上传的应用市场多的,意味着需要打很多的包
  • 容易被渠道作弊或拦截,无法有效评估真实的线上推广效果

 

剪贴归因(已被禁止)

实现方式:通过在广告点击时将唯一标识写入剪贴板,App激活后读取并上报,实现归因。

该方式严重侵犯用户隐私,已被监管明确禁止,属于违法风险较高的实现方式,虽仍有厂商使用,但不具备合规性。

Install Referrer (旧版机制)

Install Referral是Google Play提供的广播机制,具体原理如下:

在投放链接上添加UTM参数(类似网页UTM的用饭一样),如:

https://play.google.com/store/apps/details?id=com.ichdata&referrer=utm_source%3Dtest1%26utm_medium%3Dtest2%26utm_campaign%3Dtest3

Google Play商店在用户安装完App后,会向App发送一个广播(Broadcast),其中包含了名为 referrer 的字符串。例如:

referrer=utm_source%3Dtest1%26utm_medium%3Dtest2%26utm_campaign%3Dtest3

在安装后第一次启动时,就可以从广播中读取这个referrer,用于广告归因、判断下载渠道等。

这种方式有不少缺点(导致被废弃的原因)

  • 容易被篡改(可被拦截或伪造)
  • 不稳定,不保证送达
  • 安全性低
  • 在某些 Android 版本行为不一致
  • 无法精准反作弊

因此Google在2020年3月正式宣布停止支持。

 

Install Referrer API(现行标准)

虽然Install  Referral 这个机制很好,但是可以作弊,Install Referrer会出现很多归因欺诈,很多工具应用都在主动通过INSTALL_REFERRER 广播机制发送广播去抢归因,每年都会看过很多国内的应用因为归因欺诈被Google Play下架,其中不乏很多在美股上市的公司。

为了解决于归因欺诈问题,谷歌在2017年推出了Play Install Referrer API,Install Referrer API是Install Referrer的升级版,在2020年更新了V2版本,提供更多的参数可以用于归因欺诈检测,而且从 2020 年 3 月起, Google 弃用了 INSTALL_REFERRER广播机制, 要求改用Play Install Referrer API。

目前只有Google Play和华为的应用市场支持Install Referrer API,如果国内的其他应用市场也提供Install Referrer API,那么国内的安卓应用的跟踪就不会那么混乱了。真心希望国内的其他应用市场也支持这个API机制 。

 

Google Play

为了提供更精准、可靠、安全的安装来源追踪,Google推出了Play Install Referrer API。

这一API是主流归因平台(AppsFlyer、Adjust、Kochava)普遍使用的方式,并在行业中被视为唯一可靠的Android安装来源标准。

与早期广播方式相比,它的优势非常明显:

  • 精准可靠:数据由Google Play官方API返回,不会出现莫名丢失。
  • 安全性高:不容易被篡改,能防止“假归因”。
  • 支持反作弊:可用于识别异常安装、快速安装等欺诈行为。
  • 被全球主流归因平台采用:包括Adjust、AppsFlyer、Kochava等。

Play Install Referrer API的逻辑跟:用户点击推广链接到Google Play安装APP,Google Play就会获取推广参数传递,APP安装后,首次打开的时APP就会主动通过Google Play的API去查询获取渠道信息,然后上传。

使用这个API,可以获取如下信息:

APP来源追踪方式(归因)——Android篇

有几个字段是时间戳的,就可以用于验证、计算CTIT(点击安装时间 ,Click to Install Time)等,用于归因欺诈检测。

延伸阅读:Google Play广告归因原理解析:从Install Referrer到Install Referrer API的演进

 

Huawei AppGallery

华为的是叫智能分包参数 (Install Referrer) ,开发者可以通过华为开放的API获取APP智能分包参数,可以看一下华为文档里智能分包参数整体的交互:

APP来源追踪方式(归因)——Android篇

通过 HUAWEI 提供的智能分包参数(Install Referrer),广告主可以全链条(曝光、点 击、下载、安装、激活、注册、下单等)分析下载类广告的转化效果:

  • 1. 广告主 APP 集成 SDK 或者 API 接口获取智能分包参数能力并上架应用市场。
  • 2. 广告主在华为广告平台投放 APP 下载类广告,并设置智能分包参数。
  • 3. 媒体 APP 请求并展示广告主投放的广告。
  • 4. 用户在媒体 APP 上点击广告主投放的广告,用户可以选择并下载安装广告主 APP。
  • 5. 应用市场(APP Market)将智能分包参数写入 Huawei Ads Kit。
  • 6. 用户在端侧激活广告主 APP 时,App 从 HMS 获取智能分包参数。
  • 7. 广告主 APP 上报激活事件,可使用智能分包参数分析 APP 转化效果

总结:Android归因的现实选择

总结一下,各种匹配方式的优缺点如下:

APP来源追踪方式(归因)——Android篇整体来看,当前Android归因策略通常是:

  • 优先确定性匹配:OAID/自有ID
  • 再降级至半确定性:Android ID、厂商 ID
  • 最后使用概率性匹配:IP+UA

再来看一下目前市场上一些工具的匹配方式:

APP来源追踪方式(归因)——Android篇

上述信息是基于各家官方文档信息,但由于有些文档未及时更新或不方便公布具体匹配规则,有些产品的官方文档演示图挂了也没人维护的节奏,或年久不更新,可能与实际真实的情况有差异,上图仅供了解,具体以官方为准。


有疑问可以在底部留言
喜欢 (63)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(22)个小伙伴在吐槽
  1. 看了好几篇文章,受益颇多,站长可以介绍一下小程序的归因吗
    Jack2023-09-30 10:40 回复 Windows 10 | Chrome 95.0.4638.69
  2. 国际市场GA的渠道归因是通过first_open上添加属性么??我找了半天也找不到怎么向first_open中添加渠道值的参数
    boom2022-12-01 11:54 回复 Windows 10 | Chrome 107.0.0.0
    • 老板的需求是,想看到每个渠道下的新增量,留存量,活跃量
      boom2022-12-01 11:57 回复 Windows 10 | Chrome 107.0.0.0
    • Haran
      不是,是通过应用市场的提供的传递机制,实现类似网站的UTM跟踪,可以参考:https://www.ichdata.com/the-google-play-ad-attribution-principle.html
      黄业忠2022-12-01 13:16 回复 Mac OS X | Chrome 108.0.0.0
      • 如果我的应用不走应用市场的方式、使用UTM跟踪是否会奏效? 如不奏效是否有其他能实现的方案?
        boom2022-12-01 14:03 回复 Windows 10 | Chrome 107.0.0.0
        • Haran
          不会奏效。可以走匹配的方式,但需要广告投放平台/媒体端支持
          黄业忠2022-12-01 14:13 回复 Mac OS X | Chrome 108.0.0.0
          • 收到,谢谢。 理解没错匹配式也是通过UTM的方式。需要投放平台支持就行。没错吧?
            boom2022-12-01 14:28 Windows 10 | Chrome 107.0.0.0
          • Haran
            匹配的核心在于需要获得能够识别用户的信息,前后能够匹配上,其次才是UTM,不能识别到用户,被断开了,有UTM也没用
            黄业忠2022-12-01 20:26 Mac OS X | Chrome 108.0.0.0
  3. 即使是传递式。也是需要知道用户的设备id和广告id之类的信息吧
    Mayer2021-07-16 00:31 回复 Linux | Chrome 91.0.4472.120
    • Haran
      设备Id不用,广告信息有
      黄业忠2021-07-16 22:56 回复 Mac OS X | Chrome 91.0.4472.114
      • 有一个问题是,像appsflyer,adjust这样的平台,我们创建跟踪链接之后,他们是怎么获取到用户的设备信息的呢
        M2021-07-18 19:52 回复 Mac OS X | Chrome 91.0.4472.114
        • Haran
          链接被打开的时候通常会异步上传监测信息
          黄业忠2021-07-18 21:47 回复 Mac OS X | Chrome 91.0.4472.114
      • 这里的广告信息指的是啥? referrer吗
        M2021-07-22 14:36 回复 Mac OS X | Chrome 91.0.4472.164
        • Haran
          如UTM参数
          黄业忠2021-07-22 17:10 回复 Mac OS X | Chrome 92.0.4515.107
  4. 有个小问题:就是如果app是跳转gp下载的话,我们可以拿到referr,然后使用install referr去匹配,但是如果我们不是在gp下载,获取不到referr的话,就是优先用gaid下载吗
    Mayer2021-03-28 17:22 回复 Mac OS X | Chrome 89.0.4389.90
    • Haran
      install referral已经停用,现在是install referral api,需要成为GP的监测合作伙伴或认证才可以去主动查询。国内用不了gaid,国内的是oaid或IMEI
      黄业忠2021-03-28 18:04 回复 Mac OS X | Chrome 89.0.4389.90
    • 明白,因为我们这边是海外市场,所以还是跳gp的哈哈哈,但是因为海外市场也有很多小米,oppo手机,很多用户也会在自带的应用商店下载,这样的场景的话是不是就采用了gaid匹配呢
      Mayer2021-03-28 19:01 回复 Mac OS X | Chrome 89.0.4389.90
      • Haran
        海外归因产品一般是GAID。国内的就不一定
        黄业忠2021-03-28 19:19 回复 Mac OS X | Safari浏览器 604.1
  5. 国内的手游公司一般是是打几百个渠道包来对广告层级进行监控
    aspirincap2021-01-06 10:20 回复 Windows 10 | Chrome 87.0.4280.88
    • Haran
      比较粗略的跟踪,要细致一些可以用第三方归因工具,用知名的,如果有组建AFF,结算一般要求知名的第三方归因
      黄业忠2021-01-06 10:26 回复 Mac OS X | Chrome 87.0.4280.88
      • 第三方数据安全堪忧?
        破破2021-01-26 23:04 回复 Mac OS X | Chrome 86.0.4240.111