多渠道推广场景下,如何实现 App 用户增长的精准归因?
为了实现用户的快速增长,以推广 App 为目标的线上广告投放是很多平台获取新用户的重要方式。随道移动互联网的发展,现在 App 推广的渠道越来越丰富,除了 WAP 站点、第三方 App 之外,HTML5 成了 App 推广的又一个主战场。
选好了合适的推广平台,预算(理论上)也到位了,作为直面用户的重要一环,如果没有做好对投放效果的追溯和评估,将直接影响到用户增长的整个过程,使之前的种种努力功亏一篑。
App 激活是指新用户首次打开 App 的行为。在进行一轮广告投放之后,对 App 激活渠道的归因分析是定位用户来源、效果评估和推广成本核算的主要方式之一。
传统的 App 激活渠道归因
目前常见的 App 激活归因方式有设备号归因、渠道号归因、IP+UA 归因等。以下分别进行简要介绍。
1. 设备号归因
设备号归因主要应用于第三方 App 中推广,应用场景以信息流广告为主。
大多数情况下,第三方 App 都可以获取到用户移动终端的设备号,如 iOS 系统下设备的 IDFA、Android 设备的 IMEI。因此在信息流等广告中,第三方平台反馈给广告主的点击数据通常会包含用户的设备号信息。当用户下载 App 完成激活后,可以将获取到的设备号与第三方广告平台反馈的设备号进行匹配进行归因,来评估投放效果。
这种方式的归因相对比较精准。但需要说明的是,为了得到更准确的分析结论,我们会同时使用多种归因方式,通常来说设备号归因的优先级较高。这就带来一个问题,通过其他形式推广带来的激活很可能会首先与设备号归因的方式匹配。比如用户点击了信息流广告之后并没有产生下载 App 的愿望,而在之后点击了 HTML5 广告并促使其完成了最终下载激活 App 的行为。
按照行业通用的 Last Click(最后一次点击)的计算方式,实际应该归因在 HTML5 广告下。但 HTML5 的渠道又无法获取用户的设备号信息,所以这次行为很可能就会被归因在优先级较高的信息流形式下,导致误差的产生。
2. 渠道号归因
「渠道号」指写入安装包的渠道标识。一般会将渠道号提前写入 APK 安装包里,然后分发给不同渠道,渠道号会伴随安装包的整个使用周期。用户激活 App 后,可以从安装包获取到渠道号标识信息进行匹配,所以理论上也是相对准确的归因。
但这种方式会出现被手机应用厂商拦截的情况,也容易被不良的渠道方拿来进行数据作弊,从而无法有效评估真实的线上推广效果。
3. IP+UA 归因
IP+UA 是指通过将用户点击广告时的 IP、User-Agent(简称 UA,用来提取用户的操作系统、版本号、手机型号等信息)信息与激活时的 IP、UA 进行关联匹配实现归因分析,一般来说使用短链来收集这两个信息,好处是用户友好、方便管理、方便信息收集和设置。
IP+UA 归因主要应用在 Web 站内导流、SEM 推广和一些无法通过设备号及渠道号归因的广告投放场景下使用,如 HTML5 广告、WAP 广告等。所以 IP + UA 虽然也是一种主要的归因方式,但本质上是一种模糊匹配的归因,因为这种方式无法直接获取用户客户端的设备号等精准信息,并且用户的 IP、UA 两个参数容易随环境变动和重复,因此使用的优先级也较低。
比如在办公环境网络下,多个用户使用同一个 IP,或者多个激活 App 的用户使用的手机品牌和型号完全相同等情况下,很难实现精准归因。更糟糕的是用户点击广告的 IP 与激活时的 IP 很有可能是不一致的,比如用户在 Wi-Fi 环境下点击并下载了 App,但是在 4G 环境下进行了激活,由于网络环境的改变,IP 地址也会随之改变;再如,同一个网络环境下 IP 相同,A 用户点击了广告但未下载,B 用户没看到广告,但通过应用市场直接下载 App 激活了,并且这两个用户的手机品牌和型号完全相同,也就是 UA 一致,这些情况下 IP+UA 的归因方式都是完全无效的。
由于 IP+UA 存在的这些问题导致这种方式的使用优先级较低,但又会导致上文提到的 HTML5 广告推广会被匹配到信息流广告渠道中。
小结
综上所述,提高对不同渠道归因方式的精准度,降低分析误差产生的可能性非常重要。
在调研的过程中发现,我们了解到现有一些方案在 IP+UA 方式的基础上进行了一些优化,比如通过注册用户和短链节点计算关联度来进行归因,以及在现有 IP+UA 的基础上更改匹配算法来达到归因的目的。但这些方法基本还是在围绕 IP 和 UA 两个参数进行调优,对于上文中所说的 IP 更改或 UA 有效信息相同情况下的归因错误问题,仍然无法避免。
基于剪贴板的用户唯一标识归因分析
为了应对获取设备号失败 (如用户关闭广告追踪),或在 HTML5、WAP 广告投放场景下使用 IP+UA 精准度不高的问题,我们设计了一种基于「剪贴板」归因的方案,来提升渠道归因的精准度。
使用剪贴板进行归因分析的特点在于,可以通过获取唯一标识的方式,提升在 HTML5、WAP 等无法获取设备号的广告投放场景下的归因准确性,同时减少由设备号匹配带来的噪音。
1. 实现流程
具体流程如下图所示:
(1)在 HTML5、WAP 等广告投放中,当用户点击广告时向剪贴板写入唯一标识;
(2)写入系统剪贴板的同时由服务器记录用户唯一标识;
(3)用户下载 App 激活后,由 App 读取剪贴板符合规则的信息并上报到服务器;
(4)服务器关联点击时记录的唯一标识和 App 激活后上报的唯一标识进行归因。
2. 主要优势
(1) 使用户具有唯一确定性
上文提到 IP+UA 的短链匹配存在的主要问题包括:
用户点击数据的 IP 地址与激活 IP 地址发生改变则完全不能进行归因,而用户网络环境切换是较为普遍的情况;
相同网络环境(IP 相同)、不同用户但设备类型(UA 相同)相同而导致的归因错误
在剪贴板归因的方式下,当用户触发点击时会向用户的不同操作系统(Android 、iOS)剪贴板写入一个形如特殊字符+随机字符串+特色字符的标记,(例:$f803489a$),形成当前点击广告信息用户的唯一标识。当用户下载 App 进行激活时,客户端就会读取到剪贴板中这个唯一标识并上报给服务器,服务器接收信息后进行规则验证和存储,在 App 激活时进行唯一标识的关联匹配,最终实现精准归因,从而有效解决了 HTML5、WAP 等投放场景下通过 IP+UA 方式的归因误差问题。
(2) 通用于 Android、iOS 系统,数据获取简便
使用剪贴板可以通用于 Android、iOS 系统,数据读取获取简单,有效架设了 HTML5、WAP 等广告投放与客户端 App 之间的桥梁。并且,由于在 Android Q 版本之后将获取不到 IMEI(安卓手机设备号),剪贴板归因将有可能应用到更多的场景。
(3) 标识信息生成规则灵活
写入剪贴板的唯一标识信息可按照任意规则进行生成,只要是可以区别于其他剪贴板的内容,能够用来唯一表示一次广告点击来源的口令即可。同时可以在该标识中加入投放站点的标识信息,这样后面 App 在读取剪贴板信息时可以进行渠道信息的初步验证,从而减少无用信息的上报。
3. 应用
目前在马蜂窝用户增长激活归因分析中,应用了剪贴板归因方式后,整体归因准确率提升超过 11% 。
在进行归因分析时,由于唯一标识可以明确用户的渠道来源,因此可以优先应用剪贴板归因,再用 IP+UA 作为辅助验证手段来提高归因分析的准确性。建议可以将基于剪贴板的唯一标识归因方式与设备号归因放到同一个优先级进行匹配,如采用 Last Click 判定形式时,可根据设备号查找设备信息的最近一条点击,同时与唯一标识对应的广告点击进行时间比对,取时间距离最近的一条点击作为推广来源,达到减少设备号归因误差的目的。
总结
精准的归因在 App 推广中非常重要。比如当前推广一个旅游 App 的成本大概在几元到几十元不等,传统归因方式引发的分析误差很可能会造成双倍损失,更重要的是如果不能精确分析是哪种渠道带来的用户,我们就不能准确评估推广效果,用户增长的持续优化更是无从谈起。
精准的归因分析是精细化运营的利刃,马蜂窝用户增长团队也会不断探索,尽可能多地到哪些被忽视的场景中,挖掘那些饱有价值的流量与新增入口。
最后,也欢迎更多伙伴加入马蜂窝用户增长团队,现有前端、服务端、算法、测试多个坑位在持续招聘中,有意向的朋友可以发送简历至:lipei@mafengwo.com.
本文作者:徐练胜,马蜂窝用户增长团队服务端研发工程师。
(马蜂窝技术公众号原创内容)
多渠道推广场景下,如何实现 App 用户增长的精准归因?的更多相关文章
- 明令禁止下,哪些APP在违规获取用户信息?
2019年4月28日消息 移动互联网时代各大APP大行其道,用户为了更便捷地享受互联网服务,常常需要让渡部分个人信息.在信息获取不透明的情况下,不少APP运营企业出现过度获取乃至违规获取用户信息的情 ...
- Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%。再往后,每提高0.1%,优化难度成指数级增长了。哪怕是千分之一,也直接影响用户体验,影响每天上万张机票的销售额。 在高并发场景下,提供了保证线程安全的对象、方法。比如经典的ConcurrentHashMap,它比起HashMap,有更小粒度的锁,并发读写性能更好。线程安全的StringBuilder取代S
Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%.再往后,每提高0.1%,优化难度成指数级增长了.哪怕是千分之一,也直接影响用户体验,影响每天上万张机 ...
- Jmeter(五十)_性能测试模拟真实场景下的用户操作
概述 我们在做性能测试的时候,不同的视角看到的结果都不一样. 例如响应时间 用户通过客户端向服务端发出请求的时间为: T1服务端接收到请求,处理该请求的时间为:T2服务端返回数据给客户端时间为: T3 ...
- 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化
联系QQ:305-710439斗牛app上架应用宝.牛牛手机游戏推广.百人牛牛app应用开发.棋牌游戏上传.手游APP优化 iOS开发iPhone/iPad平台安卓手机软件开发机型覆盖范围 超过113 ...
- 美团在O2O场景下的广告营销
美团作为中国最大的在线本地生活服务平台,覆盖了餐饮.酒店.旅行.休闲娱乐.外卖配送等方方面面生活场景,连接了数亿用户和数百万商户.如何帮助本地商户开展在线营销,使得他们能快速有效地触达目标用户群体提升 ...
- Android热修复技术选型(不在市场发布新版本的情况下,直接更新app)
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到 ...
- 融云红包全新升级,让App用户更便捷地用“钱”交流感情!
随着移动互联网的飞速发展,如何增强社交关系.留住用户的心已成为移动社交化时代各类App持续探索的问题,除了接入即时通讯的能力,众多社交平台开始通过趣味性十足的红包功能为App中的社交场景赋能.当即时通 ...
- 超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?
作者 | 张晓宇(衷源) 阿里云容器平台技术专家 关注『阿里巴巴云原生』公众号,回复关键词"1010",可获取本文 PPT. 导读:资源利用率一直是很多平台管理和研发人员关心的话 ...
- Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战
一. 前言 [APP 移动端]Spring Security OAuth2 手机短信验证码模式 [微信小程序]Spring Security OAuth2 微信授权模式 [管理系统]Spring Se ...
随机推荐
- py+appium微信公众号自动化(已搞定多个坑)
最近需要做微信公众号的自动化测试,遇到了不少坑. 微信公众号自动化与app自动化还是有区别的,因为多了不少坑.打开微信x5内核调试的就不说了,百度有. 1.首先,微信公众号有webview,uiaut ...
- 调用另一个进程,createprocess返回值正确,但被调进程连入口函数都没进入。
1.单独运行被调进程(提示atl不匹配). 2.编译选项设置为不依赖atl即可. 3.启发:能单独测试的,先单独测试.
- 个人永久性免费-Excel催化剂功能第40波-工资、年终奖个人所得税计算函数
学Excel的表哥表姐们必定有接触过个人所得税的案例学习,在计算个人所得税这个需求上,大家的层次也是很多种多样,当然Excel催化剂推荐的方式仍然是经过封装后的简单明了的自定义函数的方式,此篇已为财务 ...
- CentOS下搭建Git服务器(基于SSH协议)
1,安装Git所需依赖包 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # ...
- app同包同签名不能安装问题
今天博主与团队之间出现一个很郁闷的问题: 那就是我们开发的一个app,在升级推送版本的时候突然出现,相同的包名.相同的签名.在安装的时候出现,安装签名不一致(安装失败)的提示. 让我们很是困扰.后来发 ...
- python中的元类(metaclass)
认识python中元类的准备工作. 1,首先需要明白一个概念就是python中一切皆为对象. input: class Trick(object): pass ') print type(1234) ...
- 浏览器如何加载和解析CSS——CSS样式来源与层叠规则
关于CSS样式首先得理解浏览器如何加载它们,最终的页面样式是如何呈现的? CSS层叠样式表的关键在于"层叠",会根据选择符的使用而将样式相互叠加或者覆盖. CSS样式表之所有有&q ...
- 【MySQL】服务无法启动(Mac)
如图所示: 点击 Start MySQL Server 没反应-- 终端输入 mysql 命令时报错如下: ERROR 2002 (HY000): Can't connect to local MyS ...
- C++单继承、多继承情况下的虚函数表分析
C++的三大特性之一的多态是基于虚函数实现的,而大部分编译器是采用虚函数表来实现虚函数,虚函数表(VTAB)存在于可执行文件的只读数据段中,指向VTAB的虚表指针(VPTR)是包含在类的每一个实例当中 ...
- Django REST framework的使用简单介绍
官方文档:https://www.django-rest-framework.org/ GitHub源码:https://github.com/encode/django-rest-framework ...