APP渠道来源方案探索
APP渠道来源方案探索
文章目录
- APP渠道来源方案探索
- 一、App渠道来源的原理
- 二、方案探索总结
- 1、公司自行实现Web端归因统计方案
- 2、采用第三方平台实现归因统计方案
- 1、在第三方开发者平台创建应用
- 2、移动端(iOS/android)SDK集成
- 3、测试阶段上传ipa/apk包,正式使用时配置应用市场的下载链接即可
- 4、在线测试
- 5、Web SDK集成
- 6、添加渠道
- 7、查看渠道报表
- 三、方案探索
- 1、**IDFA追踪**
- 2、iTunes Connect APP分析
- 测试验证
- 营销活动参数说明
- 3、第三方渠道工具集成:
- 1、openinstall
- 2、XINSTALL
- 3、Codeinstall
一、App渠道来源的原理
渠道来源统计,也称为归因,归因用于判断是什么原因促使用户下载应用,或在激活应用后进行各种操作(如再次打开或重新安装)
渠道来源的场景:
比如定义推广渠道有两种渠道:渠道A,渠道B
以“轻牛健康”为例,渠道A、渠道B分别对应两个不同的Web网页,两个网页访问时都做一样的重定向操作,都跳转到“轻牛健康”App的应用市场,并通过将两个Web网页生成不同的二维码,用于不同的推广渠道,比如将生成的二维码贴在售卖产品的包装盒上,分销于不同的店铺,用户在哪里买的产品,那么就有可能是从该产品引导下载安装的App
具体的流程如下:
1、用户通过扫描包装盒上的二维码,会跳转访问一个Web网页,Web网页加载时,会将当前用户设备的信息(设备唯一标识、系统版本、渠道途径)等上传给“服务器”
2、在访问Web网页的同时,页面也会重定向跳转至应用市场(AppStore或者Google市场),用户在应用市场下载安装“轻牛健康”
3、经过几分钟安装完成,用户启动“轻牛健康”
4、“轻牛健康”启动时,应用内自动获取当前用户设备的信息(设备唯一标识、系统版本)等上传给“服务器”
5、“服务器”将第4步收到的设备信息与Web发过来的设备信息进行对比,如果能匹配的上,则表明这次安装时由对应渠道链接引导安装的,如果匹配不到,则认为是自然流量安装
注:上面提到的“服务器”,可以是我们自己开发的服务器,也可以接入第三方平台服务器
以上步骤理论上是可行,但实际却面临很多难题,比如:
1、这里设备的唯一标识,因为iOS和安卓随着各自系统的更新,以及用户的隐私考虑,在Web端都无法获取设备的唯一标识等,只能用一些模糊匹配,比如获取设备的IP、UA、手机型号等
2、接入第三方平台的话,Web端和App端都需要接入第三方平台的SDK,用于统计App的行为等分析
二、方案探索总结
两种方案:
1、公司自行实现Web端归因统计方案
归因统计的原理基本已经知晓,使用Web端进行归因统计,最主要的点在于如何获取设备的唯一标识,根据现有资料查询并得出结论,网页端不能获取设备的一些广告ID,比如安卓的广告ID,iOS的IDFA,所以只能通过获取其他信息,进行加密规则,产生一个唯一标识
目前前端在Web端能获取的设备信息有:
- 系统:系统类型、版本号
- 设备:时区、屏幕大小、屏幕像素比、屏幕颜色深度、首选语言
- 网络:ip地址
这些信息可以一定程度的区分不同设备,比如在一些小众家庭的范围,不同设备能够做一定的区分,但在一些大型场合的推广,用户人数比较多的情况下,用户手机类型相同的概率较大,准确率会有一定的影响,以轻牛健康为例的推广来看,大多数场合应该是在小众家庭的场景下,或者个人,基本也能满足
注:目前还在让前端人员进一步探索Web端能获取的设备信息的途径
实现步骤:
1、服务器提供一个接口,作为统计接口
2、前端开发一个Web网页,获取设备的相关信息,通过加密规则生成一个唯一标识,并调用接口,将相关参数上传给服务器
3、用户访问Web网页时,重定向到应用市场,下载对应App
4、用户下载安装App后,App也获取“第二步中前端获取的相同“的设备的相关信息,使用相同的加密规则生成一个唯一标识,并调用接口,将相关参数上传给服务器
5、服务器将第四步中获取的设备信息与第二步中的设备信息做对比,如果匹配上,则表明是由对应渠道引导安装的App。
2、采用第三方平台实现归因统计方案
参考国内的几个第三方,按照年收费标准,平均下来一个月几百块左右,第三方统计的数据更有准确性,第三方平台适用于移动端(iOS和android)和Web端。
这里以集成codeinstall为例实现步骤:
1、在第三方开发者平台创建应用
2、移动端(iOS/android)SDK集成
- 第三方平台基本都采用零配置,并自动生成集成代码,开发者只需根据第三方平台的集成文档按步骤,几分钟便可完成SDK集成
3、测试阶段上传ipa/apk包,正式使用时配置应用市场的下载链接即可
- 上传安装包时,会自动读取应用的基础信息,比如包名等
- 上传完成就可以在线模拟测试,体验完整的App安装/拉起流程,待对外正式发布时,配置相应的应用市场地址即可
4、在线测试
Android/iOS sdk集成完毕并上传apk/ipa安装包后,可先使用第三方平台提供的在线测试功能,确保App安装后能正确还原输入的动态参数,能正常的拉起App。
5、Web SDK集成
经过在线测试确认sdk集成正确的情况下, Web开发人员可以开始在web分享页/渠道页上集成CodeInstall Web api,同样只需简单的复制粘贴即可。
6、添加渠道
使用自定义Web的URL链接,即公司内部自行开发一个Web网页,按照第五步中集成web SDK,然后在添加渠道这里,填写自定义URL的落地页,添加完成就生成一个渠道管理项,通过二维码就可以扫码下载,今天渠道统计了
7、查看渠道报表
这里App启动安装时,可以拿到渠道相关参数信息,也可以通过接口发送给我们的服务器做数据统计分析
采用三方的SDK,在Web端的归因统计数据更为准确,经过测试验证,同一台设备,通过不同的渠道链接或者Web网页链接访问并下载的App,他们对该设备的唯一标识是一样的,即使切换无线网络和移动数据,不清楚他们是如何做到确定设备唯一性的,在集成的时候通过拦截、抓包等方式,无法拦截到他们内部的实现原理。
各三方平台价格对比:
第三方平台 | 报价 | 网页链接 |
---|---|---|
openinstall | 高级版(1000元/月或者8000元/年) | https://www.openinstall.io/price.html |
CodeInstall | 588元/月或者3688元/年 | https://www.codeinstall.com/price |
Xinstall | 900元/月或者7888元/年 | https://www.xinstall.com/price/ |
appsFluer(非国内) | 7¢ / conversion | https://www.appsflyer.com/pricing/ |
Adjust(非国内) | 不明确 | Choose your plan! | Adjust Pricing, Products & Features | Adjust |
三、方案探索
1、IDFA追踪
IDFA的全称是Identifier for Advertising ,中文名是广告标识符,自2012年iOS6推出IDFA后,其他的MAC、UDID各种ID都被苹果禁止,只能用IDFA,通过IDFA跟踪是主流方式。
匹配过程:
2020年6月,苹果在WWDC(全球开发者大会)上发布iOS 14的隐私政策给IDFA蒙上了一层阴影,IDFA的权限从系统级别降低到了应用级别,在 iOS 14 系统中,App 在获取 IDFA 时将和获取地理位置、相机权限一样,需要明确请求用户的许可。这就意味着如果不能经过用户允许,数据不能被用于定向广告,广告商不能共享用户的信息,这让过去通过 IDFA 来实现的广告归因和效果衡量变得接近无效。
比如:今日头条作为广告提供商可以获取用户的 IDFA,当你在上面投放的 App 被用户下载激活,你的 App 也可以获取用户的 IDFA。将广告提供商提供的 IDFA 和自己获取的 IDFA 匹配,即可追踪渠道来源。
缺陷:
- IDFA只能用于APP类型的渠道,如果在网页上投放广告是不支持的
- 需要用户授权是否允许APP跟踪,如果用户不允许,则就会无效
条件:
请求权限文档:如果 App 请求跟踪你的活动 - 官方 Apple 支持 (中国)
常用的比如谷歌官方的 Google Analytics,它的获取原理就是通过获取设备的 IDFA ,来作为唯一标示符号,然后根据你的渠道来源提供数据,通过比对的方式进行渠道定位。弊端在于,用户重置系统,或者关闭广告跟踪的话,这种方法就会失效。
目前用户的隐私保护意识也在逐渐觉醒,只要用户手握这个开关,IDFA 的统计误差就始终存在。
另一方面,Google Analytics 的 iOS 安装跟踪功能仅适用于通过移动广告网络(例如投放应用内广告的AdMob)投放的广告。也就是如果渠道是从线下扫二维码或者web上的推广链接下载是不能通过这种方法跟踪到的,这时就需要其它工具作为补充。
2、iTunes Connect APP分析
在统计数据上,官统肯定是权威的,值得信赖的,毕竟用的就是他们家的产品。
官方文档:https://developer.apple.com/cn/help/app-store-connect/view-app-analytics/manage-campaigns/
iTunes Connect 也很方便的提供了渠道链接统计服务。只需要在“App分析”的“来源”中点击“营销活动”,右上角有个“生成营销活动链接”,进入后就能自定义设置对应的唯一标识,给每个渠道生成专属的渠道链接。将生成的活动链接,用于实际用途中,当访问该链接跳转的AppStore,则便会统计到具体的营销活动中
但是ITunes Connect统计是有其自身存在的业务弊端:
1 只有当营销活动启动后超过一天时间(最长72个小时)后才能显示相关数据;
2 至少有 5 个 App 安装量(需要5个不同的appID,首次下载该App)归因于此营销活动时,营销活动才会在“App 分析”中显示;
3 iOS 8.0 及以上版本的用户可以选择是否将自己的应用使用情况的数据发送给 Apple;
4 iTunes Connect 的统计无法同时兼容 Android 和 iOS,采用不同的统计方法可能会让数据统一性较差。
该权限应该是在iPhone首次激活的时候,开机时会选择是否同意共享iPhone分析
设置权限路径:设置 - 隐私与安全性 - 分析与改进 - 共享iPhone分析打开
各iOS版本操作路径:与 Apple 共享分析、诊断和使用信息 - 官方 Apple 支持 (中国)
关于APP分析中的一些概念说明:
衡量 App 表现:https://developer.apple.com/cn/app-store/measuring-app-performance/
APP来源说明:查看获客来源 - 查看“App 分析” - App Store Connect - 帮助 - Apple Developer
测试验证
创建营销活动链接:
以轻牛健康为例,创建两个营销链接,分别让部门内容的小伙伴们协助通过链接下载App,结果在App分析中都没有显示相关数据
原因:营销活动必须要满足,使用5个不同的appID,“首次下载”,才会在App分析中显示,公司的人员基本上都安装过轻牛健康,所以以轻牛健康为例的下载测试数据不满足显示条件
营销活动参数说明
参数说明:https://developer.apple.com/cn/help/app-store-connect/view-app-analytics/manage-campaigns/
- pt: 提供商令牌,该参数是由apple 自动分配的,与开发者账号有关系,同一个开发者账号,不同的APP,该值是一样的,比如上面的tikfit和runcobo生成的pt是一样的
- ct: 活动令牌,就是创建营销活动链接时输入的营销活动名称,限制长度30个字符
- mt: 媒体类型标记,常用值便是8,表示APP store下载,官方文档中并没有其他取值的含义,该值也是在创建营销活动链接时自动生成的,常用值便是8
App Store Connect的APP分析,只能查看到提前两天的数据,比如今天是7/12,就只能查看到7/10号
1、营销活动链接是否可以拼接自定义参数?
使用APP分析中的营销活动,创建一个渠道channel-1,生成一个营销活动链接
比如:https://apps.apple.com/app/apple-store/id1450065949?pt=118048596&ct=channel-1&mt=8&userID=123456
然后使用工具将该链接生成二维码,或者直接在浏览器访问该链接,可以跳转至AppStore下载页
- 使用iPhone手机的二维码扫描器或者Safari浏览器,扫描后直接跳转到App StoreAPP中显示
- 使用QQ浏览器或者Google浏览器访问链接,则是在浏览器内部唤起AppStore的下载页
网页端只能通过概率模型归因:
用户访问链接会跳转到App Store里,这个过程出发一个服务端请求,服务器来记录这次点击的设备信息:包括IP地址、机型等,同时,在被推广APP这边,也可以记录用户激活APP时的设备的基本信息,并上传至服务器,结合下载和激活的时间差,再结合设备的IP地址和机型等信息,大概可以模糊地识别出同一个用户先后点击了下载链接,在激活了APP,从而确定了下载渠道
至于是否可以知道是通过哪个用户的分享链接,在上面的过程中,访问链接时,上传服务器时可以携带被扫描的二维码或者链接的userId,从而知道是通过哪个用户分享的二维码下载的
3、第三方渠道工具集成:
1、openinstall
openinstall 基本原理:
- 开发者在分享的 h5 页面上集成 openinstall web sdk,发布分享链接时在url上动态的拼接任意的自定义参数(如推广渠道号,邀请码,游戏房间号等等);
- 当某一终端访问该 h5 页面时,openinstall web sdk 将同时确定该设备的个性化信息和采集自定义参数,上传至 openinstall 服务器, 待用户通过该 h5 页面安装 App 后首次打开时,使用 openinstall Android/iOS sdk 从 openinstall 服务器再取回暂存的自定义参数。
- 开发者根据各自的需求,在分享链接自定义拼接各种动态参数。比如通过在分享链接url中附带App邀请人的用户id,就可达到免填邀请码的效果。对战类游戏App通过在url中附带游戏房间号,新老用户都可通过该url链接直接进入邀请人的对战房间,更多使用场景均取决于开发者的需求。
报价:https://www.openinstall.io/price.html
2、XINSTALL
1.产品概述 · XInstall
测试集成效果展示:测试集成效果 · XInstall
报价:app免填写邀请码_App渠道统计价格
3、Codeinstall
官方链接:https://www.codeinstall.com/
这个第三方的内容就是比较单一,不像openinstall业务范围那么广,主要内容就是App渠道统计,与openinstall相比,对于“传参安装App”的功能差不多,从官方文档和开放平台管理后台内容基本差不多,但实际的三方SDK的实现原理就不确定了,可能openinstall更具准确性,因为openinstall业务更广更大