这节跟之前的公开课第3期:国内APP的跟踪监测原理与方案选择 大同小异,可以直接看原文。
APP用户来源追溯的三种方法
其实APP用户来源追溯是不止三种的,当然不同的分类方法可能得出不同的数量,在这一节里面,首先介绍国内跟踪的现状已经常用的原理,让大家在选择第三方工具的时候心里有个底,而不是只是看第三方宣传吆喝。
1、国内跟踪的现状
第一点是国内APP跟踪的现状,由于Google Play不能在大陆使用,说造成了现在国内安卓应用市场百花齐放,这给跟踪增加了不少难度;在正式进入正题之前,我们先来了解一下广告主和APP下载跟踪的整个流程,看这个流程主哪些参与者能够获取数据,看下图:
首先,是广告主,广告主通过广告平台去投放广告,吸引用户点击去应用市场下载APP,然后激活使用,在这个过程中,广告平台可以知道广告的展示和点击,应用市场可以知道下载,最终的激活这个数据就需要做跟踪才有的,激活的数据可以传递会前面不同的几个参与者,如应用市场,这个通常是操作系统本身才有的,如苹果的IOS和Google的google play,另一个是广告平台的,广告平台有些是目标优化或使用look alike这个功能,需要应用回传一些数据,最后一个就是广告主的,非常关心整个流程的转化,投入产出,ROI等,一般会使用第三方工具做监控,也就是我们这一节要讲到的。
目前操作系统主要是Android和IOS,虽然仍有部分使用微软的wp或其他的linux类的操作系统,但主流是安卓和苹果,可以说,手机系统,不是安卓就是苹果了
安卓的话,谷歌官方有个应用市场Google play,一般内置在系统里面,国外用户下载APP都是通过google play下载,APP的跟踪继续沿用web的逻辑,Google play能够传递传递referral参数,能够跟Google Analytics无缝对接。
但是在国内,由于一些政策因素,谷歌的这部分服务不能在大陆使用,国内的用户连不上google play,这个机遇催生了很多的应用市场,这跟跟踪带来的一定的难度,目前采用主要形式是渠道包,也就是每个渠道带一个包,内嵌一个id,通过id去识别;另一种方法是模糊匹配了,这个是比较少用的。
IOS的话,绝大部分的用户下载APP都是通过APP Store,只有部分越狱用户通过第三方市场去下载,现在越狱的已经很少了,所以这里主要讲解APP Store的跟踪方式,IOS是个比较封闭的系统,所以你能跟踪什么,能跟踪多少,取决于苹果开放了多少,目前苹果主要有3中跟踪方式
1、IDFA IDFA就是广告标示符,广告平台回传给第三方工具IDFA,用户下载后激活APP是也会回传IDFA,两者进行匹配。
2、cookie 用户点击推广链接的时候,链接上有广告参数,app在后台打开safari,然后将链接上的广告参数写入到cookie,然后跳转到app store下载,用户打开APP的时候,会沿用之前的cookie,实现广告参数的传递与回传。
3、模糊匹配,下载激活前后获取用户设备的指纹,如ip user agent idfa等,然后使用算法进行匹配。
2、跟踪原理详解
下面来看看每种方式的具体实现原理,首先来看看安卓平台的
Android—Google Play
google Play的广告参数有一个完善的机制,这个机制也可以被第三方工具使用个,我在有些网站有看到第三方工具对这个原理做了测试,下面以google analytics讲解Google play如何实现广告参数传递的。
首先是用网址构建器对APP的下载链接添加广告参数,需要注意app的网址构建器跟web是不同的,用户在从google play 下载APP的时候,BroadcastReceiver会发送一条带有Referral的广播给APP,用户打开APP的时候,前面的广播就会发给GA,GA的接收器就接收到这个referral,这个用户就带上了对应的渠道标签了。
google Analytics 和Google Play都是谷歌的产品,所以整个过程可以无缝链接的。
Android—国内应用市场
众所周知 Google Play 无法在中国使用,所以国内 Android 市场被数十家应用商店( 豌豆荚、百度助手、酷市场、360手机助手等等 )占领,应用市场可以分成两个阵营,一类是大型互联网公司,如腾讯的应用宝,百度的手机助手,360的360应用市场,另一个阵营是手机厂商的,如华为,金立,vivo,Android 渠道追踪主要围绕上述渠道展开。
具体来说就是开发者为每一个渠道生成一个渠道安装包,不同渠道包用不同的 Channel ID (渠道标识)来标识,这个id一直跟app绑定;当用户下载了 App 之后,ID会岁相关的数据发送回来,从而实现渠道的识别。
这种方式完全是为了适应我们大陆的情形的,如果要上传的应用市场多的,意味着需要打很多的包。
这种方法有个天然的缺点,就是只能定位到应用市场,不能做更细的广告系列划分。
安卓平台的模糊匹配跟ios的模糊匹配的原理只一致的,这部分放到ios里面讲,基本上模糊匹配不怎么会用在安卓上的。因为可行性很低。
iOS的发行渠道则与安卓有很大的不同,除了少数越狱的机器之外,大部分用户的App都是从 App Store下载的。iOS的“渠道”其实通常是指那些在其它App或者网页内部,提供到AppStore的链接的页面。因此,在iOS中追踪发行渠道,主要是追踪进入App Store相关页面的渠道信息。
但iOS的渠道追踪面临着一道无法逾越的鸿沟。正因为iOS的渠道分发都有跳转到App Store这一步,而Apple本身是不会提供太多信息给开发者,所以,对于整个流程的三个步骤:在某个渠道点击下载链接并跳转到App Store —> App Store内下载App —>用户激活App,这整个过程能获取到的信息的多少。取决于苹果开放了多少。
现在市场上大概有以下三种方式:
IOS— IDFA
通过IDFA进行追踪:IDFA 的全称是 Identifier for Advertisers ,即广告标识符的含义,这是苹果专门给各广告提供商用来追踪用户而设的标识。这个方案一般用在App里面打开下载链接这种推广方式。Gooogle Analytics是通过IDFA去跟踪的,通过非APP投放广告也是可以跟踪到的。
基本的方案是,媒体的App(例如微信,这里就是媒体1,2,3),会详细记录哪个IDFA点击了待推广App(例如)的链接(或是在微信中嵌入SDK去记录),而聚美本身,也会记录具体的哪个IDFA激活了聚美App,两者都将记录下来的IDFA上传至指定的服务器,进行对比,即可确定下载来源。在用户不重置系统,不还原广告的情况下,这种方式精准度比较高。网页不支持这种形式。
IOS— Cookie
基于Cookie的方式,iOS 9中新增的SFSafariViewController,这个类的API允许在app内打开一个safari浏览器,而不是一个app内部的webview。这个app内的safari和外面系统的safari是同一个,共享同一个沙盒,可以操作同一个Cookie,也就是说它可以跨App与Safari实现共享Cookie。
基于SFSafariViewController控件,当用户在App中通过它打开渠道页面时,我们可以将渠道信息写入Cookie中,并设置生效时间。当用户安装并激活 App后,再次使用SFSafariViewController上报激活信息,同时将Cookie中的渠道信息上传,通过匹配,便可确定下载来源。由于渠道信息保存在设备本地,因此匹配是100%准确的。
但是基于SFSafariViewController这种方式也有一定的弊端:首先,这个方案只能支持iOS9及以上版本的设备,但覆盖了绝大部分用户,此外,对于目前业界主流的一些推广渠道,如微信、朋友圈,它们尚未在App中使用SFSafariViewController控件访问网页,因此这部分渠道也无法使用精准匹配的方案。
IOS— 模糊匹配
模糊匹配,点击下载链接,会跳转到appstore页面,这个过程会触发一个服务端的请求,服务器来记录这次点击的设备信息,包括ip地址、机型等。同时,被推广App这边,也可以记录用户激活App时机器的一些基本信息,并上传至服务器。结合下载和激活的时间差,再结合设备的IP地址和机型等信息,大概可以模糊地识别出同一个用户先点击了下载链接,再激活了App,从而确定下载渠道。这种方式的精确度取决于前后两次数据收集的完成程度和算法。
市面上的做法有的是上述三种方式单一出现,有的是两两组合,总之不管是通过哪种方式,这都是我们想象出来的间接的方式,只能说是尽量的去接近准确,但不能做到100%准确。
越狱的。参考Android的内嵌ID/渠道打包
各自优缺点及国内可选的方案
下面来看看各种跟踪方式的优缺点:
Google Play的UTM跟踪方式是非常精准的,缺点是做国内市场的应用不适用
国内应用市场一般是采用渠道包的形式,缺点是只能跟踪到应用市场级别的数据,不能继续细分
对于IOS而言。
IDFA的准确度是非常高的,但是用户可能会关闭IDFA权限,重置系统、还原广告,数据会丢失
cookie的准确度也是很高的,但是IOS9以上适用,微信公众号广告、朋友圈广告仍然无法实现追踪
模糊匹配,这的很多厂商都在使用的一种方式,都强调倒高识别率,但是这个严重更依赖于两次收集的数据与算法,
一般来说数据会是idfa,ip user aget等信息,基本上,按优先级来说,第一个信息就能够匹配掉很高的比例了,收集多一个字段的信息,能够匹配更多,如idfa已经能够匹配八成的用户了,如果你用算法,可能是9成,也可能是6成,这个看你算法选型和调参的能力的,对于大部分人来说,这个是黑匣子的,即使第三方工具只是做了一个简单的优先级去匹配,然后对完宣称通过大数据,人工智能的方式去匹配,你也不知道的。
跟踪方式对比
下面看看几个工具的采用的跟踪方式,下面的数据主要是通过官方网站去找的,可能存在部分工具已经对跟踪方式左右优化调整的了,只是作为参考。
google analytics 采用referral和渠道包的方式,两种方式都有,所以国内也是可以用的,IOS的话是采用IDFA的方式
Adobe Analytics的 安卓端的没找到,苹果端口采用模糊匹配的形式
Umeng的,安卓采用渠道包,ios采用模糊匹配
growingIO 安卓是采用imei,苹果的话是优先采用IDFA,如果这个为空就采用模糊匹配
诸葛io 安卓采用的是渠道包,苹果的话有限采用idfa,其次是IDFv,IDFV是提供给APP开发者的唯一标示。
神策的话,安卓采用渠道包方式,苹果的话是采用Cookie和模糊匹配的形式
可以看到后面的三家,在ios的跟踪上都是采用两种方式的节奏,尽可能的去匹配准确,具体效果怎么样,只有它们知道了。
你要问哪种哪种比较准确,我也不知道,我只能说,目前各个第三方工具爆出来的数据,很多是公关数据,就高不就低的。
关于如何选型的:
预算够的,找有售后服务的:有问题,找乙方处理
免费的就找功能强的,用户群多的:遇到问题容易解决
只是看看数字,随意用个第三方工具就行
有看过我博客的人应该知道,我使用的是谷歌的方案,非要推荐,我推荐使用GA,但是目前GA是只能使用Firebase的。