如何获得更持久的广告投放,闲鱼程序员的年终奖全靠它。。。

业务背景

用户增长作为开源节流促成长的过程,是包含了有效用户增长、用户成长、用户变现、用户传播、防止用户流失等一整套增长流程,而非单纯数量上的增长。

在实践中,增长手段主要聚焦在如何获取用户和提升用户活跃度上。在用户获取成本不断升高的背景下,任何一种获取用户的方式都变得昂贵且效果难以评估,就好比我们都知道广告投出去有一半钱是浪费掉了,但却不知道是哪部分。

为了评估增长手段的有效性,首先需要一种能在各个渠道追踪用户行为的手段。一般会使用设备指纹技术来唯一标识用户,即通过一系列设备信息生成设备的唯一标识,用设备标识来替代用户标识作为追踪用户的手段。

问题定义

可以用于标识出该设备的设备特征或者独特的设备标识被称为设备。设备指纹因子通常包括计算机的操作系统类型,安装的各种插件,浏览器的语言设置及其时区 、设备的硬件ID,手机的IMEI,电脑的网卡Mac地址,字体设置等,通过某种Hash算法生产特征字符串来用作设备指纹。设备指纹服务有两个核心问题需要解决问题:

1. 设备ID的有效性:无论使用单一还是多种信息来源,设备指纹的有效性取决于设备ID的有效性。存在两种可能无效情况,ID冲突和ID漂移。ID冲突指不同设备拥有了相同的ID,ID漂移指一台设备在不同环境或时间获取时获取到了不同的ID。

2. 设备服务架构的扩展性和可靠性:不同的渠道可能会定义不同的设备ID组合作为设备指纹的来源,在多个渠道间交互时需要支持和兼容多种ID组合的查询和转化;设备服务需要广泛应用于增长手段的各个环节,服务的访问量会明显大于一般的产品链路服务,因此对可靠性也有较高要求。 我们针对这两个核心问题,在下文中分别给出对应的问题分析和解法。

设备指纹ID

Android设备可以获取的ID

1. IMEI——国际移动设备识别码(International Mobile Equipment Identity),即通常所说的手机序列号、手机“串号”,用于在移动电话网络中识别每一部独立的手机等移动通信设备,相当于移动电话的身份证。几乎所有的设备都可以返回这个串号,并且唯一较好。它根据不同的手机设备返回IMEI,MEID或者ESN码。

2. IMSI——国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。当手机上装有 Sim 卡并且可用时,返回该值,不同 Sim 卡的返回值不同。

3. MAC——可以使用手机Wifi或蓝牙的MAC地址作为设备标识。 并不是所有的设备都有Wifi和蓝牙硬件,硬件不存在时获取不到。

4. ANDROIDID——安卓ID,在设备第一次启动的时候生成并保存,并且可能会在恢复出厂设置后重置该值。理论上是大部分是重置的。通常被认为不可信,因为它有时为null。开发文档中说明了:这个ID会改变如果进行了出厂设置。并且,如果某个Andorid手机被Root过的话,这个ID也可以被任意改变。

IOS设备可以获取的ID

1. IDFA——Identifier For Advertising。直译就是广告id, 在同一个设备上的所有App都会取到相同的值,是苹果专门给各广告提供商用来追踪用户而设的,iOS默认设置是允许追踪。用户可以在设置里重置此id的值,或限制此id的使用,故此id有可能会取不到值。iOS6及之后版本可以使用。

2. IDFV——Identifier for Vendor,提供给APP供应商使用的ID。每个设备在所属同一个APP供应商的应用里,都有相同的值。iOS6及之后版本可以使用。

3. UDID——Unique Device Identifier。设备的唯一设备识别符。UDID从iOS5开始被禁止使用。

4. UUID——Universally Unique Identifier,通用唯一标识符。可以在应用启动时生成,它保证对在同一时空中的所有机器都是唯一的。但除非本地保存后获取本地址,每次调用生成的ID均不相同。

5. MAC——同Android中的定义,iOS7开始只能获取一个固定值。


新一代的设备指纹技术


传统的设备识别手段主要依赖于单一的信息源,与此不同,新一代的设备指纹技术使用更多的信息来完成设备的识别。它通过网络收集终端设备的特征信息,并在分析与鉴别的基础上,对每一组从终端设备采集的特征信息组合赋予唯一的设备指纹ID,用以标识该终端设备。一般具有开发能力的厂商均有自己的一套生成方案,同时也有第三方的厂商提供解决方案以供使用。以下以阿里使用的UMID(唯一设备ID)为例,说明设备指纹ID在各平台上所具有的能力。

bb

设备指纹ID选型

比较好的设备指纹ID,需要保证尽可能少的出现ID冲突和ID漂移。并且,在权限限制、设备信息篡改,系统重装、APP重装情况下也需要保证尽可能不变化。

集团内部的设备指纹ID方案已经经受住了大量业务的考验,不仅适用于做用户行为的追踪,同时也具有一定的安全防刷能力。因此,闲鱼用户设备信息采用UMID作为唯一标识。同时对于多个数据来源(闲鱼用户历史设备登录记录,闲鱼用户历史安全设备记录,闲鱼用户设备采集记录)打通,水平扩展可以支持的IMEI,IMSI,MAC,IDFA,YunosUUID,Google广告ID等ID的查询。

架构设计

bb

1. MySQL——创建以umid为主键的闲鱼用户设备主表。一个用户可以有多个设备,一个设备仅记录最近使用的用户。数据量较大,需要做分库分表。

2. HiStore——用于多维查询,数据从MySQL中同步。HiStore是阿里中间件技术团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列式存储,是低存储成本,低维护成本,海量数据OLAP存储引擎;有效的解决了海量数据存储的成本问题,以及在百亿数据场景下支持实时高效的多维度自由组合的检索。外部开源的解决方案有Infobright等。

3.实时读取——分布式key/value存储系统 Tair。Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。通过tair可以定制业务所需要的缓存,也可以作为持久化存储完整存储整个闲鱼用户设备表(以Umid为key)。外部开源产品可以选用Redis。

实践场景

OCPC/OCPA/OCPM: OCPC是Optimized Cost per Click的缩写,即优化点击付费,本质还是按照cpc付费;OCPA是Optimized Cost per Action的缩写,即优化行为出价,本质还是按照cpa付费;Optimized Cost per Click的缩写,即优化点击付费,本质还是按照cpc付费;Optimized Cost per Mille的缩写,即优化千次展现出价,本质还是按照cpm付费。三种出价策略除了对应的优化目标不同,本质上都是采用更科学的转化率预估机制,帮助广告主在获取更多优质流量的同时提高转化完成率。系统会在广告主出价基础上,基于多维度、实时反馈及历史积累的海量数据,并根据预估的转化率以及竞争环境智能化的动态调整出价,进而优化广告排序,帮助广告主竞得最适合的流量,并降低转化成本。

广告投放的数据流示意图(以激活为例)如下:

bb

闲鱼和广告商的数据流交互图如下:

bb

流程说明:

1. 广告商在监测事件同步接口(接口一)中会同步点击数据给闲鱼。同步数据包含用户的设备信息(IDFA/IMEI/OS等)、业务信息(广告计划id/广告创意 id/点击时间等)和回调信息(回调地址或回调参数)

2. 闲鱼接收到同步数据,根据OS将设备id设为key,将回调信息作为value存储在Tair中。

3. 闲鱼用户激活或者注册时触发设备信息采集,经过清洗后更新至闲鱼用户设备表中。同时查询是否有可以匹配的回调信息,根据点击事件和转化目标,处理回调信息后回调用户转化目标数据给广告商。

4. 广告商收到回调数据后,优化模型,更新出价,帮助闲鱼获取更适合转化的目标人群,降低转化成本。

说在最后

在目前的闲鱼用户增长实践中,广告投放优化已经给闲鱼带来了巨大的收益,有效的控制了广告投放的成本,使得增长团队可以进一步扩大广告投放的渠道和范围。除了用于广告投放优化,闲鱼设备服务还支撑了deeplink,智能投放和用户生命周期等一系列增长手段的尝试。未来,闲鱼技术团队还会进一步探索技术上的可能性,驱动闲鱼用户增长业务的发展。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69900359/viewspace-2286679/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69900359/viewspace-2286679/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值