什么是RTA?
RTA(Realtime API)是一种用于满足广告主实时、个性化的投放需求的技术手段,在用户点击广告时,媒体会将用户设备id传递给广告主,广告主基于自己的历史数据构建的模型判断该用户是否为自己的目标用户,如果是,则告诉媒体期望将广告曝光给该用户,这里对目标用户的定义是灵活的,如果广告主的目的是拉新,那么目标用户就是广告主数据库中没有记录的用户,如果广告主的目的是提高ROI,那么目标用户就是可能在产品中付费的用户。
简单而言,RTA的作用就是:将选择用户的权利交给广告主,让广告主判断是否需要当前用户,如果需要,媒体才将广告主的广告展示给用户,为了直观,画了张图:
RTA流程
当然,RTA理论上是这样,但实际上是否将广告主广告曝光给某个用户还是看媒体,我们在对接具体的媒体时,广告主通过RTA返回的值只是个参考,媒体除了参考RTA外,还会参考你的出价、ROI系数等等,然后再综合判断是否将广告曝光给该用户。
RTA的作用
在不使用RTA前,我们会通过广告的定向配置来告诉媒体我们希望将广告曝光给哪些用户,因为我个人工作中主要接触腾讯媒体,所以以腾讯媒体为例。
在创建广告时,我们可以配置广告的定向,如下图:
广告定向设置
通过定向的配置,我们可以将广告投放给满足定向标签的用户,此外,在实际投放工作中,定向人群包也是常用的投放方式,以游戏广告主为例,广告主基于过去的历史数据,可以过滤出过去有过正向行为的用户,比如常登录、有付费、游戏时长、装备数等等,基于这些数据,筛选出一批用户(具体而言是这批用户对应的设备id),按媒体要求的格式打包成文件,上传给媒体,在投放广告时,便可以使用上传好的人群定向包(媒体也会基于媒体的数据打包一些人群定向包给广告主投放使用)。
我们可以通过人群定向包实现对这部分用户的广告定向曝光、排除曝光或利用媒体自动扩量功能找到更多具有类似特征的用户,如下图:
找更多优质用户
优质的定向人群包对广告效果有很大的帮助,在没有RTA之前,投手会比较频繁的基于广告主自身的数据与业务目标打包各种定向人群包用于广告投放,效率较低不说,定向效果的非实时性也是问题。
题外话:让投手打包人群定向包再去投放时,需要注意一个问题。因为公司内不同投放团队都要根据广告效果去考核KPI,那么此时就有可能出现,通过定向人群包将他人获得的优质用户夺走的情况,比如投手A投放产品A,效果不错,来了100个付费用户,此时投手B通过条件筛选,将最近付费的用户筛选出来(包含了投手A获得的100个用户),将这些用户打包成人群包然后定向投放这群人,投手B有很大概率将投手A的优质用户抢走,此时投手A会发现广告带来的用户后续付费能力很差,而投手B比较轻松的获得了好效果,这种操作虽然可以提高个人KPI,但对公司整体是有害无益的(同一个付费用户被多次曝光,花了多份钱)。
回到RTA的话题,通过广告上定向的配置,效率较低,无法实时实现灵活的个性化投放需求,而RTA的出现就是为了解决这个问题。
广告主在设计RTA系统时,要考虑灵活性以及性能,灵活性以满足广告主自身的业务需求,如投放新用户、召回流失用户等,不同的目标通过简单的RTA策略设置便可以使用,不需要对不同的目标进行多次开发,而性能则是媒体的要求,这是因为广告曝光的过程是毫秒级的,如果广告主RTA服务响应太慢,整个广告曝光流程就会变慢,所以媒体会要求你在毫秒级完成自身RTA逻辑的处理(腾讯要求广告主60ms内返回结果,60ms包含网络传输和广告主内部逻辑处理时间),此外,媒体的用户体量非常大,广告主RTA服务会长时间处于被媒体服务大量请求的压力下,所以抗高并发也需要考虑。
广告主侧RTA的实现思路
简单梳理一下广告主测RTA系统的要求:可随投放业务调整的灵活性、高性能、高并发
投放业务的灵活性主要在于对目标用户的定义,如果投放是为了获得新用户,目标用户的定义可能是广告主数据库中没有的用户,如果投放是为了召回流失用户,目标用户的定义可能是最近30天没有登录公司任何产品的用户,而目标用户的定义多数情况下主要使用用户画像中的各种指标数据,如付费金额、最近一次登陆、最近使用产品时长等等,这些用户画像信息可以通过基础的业务数据清洗获得。
有了用户画像后,便可以实现灵活的业务要求了,其基础流程为,媒体RTA发起请求,将用户设备id(muid/idfa)发送广告主RTA,广告主基于设备id获得用户画像信息,基于这些信息结合策略,做简单的判断后,立即返回给媒体。以召回流失用户为例,通过设备id查询出的用户画像,发现该用户昨天登录过,不满足流失条件(近30天未登录),此时就返回给媒体,不需要该用户。
因为媒体高性能的要求,我们需要将用户画像数据存入内存,如存入Redis,从而提高读取数据的速度,但如果广告主数据很多,直接存入内存其实不太妥当,会占用很大的内存并且访问速度也会下降,可能无法满足媒体毫秒级的要求,此时就需要考虑内存压缩技术,而高并发的话就是分布式+负载均衡。
数据安全的问题
与网上其他RTA文章不同,我并不认为RTA能为广告主带来数据安全,只要你将设备id回传给了媒体,媒体就有能力去分析设备id对当前广告主的意义。
在不使用RTA时,我们通过人群定向包来实现细粒度的人群定向,这需要广告主侧将自身用户设备id数据打包上传给媒体,媒体可以利用自身的数据能力找到这些设备id对应的画像信息,再结合使用了这些人群包的广告效果与广告主回传的后链路数据就可以判断出设备id对当前广告主的价值。
RTA并不能逃过媒体的数据分析,媒体可以记录下RTA的操作,你要哪些用户,不要哪些用户,哪些用户给了高的质量分(质量分:量化用户在此次广告活动中的质量),哪些给了低的,同样结合广告效果和广告主回传的后链路数据,便可以做一些判断。
在我看来,RTA是一种提供数据的折中方式,广告主不希望将完整的后链路数据全部回传给媒体,而又希望更好的使用上自身的后链路数据,RTA就允许广告主在自己的服务器上基于历史的数据做好各种处理,而媒体就单纯通过设备id问你要不要这个用户或这个用户你给多少质量分,RTA在避免大量回传数据的前提下,结合了媒体数据与广告主数据,从而让广告曝光更加符合广告主个性化的定向要求。
RTB与RTA的区别
RTB(Realtime Bidding)称为实时竞价,是广告投放中常见的竞价方式,RTB利用广告主侧的数据对广告竞价给出一个结果,从而实现是否要将某广告曝光给某用户的效果,要的话,就出有竞争力的价格,不要则不出价。很明显,RTB可以实现类似RTA的效果,所以很多朋友对两者的理解有点混乱。
我们可以从RTB与RTA在广告投放中使用的具体场景来对两个概念进行区分。
目前主要有2种广告投放的方式:
- 第一种,直接通过媒体平台直投,如腾讯、头条、快手、百度这些大媒体平台都支持直投,我们可以通过媒体提供的投放平台或API直接创建广告进行投放,这也是我工作中主要接触的投放方式。
- 第二种,程序化投放,广告主DSP(广告投放平台)接入第三方ADX(广告竞价平台)通过RTB的方式进行广告投放。
如果我们通过媒体直投的方式投放广告,媒体本身会处理好eCPM预估,但如果是通过ADX的形式投放广告,eCPM的预估就会落到广告主DSP身上,当一个广告曝光需求过来时,ADX会告知它下面所有的广告主DSP,广告主DSP基于自己的数据实现eCPM预测,然后实时竞价(RTB),如下图:
程序化广告竞价流程
RTB是ADX与DSP的交互方式,在ADX上投放广告时才会提及,如果是大媒体直投广告,通常不会强调RTB,因为大媒体自身包含了上图的前四部分(网站/APP、SSP、ADX、DSP),以腾讯为例,腾讯有众多APP(微信、腾讯视频、QQ音乐等等)通过腾讯内部的SSP进行流量管理,并通过内部的ADX进行流量竞价,我们投放广告时,直接使用腾讯的DSP,它会直接与内部的ADX实现数据互通,因为都是内部实现,其DSP与ADX之间是否使用RTB不会像第三方ADX那样明确。
单纯使用直投的方式或单纯使用ADX的方式,都会有缺点,在理解缺点前,需要理解eCPM预估的大体流程。
在计算广告领域中,eCPM(effective Cost Per Mille,千次展示期望收益)预估的是否准确是实现广告个性化曝光的核心要点,其预估公式如下:
上述公式中:
- 表示广告本身的特征
- 表示用户特征
- 表示上下文环境特征
举个例子便于理解上述公式,假设我们要投放减肥广告A,首先要获取广告A的特征(),比如广告落地页特征、广告视频元素特征、广告BGM等等,某用户在媒体上浏览资讯时,媒体会尝试将广告曝光给该用户,此时就需要获得用户特征(),该用户是女性,年龄28,兴趣美妆、娱乐,过去浏览轨迹xxx等等,媒体会基于用户当下浏览的上下文(),比如当前正在看减肥人士的成功经历,结合这些特性信息,可以判断出广告A适合在此刻曝光给该用户。
直接预测eCPM是困难的,所以在实际的工程实现中,会将预测eCPM的任务进行拆分,假设广告平台按CPC出价结算(Cost Per Click,按点击计费),eCPM就可以拆分为CTR(Click Through Rate,点击率)乘以CPC:
CTR与CPC的预估可以交给2个算法团队去实现,整合起来便是eCPM。
理解eCPM后,回过头来说说直投与ADX投放的缺点。要准确宇预估CTR与CPC,用户特征()是必不可少的,如果单纯通过直投的方式投放广告,用户特征依赖于媒体平台的数据,此时缺乏广告主侧重要的后链路数据,如果单纯通过ADX的形式投放广告,上下文环境特征()会缺失,用户特征在媒体侧的数据也会缺失,即与都会受到影响,因为数据的缺失相比直投更多一些,所以在相同技术能力下,通过ADX形式投放的广告没有媒体直投那么精准。
RTA的出现,让直投可以利用广告主侧后端数据,弥补了用户特征缺失的缺点,让CTR与CPC预估得更加准确,从而实现更精准的广告曝光。
结尾本人能力有限,文章如有疏漏,欢迎找我交流,斧正文章观点,下篇计算广告的文章会讨论流量作弊与反作弊技术,期待一下吧。
本文参考:
互联网广告中的出价模式(http://www.opp2.com/166478.html)
RTA 广告产品能力详解(https://zhuanlan.zhihu.com/p/259912884)
浅显易懂地讲讲RTA和RTB(https://zhuanlan.zhihu.com/p/354489134)
二张图白话广告RTA技术(https://zhuanlan.zhihu.com/p/351762319)