最近组内在做oCPC、转化追踪的项目,总结下,作为自己的学习笔记。
1.什么是oCPC?
聊oCPC之前,先看看CPC。CPC,cost per click,即每次点击付费。按点击付费是互联网广告最常见的一种计费方式,即当一条广告被用户点击后,广告平台就会从广告主的账户中,扣除一次点击的费用。
除此之外,业内常见的计费方式还有:
从CPT到CPS,对广告主而言,越来越接近他的生意;而对广告平台和媒体来说,承担的风险也越来越高。
oCPC,optimized CPC,优化了的CPC。优化了什么?显而易见,肯定是向CPA方向的优化。为什么要优化?先来看看CPC模式下的情况:
广告平台的收入=曝光量*点击率*CPC出价。
曝光量在短期内是不变;CPC出价是由广告主设定的,广告平台不能对其作修改;因此广告平台可调整的就只有点击率CTR了,即最大化广告点击概率。
那么问题来了,广告平台带来的这些点击,能否为广告主带来更多的转化收益,能否持续平稳的带来转化收益,就是广告主最关心的问题了。
从广告平台的长远利益和生态看,广告平台也不能不正视广告主的转化收益。那为什么不直接执行CPA甚至CPS的模式呢?答案是做不到,也不愿意做。
为什么做不到?广告在点击之后进入了广告主的网站中,用户在广告主网站里产生的后续操作,只会记录在广告主的系统中。广告平台一是追踪不到这些的行为,二是转化也与广告主网站的设计有很大的关系,不是广告平台的责任。
为什么不想做?很显然,收入是广告平台最大的追逐目标,CPA要比CPC承担的风险更高。当然,有些广告平台是可以支持到CPS,例如阿里系。
所以,CPC和CPA的折中之后,oCPC诞生了,广告平台以转化作为优化目标,而计费方式依旧使用CPC点击扣费。对比CPC模式下,广告平台是以Click作为优化目标。
一句话介绍oCPC的原理:如果发现某个用户对广告的转化概率高,广告平台可以适当提高出价,使得广告主更有机会抢到该用户的曝光机会;如果转化概率低,则需要调低出价。
从上面看出,oCPC有两个核心的技术问题:转化率预估和动态出价。
2. 转化率预估pCVR:
pCVR,预估每次广告点击后,是否发生转化的概率。
与CTR预估最大的区别是样本集的构造,CVR正样本是点击且发生转化的样本,负样本是点击后没有转化的样本。需要注意的是,点击后没有转化,并一定是真的没有转化,也可能是转化行为还没有采集到,例如APP激活可能会晚于下载两天以上。另外,转化数据的稀疏性也是训练的挑战。除此之外,还需要考虑比CTR更多的特征,例如广告落地页的标题、网页结构等。
模型选择上,GDBT+FTRL比较常用。
模型效果评价:AUC,从排序角度来评价;Calibration,衡量模型整体准确率;RIG,相对信息增益,值越大,说明模型准确性越高。
3. 动态出价 SmartBid:
动态出价,在广告主设定的基础出价上,根据预估出的pCVR和当时的竞价环境,动态的调整出价,进而优化广告排序结果。以达到:广告主转化成本不会升高,广告平台收益最大化。具体实现上,一般分为两步:
1)根据pCVR、广告主历史的转化数据,确定出价调整区间的上下边界。
2)在出价区间内,迭代产生最终的出价,该出价可以最大化平台eCPM的收益。
在pCVR转化率预估节中,提到转化样本数据的构造。这里就涉及到两个话题,转化跟踪和转化归因。
4.转化追踪Conversion Tracking
转化跟踪:前文也提过,广告平台并没有广告主的转化数据,因此需要进行追踪,即Conversion Tracking。常见的Tracking机制有两种,代码嵌入和服务端对接。
代码嵌入:即广告平台提供代码片段,广告主将其嵌入到转化发生的业务代码中。例如:移动端的SDK嵌入,H5端的JS嵌入。
服务端对接有两种方案,核心端区别在于数据的流向和转化归因由哪一方完成。方案一广告平台会泄漏所有的点击数据,而且广告主系统的技术要求会更高;方案二广告主会泄漏所有的转化数据,包括非广告的转化。
5.转化归因Attribution Analysis
转化归因,即把一次转化行为归纳到某次广告点击之上。常见的归因模型有:
最后一次模型:即认为转化100%是由最后一次广告点击带来的
第一次模型:即认为转化100%是由第一次广告点击带来
平均模型:即转化之前的多次广告点击,享有平等地价值。
可变权重模型:即多次广告点击之间的权重各不相同,例如按时间衰减等。
最后,用一张结构图来总结以上,并扩展下上下游。
最下层是转化数据追踪,NB如小米这样可以拿到一些系统级数据,否则都需要跟广告主建立数据交换机制。(移动建站作为广告平台为广告主提供的落地页服务,可以收集一些转化数据。)
中层则是转化数据的处理和归因。
最上面是数据的应用层,或用于oCPC优化投放,或用于广告计划预算的调整,或用于lookalike进一步扩大投放。
5.数据交换Data Exchange
以上可以看出,oCPC的关键点在于转化数据的追踪和交换,而且不能是采样的数据,必须是全量数据。而数据的交换,是互联网广告行业最为敏感的事情了。
广告主、广告平台都不愿意把数据提供给对方,更不用说是转化数据了。存在问题就有解决方案,常见的方法是引入“公立”的第三方公司来完成,即广告主把转化数据交给第三方,广告平台把曝光点击广告数据也交给第三方,由第三方进行管理和归因。但第三方是否真正的公立,就只有它们的名誉来做担保。
说到底,数据交换其实只干一件事,即查询我的ID是否在你的集合里,但我又不想让你知道我查询了哪些ID,你也不想让我知道你有多少ID。(注:ID可以理解为一个用户、一件物品、一个事件等)。
在这个简化的数学模型下,BloomFilter似乎是个合适的数据结构,它可以隐藏掉双方的数据规模和ID细节,又能方便双方作交集的查找,并不会泄漏差集的部分。
业界也有不少企业在探索区块链的方案,拭目以待。
6. 总结我的观点
1、oCPC是广告平台向广告主的妥协
2、转化追踪也是广告主向广告平台的妥协
3、全量、透明、可靠、互信的数据交换机制,才是王道。