怀疑手机窃听我们讲话,并推送定向广告?

本篇文章系转载,源文章地址如下:怀疑手机窃听我们讲话,并推送定向广告?_搜索_方式_进行 (sohu.com);侵删

前言

相信大家生活中都遇到过、或者听朋友提到过类似场景:刚刚与朋友聊天提到了一件商品,转眼刷手机就看到了它的广告。

因此我们想当然会怀疑:难道是手机在偷偷听我们说话,并且根据说话的内容,向我们推送了精准的定向广告?

这种说法乍一听从动机上非常合理:广告主为了让自己的广告费花的更值,或者流量主为了把自己的流量分配的更合理、卖的更值钱,都非常有动机去做这个事情。

作为一名广告产品经理,也曾多次与朋友交流过这个现象。虽然从逻辑上似乎可以说得通,但是总感觉有一些不太对劲,也从来没有听说过使用这种数据来进行广告推荐的。

那究竟这种方式是否存在,是否可以实现呢?

一、你看到的广告,都是怎么出现的

分析问题之前,首先要明确下我们的研究对象,才好找到目标,并对每一个环节进行分析。

广告的分类方式有很多,比较常见的分类方式是通过媒介方式来进行区分,按照比较宏观的按照载体划分的话,主要有:纸媒类广告、广播及电视广告、户外楼宇广告(广告牌广告)、电子邮件广告、网页广告、移动App广告。

一般我们会把前三种媒介形式上的广告称之为传统广告,后三种广告称之为数字广告。其中一个很重要的区别,是媒介的承载形式发生了很大的变化,其中最核心的变化就是找到广告受众目标人群的方式发生了变化。

1、传统媒介广告

传统的媒介广告显然不是我们今天研究的重点,如果你和朋友刚刚聊到了奥迪汽车,然后顺手翻开了手边的一本杂志、并发现杂志封面恰好是奥迪汽车的广告,显然你不会怀疑是杂志“偷听”了你讲话,没有正常人会这么想。

传统广告无法精确地找到自己的目标人群,也没办法准确的知道究竟谁看了自己的广告、以及衡量广告的真实收益,只能通过其他的手段来辅助自己尽量让自己的投放更精准一些。

比如奢侈品品牌往往会在时尚杂志上投放广告,不仅仅是因为时尚杂志看起来包装更精美,还有考虑到阅读时尚杂志的人群往往消费能力会更高一些——尽管他们也很难验证看到自己广告的人是谁;比如男性用品比如剃须刀等,会更喜欢投放体育频道的广告——尤其是足球赛事直播附近的时段,因为从数量上看,在这个时间看体育频道的性别比例,男性是远高于女性的。

传统媒介上的广告显然不可能“窃听”你的谈话,更不可能给你推荐精准广告。每个人只要看到拿到了这本杂志、换到了这个电视频道,看到的广告都是相同的。因此传统广告的售卖方式往往是CPT(cost per Time,也见过有人说是cost per 天,反正意思确实也没错)。

2、数字广告

数字广告是伴随着互联网出现的,并且随着时间的推移,人们已经几乎将绝大部分的时间都消耗到了手机和电脑上,因此广告费用也在逐渐向这些平台进行迁徙。

伴随着智能手机的高普及率,移动广告已经占据了广告市场的绝对主流。 但在移动广告领域,同样是看到一个广告,其产生的方式也会有很多种:

2.1 搜索广告

搜索广告的概念是比较好理解的,当你打开搜索引擎,随便搜索一个关键词,都能看到几条和你搜索内容相关的广告。

打开手机应用商店去搜索一个应用时,除了你要找的那个应用之外,一般你还能看到几个打着广告标识的App推荐给你下载。

这种基于搜索关键词的广告推荐方式,一般是通过用户主动输入的关键词进行竞价。

当你看到相关的广告一般也并不会觉得惊奇,甚至觉得很可信。

从效果上看,这类广告的转化率一般也都不错,毕竟当你带着明确的目的去搜索一个词的时候,想要的东西是非常明确的。对于广告主、流量主和你来讲,这似乎是一个三者都还算满意的结果。

不过,这类广告确实也极易对用户产生困扰。

当用户搜索一个词条想要获取有用信息,却误入了广告内容,很容易带来一些非主观想要的结果。 同时搜索广告也存在消耗天花板比较低的情况,就不在本文章展开做介绍了。

2.2 合约包段广告

搭建一套广告算法推荐系统并不是容易的事情。在实际广告投放中,有相当比例的广告主也不太喜欢“精打细算”的广告投放方式。

比如品牌广告投放有时就是要追求“承包”了整个App的视觉效果,因此“包段”式广告的广告仍然有相当比例的存在,一般我们把这种广告称之为“合约广告”。

比如开屏广告位, 开屏广告位的售卖方式,从寻找用户的方式看,和杂志封面广告没有什么区别。相当于一个杂志社发行了1万本杂志,只是分成了10份,每一份的1千本印上了不同的封面广告而已。

这种广告形式售卖广告的逻辑和传统杂志都很相似,广告主投放时主要考虑的也是流量主的品牌调性和用户人群。

比如一些小而美的移动App,本身的流量数量比较小,但依然可以借助自己的媒体品牌影响力和调性,获取到不少的品牌广告订单。

这种情况下,流量主本身既不需要、也支撑不起算法和背后的系统 ,更没有动机、也没有能力去窃听用户谈话的。

2.3 流量主的oCPX广告

合约包段广告大部分是通过CPT或CPM(Cost per mile,每千次曝光计费)的方式来进行投放的,在这种合约广告的投放流程中,因为广告主是按照“曝光次数”进行广告付费,因此理论上流量主只要满足了广告主的曝光次数要求,就完成了任务可以挣到广告费用。

但这种广告投放方式有个弊端——广告实际投放的效果好坏并没有被考虑到。

因此近些年,出现了oCPM的广告投放模式,o即optimized(最优化)。在这种出价方式下,广告主可以在投放系统中设定自己希望的转化目标并填写希望为这个转化目标所支付的出价,但是实际与流量主结算时依然以单次曝光的价格进行累加计算。流量主会用尽一切办法完成从曝光到转化目标的优化,以达成广告主设定的转化目标出价。

在oCPM的场景下,广告主的出价方式与结算方式产生了分离。既可以满足广告主对转化目标的追求,同时流量主也不会空耗曝光,能从每次的曝光中拿到相应的收益,并尽可能的让总的效果满足广告主的目标。

关于具体的实现方式会在下文中有一些介绍。oCPM广告的出价形式基本是当前广告市场使用率最高的场景,可以较好的平衡广告主与流量主的诉求,同时也让流量主有动机去更好的优化出价机制。

图1 不同出价方式的比较

说到这里,终于可以callback 到今天的主题了,流量主为了给用户做到更好的效果优化,当然有意愿对用户更加“了解”,让广告投放更精准。

好,锁定今天的第一个嫌疑人——流量主,也就是你看到广告时正在使用的那个App。

2.4 程序化广告投放

在2.3中,我们讨论到,如果流量主为了收获到更好的投放效果,会想一些办法去收集用户数据,并推断什么用户喜欢看什么样的广告。

但尽管流量主很努力的在试图为广告主创造更好的投放效果,但实际上也只是在利用流量主自身积累的数据。

流量主再努力,毕竟不会比广告主对自己的用户更加了解。广告主同样也有很强的意愿能够参与到广告的投放流程中来,为自己的广告效果进行更好的优化。

比如商家要对外投放广告时显然会比流量主更知道自己的用户最近想要购买什么商品,同时也不想把这种机密的数据告知流量主,流量主掌握的有限数据和广告主本身相比还是有很大差距的。

于是有一些技术实力强的广告主站出来说,不如每一次广告展示前,你问下我愿意出价多少就好了。是我的目标用户我就出高价买断,不是我的目标用户我直接弃拍。

程序化广告投放方式出现了。

程序化广告的出现是互联网人的智慧集大成的表现,他将一个广告的展现流程从博弈论的角度做到了理论上的全流程各平台利益的最大化。

这个复杂的逻辑里也产生了大量的概念和名词,相信每一个互联网广告人刚刚入行接触到这些名词的时候都是一脸懵的。DSP、ADX、SSP、DMP、PD、PDB、RTB、RTA等等等等,这些看起来像是同分异构体的字母组合到底背后承载了什么功能,他们的区别又是什么。

对于每一个互联网广告人来讲,记住这些缩写字母的含义并熟练的使用,是判断是否入门的一个重要标志。

如下图:

图2 程序化广告投放全流程图

这个图的作用当然不会让初学者可以很快的记住这些概念的含义,只有自己深入的参与到这个系统后才可能有深入的了解。但是可以让你在实际工作遇到这些名词的时候,过来翻一翻这张图,相信会减少一些困惑。

我们试图沿着数据的流程和不同的实现方式,将程序化广告的全景展示出来。

(1)流量的产生者——手机客户端

所有的广告流量均来自于手机的客户端,也就是俗称的App。广告最终的曝光、点击和转化也都会发生在App里进行,App也是用户参与到广告流程的最重要介质。

一个App如何接入到程序化广告的投放链路里呢?从实现方式的角度一般分为两种,通过自己的服务端对流量进行转发(也就是常说的API接入模式),亦或是通过接入第三方的SDK来实现接入(一般称为SDK接入模式)。

通过自建服务器进行数据的转发是大型App接入程序化广告常选择的方式。

在实际实现时,手机应用的绝大部分信息都来自于服务端的返回,比如一个新闻资讯类的App,你只有上网才能看到最近的新闻。

一般为了更加灵活,开发者们也更喜欢将更多的配置信息放到服务端来实现,客户端本身仅承载功能性的内容。

手机客户端一般会在即将获得广告展示几乎前的几秒钟,向服务端发出请求,询问接下来会有什么内容要展示,同时也会询问有没有广告内容要展示。

服务端经过计算后,将内容信息和广告内容下发给客户端。客户端收到广告后,按照约定的广告展现方式将广告进行展示。

至此对于客户端来讲就完成了一次广告的流程。

在这个流程里,客户端并不会关心广告是从哪里来的,它只会关心服务端是否按照约定返回了广告,并顺利展示就好。尽管客户端不知道在这短短几百毫秒内,它的这些信息已经被转发给了无数个系统,又经过了无数个系统的复杂运算,返回了一个广告——当然这是后话。

嵌入第三方SDK接入广告对于很多开发者来讲是一个成本比较低、且收益比较快的接入方式。

不是每家媒体都有能力自己研发一套服务端的广告服务,这需要到大量的服务器成本投入和人力投入。

对于这类中小型开发者来讲,对他们最省事的做法是接入第三方的广告SDK,一次开发就可以等着收入进来了。

第三方SDK接入App后,客户端如果将要出现一个广告展示机会,会将这个展示机会告知给SDK,然后SDK会告诉它要展示什么广告。甚至流量主自己的服务端都没有参与广告的流程、也不知道展示了什么广告。他只需要第二天登录到广告平台查看自己昨日的收益就好了。

(2)流量的传输者—— SSP、ADX等交易市场的主要部分

客户端将广告请求发送到服务端仅仅是第一步,在这个流程后将需要进行大量的计算和交易才能完成一次成功的广告曝光。

为流量主提供SDK的接入服务,并处理广告数据转发的系统,我们一般称之为SSP,也就是流量主服务平台。

判断一个功能模块是不是SSP功能的范围,最核心的就要看这个功能是不是服务于流量方,是不是能为流量方带来效率和收入的提升。

SSP收到请求之后,也无法决策要展示什么广告,它也要继续向上询问,此时SSP要把流量接入到交易平台里进行交易。

广告交易平台(ADX,Ad exchange)就出现了。ADX为一个程序化广告的最重要枢纽,也是互联网流量的拍卖场所。ADX向下与流量主进行打通,向上与众多广告主平台(DSP)取得联系。

ADX承担的最重要的职责是要完成流量的竞拍。

通常一个ADX会向上接入数十个DSP平台,并将下游发过来的数据向DSP转发。DSP也会在约定的时间内返回出价行为,之后ADX对所有的出价进行比较,选出出价最高的广告,并将这条广告返回给SSP或者流量主,最后在客户端上完成展示。

举个例子。

我们可以把ADX完全比喻成一个古董拍卖行,有商贩想卖古董,有收藏家想买古董。

商贩想卖古董时,会把这个古董的完整信息告诉拍卖行。

拍卖行拿到古董的信息后,马不停蹄的同时把这个古董的信息转发给所有收藏家,并要求收藏家在一个约定时间内回复价格,以及以什么样的方式购买。

当古董行拿到所有收藏家给到的出价后,进行逐一比对,并宣布价格最高者获胜,获取到了这个古董,这个古董就归这位出价最高的收藏家所有了。

拍卖行为了刺激大家出更高的价格,还会约定一种结算方式——交易的价格并不是最高出价,而是按照出价第二高的价格通常加1分钱,与获胜者进行结算。这种结算方式一般称为广义第二价格拍卖(GSP),也称为二价结算,是目前广告交易市场通常采用的方式。

二价结算有利于刺激DSP平台针对自己想要的流量出更高的价格,最终收益的还是流量主本身。关于第二价背后的博弈论,也不在此展开解释,有兴趣的同学我们也可以随时交流探讨。

好,在这个流程里,古董是什么呢?

古董就是每一位用户的信息,包含了广告将要展示的位置、设备号、IP地址(可以理解为地域)、设备信息等等。

这个拍卖行就是ADX,他负责一次次的把卖家的信息转发给所有潜在买家,并比较所有买家每一次的出价信息,并一次次的判定成功购买者。

购买方式就是广告主的素材,也就是要让这个用户看到的广告的图片或者视频。

双方约定的出价时间就是相应时延,拍卖行将信息提供给收藏家后,收藏家不能踟蹰不前,要在很短的时间内完成决策是否出价、出价多少,影响整个系统的耗时。

ADX就这样夜以继日永不停歇的工作着,每天处理着海量数据,为了让每个用户能够顺利的看到他们“想看”的广告。

ADX的信息处理效率我们一般以QPS来衡量。通常,一个中大型的ADX,其QPS量级大概在数万级别。如果同时接入十个DSP的话,QPS量级将要直接到数十万乃至百万量级,也就是说一秒钟要发出100万次请求,再接收100万次的返回。

如果对这个数据有概念的同学会了解到,这是一个多么庞大的数字。当然,针对这种高并发的场景,也有很多的技术处理方式,这个属于技术优化的内容,就不在这里展开进行讨论了。

(3) 流量的决策者—— DSP和他的好搭档DMP

DSP的全称是Demand Side Platform,与SSP听起来也很像,这里的Demand和Supply的对象都是流量。DSP是对流量的需求方平台,SSP是流量的供给平台,ADX是交易平台,这样理解对刚刚接入这个行业的同学会清晰很多。

DSP作为需求方平台,主要的服务对象就是广告主,也就是服务于花钱的人。

判断一个功能是不是属于DSP的范畴,最重要的就是要判断这个功能是否是为了提升广告主的效率和服务质量。DSP平台最基础的服务就是创建广告并完成广告内部竞拍,除此之外,还会有一些投放效果分析、素材服务等面向广告主的数据服务。

回到上面的那个例子。

在程序化广告投放流程中,ADX将广告请求到DSP平台后,DSP要做出一个重要的决定——我要不要买这个古董、我要为这个古董出多少钱?

DSP显然不能拍脑门来做决定,作为一个二进制的系统它也只有与非门,并没有脑门。

他要借助于逻辑和DMP来对这个古董进行判断,古董保不保熟?

如果是个好古董的话,我要为他出多少钱,我要用什么方式去购买(看到什么广告)?

DMP的基础功能就是对用户进行标记,可以把DMP理解为一个超级大的个人信息表,上面写着每个人的性别、兴趣,以及和自己平台相关的一些特性。

一般来讲DMP分两种,一种是广告主自建的DMP,一般互联网公司都会有这个体系的服务,对自己的用户进行标记和识别;一类是第三方平台的DMP,他们虽然本身不是广告主,但是自身通过各种方式存储了一些用户的信息与特征,并将这种信息作为一种商品进行售卖,给到一些没有用户识别能力的广告主进行广告投放使用。

当ADX将这个古董的基本信息转发给DSP后,DSP要先过去问下DMP认不认识这个古董?

如果认识的话,这个古董熟不熟?如果不认识的话… 不认识的话就算了,不知道真假的情况下,DSP大概率会选择放弃出价。

一般通过DMP进行简单的信息判别之后,DSP会进行从自己的广告库里挑选一个最合适的广告,并计算出来认为合适的价格给到ADX(挑选的过程会在下文进行介绍),此时就完成了一次内部竞拍。

市面上常见的DSP平台分为三种:

第一种是大型流量主自建的广告投放后台,承担了DSP的部分功能,这类DSP平台的特点是广告主众多、有自己独占的流量。

第二种是第三方的DSP平台,特点是广告主众多、流量也都是通过ADX或者自己的SSP收集上来的;

第三种是inhouseDSP,这类平台的特点是广告主只服务于自己的产品,一般没有自己独占流量,都是要到流量交易市场里去不停参与拍卖的。

至此,程序化广告的交易链路就介绍完成了。

在这整个流程里,有些流程只做了“传话人”;有些流程发挥了关键作用,作用效果完全取决于自身的技术能力。

在这整个流程里,由于数据链路非常长,参与方非常多,有谁有动机去“窃听”你的广告信息呢?

图3 程序化广告中最常见的三个参与方

首先,DSP作为广告主的代表,是非常有动力去采集用户的信息的。仅仅从动机上说,假如App听到你谈话中说道“我想要买个洗衣机”,那么他一定会不遗余力的让你在各个地方看到洗衣机的广告的。

DMP也是一个有很强的动机去了解你的信息的角色,尤其是第三方DMP平台,DMP平台最大的用处就是判断这个用户的兴趣习惯。能采集到用户的更多信息,对于判断用户的价值将会有很大的帮助。

ADX作为一个交易平台似乎没有这个动机去做这个事情,ADX的身份决定了他根本不想管你说了什么,他只管你出多少钱,别的说再多也没用。

SSP本身是服务于流量方的一个角色,似乎他也没什么动力去管你和朋友聊了什么,他只关心有没有更多流量能接入进来。

2.5 RTA参与广告投放

RTA是个新概念,也是为数不多数字广告领域由中国的互联网公司发明的新技术,当前也只有国内的广告投放有用。

2.3和2.4提到的两种模式,都有一个弊端,要么只有流量主出力,要么只有广告主出力,双方一起出力会不会更好呢?RTA诞生了。

RTA的全称叫做real time API,这个命名方式总觉得有点奇怪,感觉有点像说了没说一样。你不会形容一个飞机叫做会飞的飞机,同理你也不需要形容一个API接口是实时的。个人认为叫做“数据回传系统 Data return interface”DRI可能都会好一些,会更符合这种投放方式的定义。

言归正传,虽然我没有见到过别人这么分类过,但是我依然会把RTA当做程序化广告的一种实现方式,无非是不再通过程序化广告的完整流程实现了。RTA和RTB相比,最关键的是没有了bidding了,也就是说DSP不再参与出价了,只提供建议。

还是拿刚才的古董拍卖举例子,在RTA的流程里绕过了拍卖行。

上面2.2中的提到的oCPX方式可以理解为,当一个大商贩想要卖出古董时,不再让拍卖行寄售了,而是让所有的收藏家过来登记好信息。

登记信息大概想要什么样的古董、愿意出多少钱,登记完大家就走了(类比于去媒体的广告后台去创建广告)。

每当商贩进来新古董时,他会根据收藏家预留的信息计算后决定每一个古董归谁,并计算好价格。第二天,所有收藏家会收到一份账单——花了多少钱、买了哪些古董。

收藏家可能不爽,但也没办法,毕竟有的买家不太识货,与其让他自己挑、不如给他分配好,可能他买到的东西更好。

但是有一些识货的行家不愿意了,凭什么你给我分配好我要哪些,你真的了解我想要哪些古董吗?

因此他提出,商贩每上一批新古董时,都要过来问下这位懂行的收藏家,您要吗、你觉得这古董您愿意打多少分?

然后商贩根据这位行家的反馈,给这位行家进行特殊调整的分配方式,比如这位收藏家反馈不要的古董,即使商贩认为再合适也不会分配给这位卖家了。

收藏家看上的古董一定能买到吗?不一定,尽管买家表示想要,但是卖家依然会综合考虑其他买家的情况,来决定出售给谁。

收藏家的眼光就一定更准吗?那也不一定,甚至可能因为挑三拣四导致自己买不到几个古董(广告预算花不完),但在这个环节里至少买家感觉自己参与了这个流程。

RTA的投放方式本身并没有增加新的参与方,只是在原来的基础上又创造出来了一种新的玩儿法,来试图达成大家共同的目标——让合适的人看到他最该看到的广告。

图4 计算广告常见的投放方式链路图

二、窃听到谈话,要如何使用

我们先假设,这些超级App可以顺利获取到你们交谈的信息,他们要怎么把这些信息用于广告的推荐呢?

1、如何把"交谈的内容",变成影响广告的一个因子

(1)语音识别

想要实现把"语音"变成输入广告的一部分,第一步是要把语音变成机器可以识别的内容。

机器不会直接存储语音的。语音的信息密度太低了,当你收到一条55s的语音时你感觉很暴躁就证明了这个道理——每次听完一个55s的长语音,人生就又缩短了55s。

因此如果想要实现高效率的信息采集,首先要把音频转成文字,这项技术基本上各大互联网公司都有自己比较成熟的语音识别解决方案,或者也可以很方便的采购到第三方的服务。

尽管这项技术已经发展的很快,当前在语音输入、AI客服等方面也已经有了比较成熟的运用,但是这些场景相对都是比较简单的1对1对交谈能比较好的保证识别准确率。

但是如果放到背景比较聒噪、人与人闲谈的场景下,一般至少是两个人甚至更多人,而且要保持长时间的"窃听",准确率是否能够得到保证还很难说。

尽管我在怀疑交谈中进行语音识别的准确度,但是从技术上来讲,这的确是可行的,只是准确率的问题,而且随着时间积累我们可以相信识别的准确率可以不断上升。

(2) 语义理解

假设语音识别这一步可以顺利完成,下一步就是要把这些识别出来的"文字",变成机器可以理解的样子。

人与人沟通的成本有时都会很高,大家遇到说车轱辘话、表达不清楚、信息量很低的聊天对象时,想要判断对方在表达什么都会很难,更何况机器这个只认识二进制的“钢铁直男”。

很简单的例子,两个人在对话的过程中,一个人说到"我最近好想买一辆奔驰汽车啊",另一个人当然知道他在说什么。

但是对于机器来讲,这句话是不能进行直接用的。这里就需要对自然语言进行理解,这也是当前正在快速发展、并在逐渐应用的技术。具体的实现细节本次分享探讨的范围之内,也不在我的领域范围之内。

但是从结果上看通过这项技术,可以完成关键的一步,把说出来的"文字",转变成机器可以理解的含义,机器能知道,说话的这个人对什么什么,可能产生了兴趣。

在这个技术背景下,这一步也是可以实现的了。

(3)与用户关联

接下来就要把机器理解的含义,通过已经设定好的判定逻辑,变成挂在你身上的一个个标签,这些信息一般就会存储在DMP(上面有介绍什么是DMP)中。

假如上面的流程顺利,在DMP中你身上就会挂上新的标签:"近期有购车意向"、"对奔驰汽车有好感"。当奔驰汽车的广告有投放时,DMP就会把这个用户指出来:就是他!

在这个流程下,尽管每一步的技术门槛都比较高,但是从理论上,我们可以认为这个流程是完全可以实现的。

2、广告推荐的实现

在这里主要对广告推荐算法的流程和实现的功能做一个大概分享,实际上广告推荐算法包含的细节非常多,也是整个广告推荐系统最核心的模块。

以RTB的投放形式举例,讨论在实时竞价广告中的广告推荐实现。(通过程序化投放和流量侧DSP投放的核心区别是由谁完成了曝光价值预估的环节、用了谁的数据,广告推荐模块是大同小异的)

在oCPM的出价方式下,广告主是虽然自己关心的是投放的转化效果,但是与流量侧仍然要以曝光的价格进行结算。

因此对于广告主来讲,想要用获取到好的投放效果,最重要的一步就是要预估好用户的价值,给每次出价行为合理的价格、合适的创意。

通常来讲,一个用户从看广告到产生希望的转化行为可以笼统地分为两步:看到广告素材点击广告,进入到广告落地页后产生转化的行为(比如点击下载、填写表单等等)。因此想要准确的预估转化效果通常有两个关键的预估:CTR(点击率)和CVR(转化率)。

如果可以准确的预估出来一个用户的CTR和CVR的话,那么就可以很容易的计算出来给该用户曝光这个广告的理想价格,可以得到该公式:

eCPM(曝光的预估出价) = CPA_BID(广告主希望为效果转化支付的价格) * pCTR(预估的点击率)* pCVR(预估的转化率)

对于广告推荐系统来讲,谁能够更好地完成CTR和CVR的预估,谁的能力就更强、谁的投放效果也就会更好。

这里主要用到的就是机器学习、深度学习等领域的知识了,也就是大家常说的“算法推荐”。即通过收集用户在平台上产生的多维度数据,建立起用户与广告素材、投放标的、转化效果等事件之间的数学模型,从而当产生新的曝光机会时,预估该用户从曝光到点击的概率和从点击到转化的概率。并且将产生的新数据继续拿来训练模型、调整参数,从而让推荐模型的预估更加准确。

一般在广告推荐系统里会有以下几个环节来实现这些目的:

(1) 广告召回与定向

对于DSP来讲,同时在投的广告往往非常多。

如果每次有曝光的机会时,要计算预估这些所有创意的CTR、CVR,不仅效率不高,恐怕也承担不了如此大的计算成本,计算时延也将大的可怕。

因此要进行模型计算之前,先淘汰掉一些明显不合适的创意,只让大致符合要求的创意参与接下来的流程,会极大缩小计算成本,提高系统效率。这个筛选的过程在推荐算法领域一般称之为“召回”。

召回的方式有多种,甚至在数据量比较大的推荐系统里会有“多路召回”,即通过多种方式进行筛选,最终放到一起进入下一轮的比拼。

在广告推荐系统里,召回一般会剔除掉比如素材规格不符合该曝光机会、不在投放时间、预算花完了等等条件的创意,这些筛选往往都是可以通过简单的比较来剔除掉的。(大的广告推荐系统也会在召回环节增加比如“探索召回”的方式,通过一些模型对一些创意进行预估判断。)

召回的主要目的就是缓解下一步计算价格的压力,缩小计算范围。当然,召回的队列方式有很多,内容推荐和广告推荐也有很多不同的方式,在这里也不做展开介绍了。

与此同时,还要剔除掉一些不符合“定向”要求的创意。比如某个创意定向的是男性,而这个曝光机会背后的用户被DMP认为是女性,此时这个创意就不会被召回进入到下一步的计算中。

还是用前面的古董拍卖举例子。

前面提到,商贩在分配古董前,会邀请收藏家到他这里登记下分别想要什么古董、预期价格是多少。这一步可以类比成为创建广告的流程,在创建广告时,你需要填写预算、定向等信息。

但是假如同时登记的买家非常多,有新的古董进来后,这位商贩要计算每一位买家是不是合适,要出多少钱,这也未必效率太低了。可能要多雇用很多店小二才能完成。

因此在计算每一位收藏家的价格前,卖家会先看看这些买家分别都要什么样的古董:比如有个买家只喜欢蓝色的,这次进来一个红色的,那就算了——反正如何他都不要,就不要给他计算出价了。

如果有个收藏家要求10分钟内坚决不买两个古董——这就是频控。

如果有广告主的预算快没钱了,那也就歇着吧,别竞价了——这就是预算控制。

等等,通过这些行为,可以筛选掉大量的不符合这个古董条件的买家。

(2) 广告粗排与精排

召回后,所剩的买家已经没那么多了,接下来要去一个个去计算每个买家的购买能力了。

下一步就要计算广告的粗排和精排环节,完成出价的计算和预估。通常pCTR和pCVR模型的调用和计算也会在这一步实现(具体放到哪个环节一般根据系统的复杂度和架构来决定)

粗排本身的计算复杂度一般相对较低一些,其本质也是为了减少下一步的计算压力,类似于一个缩小毒圈的过程。一般在粗排会继续将通过召回的创意数量进一步压缩。

到最后精排一步,算法系统用尽全身功夫,给最后的买家计算出来每一个适合的价值,并进行排序,选出可能出价最高的一位买家。此时,假如一次请求有10个创意进入了精排,则需要准确地在精排之后计算出来这十个创意的eCPM了。

(3)竞价到出价

一般来讲一次广告请求只会下发一个创意,那么根据精排的计算结果,eCPM排名最高的这个创意就顺利从千军万马中胜出,顺利获取到了这次曝光的机会。当然如果在这一步有一些出价策略的调整,比如某个创意有扶持计划,也可能不是排名第一的创意能够顺利胜出了。

当然,无论如何到这一步会有一个最终胜出的创意进入到下一步的环节了。返回给ADX后,ADX再进行一步竞价,如果获胜后会通过服务端将这个广告返回给客户端,如果客户端顺利加载出来这个广告就顺利完成了曝光了——对的即使经过了前面这么多复杂的流程,往后还有很多个“如果”会导致广告没办法顺利展现。想到了之前一位同事的分享——《一个广告多努力才能让你看到》,一个广告想要让用户看到真的很不容易。

图5 广告推荐系统中几个常出现的概念

3、窃听到的信息如何在推荐算法中使用?

至此,我们已经基本介绍完了计算广告的基本流程,在这个流程里,我们可以设想:

奔驰汽车在广告投放平台的DSP创建了一条广告,并选中了一个定向标签"对汽车感兴趣",或者是创建了一个oCPM广告,将优化目标设置成为了"收集销售线索";

你和朋友在聊天,提到了“我想买一辆奔驰汽车”,被App窃听,并经过语音识别、语义识别,最终将“你对奔驰汽车有兴趣”这个标签,最终标记到了广告投放平台的DMP里关于你的记录上。

与朋友分别后,你刷了信息流平台,信息流平台会在刷的过程中询问DSP:接下来要不要展示广告、要展示什么广告,DSP会根据你的用户信息去广告投放平台的DMP中检索你身上的标签,发现这个用户身上有"对汽车感兴趣"这个标签。此时这个广告大概率会被进入召回队列,如果最终杀出重围在精排中获胜,那么你就刷到了一个奔驰的汽车广告。

此时你惊呼:App窃听了我的谈话,还给我推送了精准广告!我的隐私还有没有了!

但是,这个流程真的会实现吗?

三、还原作案现场——能听到吗?

从上面的数据的流程上来看,每一步都可以实现。

但其实我们还差最关键的一步:你手机上的App,有能力窃听你讲话吗?

1、需要哪些系统权限才可以完成一次偷听?

那如果想要获取到谈话的声音,就需要用到一个很重要的系统权限——麦克风权限。

麦克风是所有语音信号输入到手机中的唯一入口,任何App无论广告主还是流量主,想要进行这种广告推荐行为,都必须在你的手机里安装一个App(或者sdk形式嵌入其他的App),并获取到麦克风权限。

作为一个如此重要的权限,手机厂商对此也是非常"照顾":

在Android系统中,任何一个App第一次想要获取到你的麦克风权限的时候,都需要弹出如下的一个弹窗,询问你是否授予这个App你的麦克风权限。

假如你选择了否——这个App不仅无法偷听到你说话,你想让他听你说话他都听不了,不行你试下把微信的麦克风权限关掉,然后看看还能不能发语音。

那假如在App已经获取到这个权限之后,是不是就意味着可以放肆窃听了呢?显然也不是——可以看到在手机的提醒里,只有两个选项,"仅使用中可以获取"和"仅本次使用允许"。

选择后者的话,这次允许这个App用了麦克风,下次想用的时候还要再弹窗申请才可以,否则还是不能用;

选择前者的话,之后这个App想用倒是不用申请了,但是必须保证App在前台才行,退出到后台乃至于被系统给杀死的情况下是一定不允许的。

说到这里,其实想要补充的是,多年以前大家提到Android手机几乎就是卡顿的代名词。的确在早期的Android生态里,App的权限获取的确非常混乱,而且原生的Android系统对此也更倾向于不管不问,更依赖于App本身的自觉性。

这导致大量的App的开发者为了完成活跃性的KPI"赖"在后台不走,且还会互相关联启动。在这种运转模式下,再强悍的性能也经不起折腾。

我依然记得我当年买了一个Google Nexsu手机,在安装了常用的App之后瞬间卡住,最后还要折腾root并寻找诸如绿色守护之类的App来协助从后台彻底杀死应用才可以维持手机都正常运行。

直到最近一些年国产手机厂商针对这类情况做了众多优化,以及工信部对这些App做了非常严格的权限限制,才保证了手机的权限可以被合理管控,因此也从系统层面保证了这些App在后台运行的时候,是几乎没有什么机会去"窃听"用户的讲话的。

对于iOS系统的手机来讲,限制就更加严格了,不仅同样会严格限制系统权限,即使在同意使用麦克风权限、调用麦克风权限时,可以观察到你的手机右上角会有一个小红点,给你很强的提醒:你的麦克风正在被调用,请注意!大部分Android手机中同样有类似提示。

不仅如此,智能手机的系统都有一个设置,也就是麦克风不能同时被两个应用同时调用——即使你被窃听,也只有可能被一个应用窃听,显然在国内的竞争格局下,无论是哪个应用获取到这个权限,其他开发者也不会允许他这么做的——毕竟伤害用户隐私、却只有一家得利的情况,是绝对不会允许长期存在的。

图6 部分设备索取麦克风权限时的系统提示

其实讲到这里才真正的讲到,App有没有可能窃听呢?

从客户端技术的角度上看,几乎完全没有这个可能。开发者需要付出很大的风险和成本,但终究敌不过系统对权限的控制。

当然,电视剧中可能会有在手机上贴一个小贴纸就可以窃听谈话的方式,能不能实现不知道,但是为了给你推送一个广告,这个成本未免也太高了。流量主展示一条广告,最大收益也不会超过1元钱(CPM价格到1000几乎是不太可能的事情),大部分的收益大概在几分到1毛之间。为了几分钱付出这么大的成本显然是不太现实的。

2、设备识别号——你在互联网上行走时暴露的身份证

其实讲到这里基本上就已经给这个题目画上句号了,在客户端想要收集到用户讲话内容是非常难实现的。但是,还是要在这里补充一个小的分类,在极端情况下假如App获取到了这个内容,想要使用也并不是那么随意的。

刚才有提到,收集用户数据和进行广告推荐基本都是异步进行的,这就要求广告推荐引擎不仅要收集到数据,还能识别到这个数据是哪个用户的,才能在后面的广告推荐中进行精准的计算。

这一步我们通常把它叫做"用户识别",用户的识别率高低也是决定了一个广告推荐系统是否强大的重要参数。

常见的用户识别方式有三种:各自的账号体系、手机号和设备号。

账号体系比较好理解,大部分流量主使用的也是通过登录的账号来识别具体的用户。只要用户在你的系统里完成了注册行为,就会给用户分配一个唯一且不变的id,即使切换手机登录,也可以精准的识别到这个是你,这时候你换手机并不会影响到看广告的"效率"。其优势是准确、可控,缺点就是只能在自己范围内进行循环,并不能被广告主精准识别,因此流量主自己的账号体系很少会用程序化广告的特征,基本都是用在内部进行广告计算的用户识别信息。

手机号也是比较常用的一种用户识别方式,尤其是对于一些线索收集类的广告主,比如汽车、地产等行业,一个真实购买意向用户的有效手机号就是他们投放的几乎唯一考核标准,他们也有可能将一些手机号码打包成"人群包",在广告投放时进行撞库,以获得更为精准的投放效果。手机号的优势是几乎所有App、广告主都可以获取,当然劣势就是对于用户的隐私保护影响极其大,尤其是当你点击查看了一个广告之后,马上就接收到了对方客服的电话时——这会让用户产生极强的隐私被侵犯的感觉。这种现象至今依然普遍存在,而且从用户的角度的确很难避免。

设备号其实是当前广告市场最为通用的用户识别方式。虽然统称为设备号,但是在不同系统中也有很多区别,比如Android手机会有IMEI号和OAID号,iOS用户会有IDFA和CAID。在过往这些设备信息都是可以被允许采集的,这也有效地帮助了广告主可以跨平台识别用户。

图7 部分设备索要设备号权限时的系统提醒

举一个通过设备号识别推送精准广告的例子,假如你在刷信息流平台的时候看到了你刚刚加入电商平台购物车的广告,这个时候你可能会很生气,信息流平台难道拿到了你电商平台购物车的数据?

实则不然,在这个广告链路中,信息流平台和电商平台都可以采集到你的设备号且采集到的结果是一致的,信息流平台通过广告投放平台的ADX向电商平台的DSP发送了广告请求,这个请求里就有你的设备号。

电商平台收到这个请求之后立即可以通过设备号识别出来这个是你,并在自己的数据库里检索到你添加到购物车的货物信息,并通过ADX向信息流平台下发了这个物品的广告创意。

在这个全过程中,信息流平台并不知道你在京东购物车的任何信息,他甚至都不知道电商平台为什么返回了这一条广告,他只是完成了一次数据的转发而已。 在这种情况下,我们可以认为你的隐私其实并没有被泄漏,这只是一个广告流程而已。

因此,最近iOS 14.5之后限制了对IDFA的采集权限之后,广告行业一直在高呼要变天了,因为这已经影响到了整个广告行业的全部流程。国内针对此种情况推出了CAID方案,关于这部分我就不在本文展开描述了,有兴趣的同学可以去了解CAID方案与IDFA的区别。

因此,如果对你的隐私还不放心的话,尝试打开设置-安全,关掉广告设备识别符,你会减少很多看似精准的推荐。

四、假如你的生活欺骗了你

综上所述,我们从整个计算广告的链路角度全盘抛开分析,尽管有很多方有这个动机和意愿去窃听个人谈话,但是从实现的角度来看是基本不太现实的。

窃听讲话并推荐精准广告并不是一件靠谱的事情,在我们从事的广告领域也从来没有用过这种方法去尝试做广告推荐,更多的还是通过更显性的数据去做分析和推荐。而且在推荐的过程中数据也是全程脱敏的,只有机器知道你该看什么,人并不会参与到决策的流程中来。

即使解释了这么多,依然会有人感觉不服,甚至信誓旦旦一定有这个事情发生过。

我们显然不否认这个事情的发生,本文只是从因果性的角度去分析,这两个事情并没有因果关系。考虑到事情发生的统计意义上的相关性,我们依然可以推测一些让你产生这种错觉的原因。

1、假如你的输入法欺骗了你

如果你意识到你向手机输入的所有信息几乎都是通过输入法来实现的时候,就知道为什么这么说了。事实上,输入法背后也都有比较庞大的广告业务,通过输入法的内容来进行用户数据的存储并不是新鲜事情。

2、 假如你身边的朋友欺骗了你

可能你和朋友聊天过后没有在手机上输入任何和聊到的东西有关的信息,但是不代表你朋友不会。

这里就出现了一个新的概念,在内容推荐算法里一般称之为"协同过滤"的概念。如果广告主通过别的数据判定你和你的朋友相似度很高,因此认为你朋友感兴趣的东西,你也有可能感兴趣,并给你推荐了这个商品的广告。

假如你朋友和你分别后对聊到的事情非常感兴趣,回去兴冲冲地收藏、下单、并完成了购买。在这种情境下,尽管你只是说话并没有任何操作行为,你也是有可能会收到这个商品的,这在具体的广告实践中也是一种常见的方式。

3、假如你的行为欺骗了你

当你谈到一个事情时,你未免可能自觉和不自觉的点击相关的内容,或者你过往的其他操作记录,已经决定了你正在关注某一个商品,在这种情况下,你也有可能收到相同的广告——即使你只在口头上提到过。

举一个例子,假如所有购买了A产品和B产品的用户,最终都会购买C产品,算法的模型当然会捕捉到这个成功率非常高的购买方式。假如你此时也购买过A产品和B产品,那么算法会认为你有很大的概率会购买C产品的。

虽然这个例子有一些极端化,但每个人的兴趣、关注点都有连续性和相通性,如果推荐算法捕捉到了这种关系,且有足够的数据来这个模型的话,用户行为之间的关联关系就可能作用于广告的推荐。

4、假如你自己…欺骗了你

当然,最后一个解释,可能你会不服,但我相信这也是客观存在的一种可能——就是自己的心理原因。

你每天会看到100个广告,其中99个都没什么你觉得正常,只有这1个出现时突然让你毛骨悚然,感觉自己被监听了。 实则可能只是大水漫溉投放的一条普通广告恰好命中了而已。比如通过地理位置定向、性别定向等方式,你恰好就是这些定向的一个交集。实际上,并没有人偷听你说话。

综上所述,超级App偷听用户谈话,并推送定向广告从产品的实现上是几乎不太可能的,也请有过类似感觉的同学暂时放下一颗心。

通过这次的分析,有两个目的。

对于非广告行业的普通用户来讲,将广告的全链路、全流程铺开介绍,让用户可以了解到自己为什么会看到一些看似精准的广告,以及如果介意的话有哪些方式可以避免。

此外对于处于广告行业的同学来讲,一个是将自己在数字广告领域工作的一些经验和分析进行总结和分享,通过这个与大家生活更感兴趣的场景,介绍数字广告行业的全链路。

当然,由于个人的工作经验和知识范围所限,某些部分了解比较多、某些环节参与较少,如有遗漏或者偏颇,恳请大家指正。

也欢迎大家就此话题展开更多讨论,让更多的同学对计算广告行业产生兴趣,加入到这个行业中来。

猜你喜欢

转载自blog.csdn.net/chenzhiang1/article/details/129418290
今日推荐