为了实现用户的快速增长,以推广 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 用户增长的精准归因?的更多相关文章

  1. 明令禁止下,哪些APP在违规获取用户信息?

    2019年4月28日消息  移动互联网时代各大APP大行其道,用户为了更便捷地享受互联网服务,常常需要让渡部分个人信息.在信息获取不透明的情况下,不少APP运营企业出现过度获取乃至违规获取用户信息的情 ...

  2. Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%。再往后,每提高0.1%,优化难度成指数级增长了。哪怕是千分之一,也直接影响用户体验,影响每天上万张机票的销售额。 在高并发场景下,提供了保证线程安全的对象、方法。比如经典的ConcurrentHashMap,它比起HashMap,有更小粒度的锁,并发读写性能更好。线程安全的StringBuilder取代S

    Qunar机票技术部就有一个全年很关键的一个指标:搜索缓存命中率,当时已经做到了>99.7%.再往后,每提高0.1%,优化难度成指数级增长了.哪怕是千分之一,也直接影响用户体验,影响每天上万张机 ...

  3. Jmeter(五十)_性能测试模拟真实场景下的用户操作

    概述 我们在做性能测试的时候,不同的视角看到的结果都不一样. 例如响应时间 用户通过客户端向服务端发出请求的时间为: T1服务端接收到请求,处理该请求的时间为:T2服务端返回数据给客户端时间为: T3 ...

  4. 斗牛app上架应用宝、牛牛手机游戏推广、百人牛牛app应用开发、棋牌游戏上传、手游APP优化

    联系QQ:305-710439斗牛app上架应用宝.牛牛手机游戏推广.百人牛牛app应用开发.棋牌游戏上传.手游APP优化 iOS开发iPhone/iPad平台安卓手机软件开发机型覆盖范围 超过113 ...

  5. 美团在O2O场景下的广告营销

    美团作为中国最大的在线本地生活服务平台,覆盖了餐饮.酒店.旅行.休闲娱乐.外卖配送等方方面面生活场景,连接了数亿用户和数百万商户.如何帮助本地商户开展在线营销,使得他们能快速有效地触达目标用户群体提升 ...

  6. Android热修复技术选型(不在市场发布新版本的情况下,直接更新app)

    2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker,它们在原理各有不同,适用场景各异,到 ...

  7. 融云红包全新升级,让App用户更便捷地用“钱”交流感情!

    随着移动互联网的飞速发展,如何增强社交关系.留住用户的心已成为移动社交化时代各类App持续探索的问题,除了接入即时通讯的能力,众多社交平台开始通过趣味性十足的红包功能为App中的社交场景赋能.当即时通 ...

  8. 超大规模商用 K8s 场景下,阿里巴巴如何动态解决容器资源的按需分配问题?

    作者 | 张晓宇(衷源)  阿里云容器平台技术专家 关注『阿里巴巴云原生』公众号,回复关键词"1010",可获取本文 PPT. 导读:资源利用率一直是很多平台管理和研发人员关心的话 ...

  9. Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战

    一. 前言 [APP 移动端]Spring Security OAuth2 手机短信验证码模式 [微信小程序]Spring Security OAuth2 微信授权模式 [管理系统]Spring Se ...

随机推荐

  1. 后端 - Lession 01 PHP 基础

    目录 Lession 01 php 基础 1. php 基础 2. php 变量 3. php 单引号 和 双引号区别 4. 数据类型 5. 数据类型转换 6. 常量 7. 运算符 8. 为 fals ...

  2. springboot4自动配置的原理(浅层)

    自动配置的原理(浅层) @Configuration //这是一个配置类 @EnableConfigurationProperties(HttpProperties.class)//启用Configu ...

  3. JS系列1---节流,去抖(防抖)应用场景:intput请求优化,页面监听

    在项目开发过程中经常遇到在input的change事件中发起请求,将用户最新输入的字符作为data传给后台,但是如果用户的输入频率过高,或者用户输入的字符还未拼成一个完整的字词,这时候发起请求会浪费网 ...

  4. [OpenGL] 不规则区域的填充算法

    不规则区域的填充算法 一.简单递归 利用Dfs实现简单递归填充. 核心代码: // 简单深度搜索填充 (四连通) void DfsFill(int x, int y) { || y < || x ...

  5. ArcGIS API For JavaScript 开发(一)环境搭建

    标签:B/S结构开发,Asp.Net开发,WebGIS开发 前言:为什么写这个,一是学习:二是分享,共同进步,毕竟也是在这个园子里学到了很多: (一)环境搭建 集成开发环境:VS2013 Ultima ...

  6. Python(简单图形和文件处理)编程

    Python确实是一门很简洁而且功能有强大的语言,我觉得开始学习很容易理解,说到熟练和精通还是不容易的,还需不断学习. 从最基础的语法学习,有些部分各种语言是相同的,让人很好理解.编程也是从最简单语法 ...

  7. jmeter Linux环境执行总报错 cannot allocate memory

    1.windows环境写好的测试用例,执行没有问题,在Linux环境跑总是报错,提示如下 cannot allocate memory 2.一开始以为是哪块设置有问题,因为脚本里边有设置邮件自动发送, ...

  8. 【Spring】The matching wildcard is strict……

    applicationContext.xml 文件抛出了这个异常信息. 解决方法: 需要在 namespace 后加上对应的 schemaLocation,如下所示: <?xml version ...

  9. ubuntu清理系统垃圾与备份

    虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核! 1,非常有用的清理命令: sudo apt-get autoclean s ...

  10. Apache Flink 1.9 重大特性提前解读

    今天在 Apache Flink meetup ·北京站进行 Flink 1.9 重大新特性进行了讲解,两位讲师分别是 戴资力/杨克特,zhisheng 我也从看完了整个 1.9 特性解读的直播,预计 ...