14.1 广告交易平台
我们先来看广告交易平台的优化目标,在公式2.2的基础上,这一目标可以调整为:
这里的a代表的是某DSP而非具体广告。与公式2.2相比,这一优化目标显然大大简化了:首先是成本项没有了,这是由在广告交易平台中分成或包断媒体资源的方式决定的;其次,收入项不再与用户或上下文相关,因为这部分因素都由 DSP来考虑,并体现在最终的报价中。显然,此优化简单地通过比较DSP报价,取价高者即可。因此,广告交易平台在各种广告产品中是算法方面挑战最小的。
虽然广告交易平台中的计算问题不多,我们还是要介绍以下两个问题。
(1)由于实时竞价的功能需求,广告交易市场解决供给方和需求方用户身份对应的问题,在Web广告环境下,这需要用到cookie映射的技术。
(2)实践中当考虑到带宽和服务成本带来的约束时,希望用更少的询价请求完成尽可能高效的变现,在这种情况下,公式14.1的优化问题会有所变化,这一问题称为询价优化。
由于主要功能是提供公开或私有的实时竞价市场,广告交易平台是架构上相对简单的广告产品,其架构如图14-1所示。
这一架构主要涉及的是在线广告请求时的系统过程,而离线的 cookie映射过程将在下面专门介绍。当用户访问媒体页面,广告请求发至 ADX 后,ADX 向各个接入的 DSP 发起询价并完成比价决策,然后将胜出的DSP返回给媒体页面进行广告投放。从核心概念上看,ADX既不需要自己的广告索引,也不需要 eCPM估计,因而可以用非常简单的架构实现。但是这仅仅是理论上的概念,实际产品中,ADX与ADN的界限并不是泾渭分明,往往为了支持小规模广告主在更方便的图形界面采买,也需要广告检索和排序;而为了实现询价优化,简单的eCPM估计也是不可少的。
14.1.1 cookie 映射
我们先来了解在线广告中是如何对用户身份进行跟踪的。在不同的广告形式中,采用的用户身份标识也不尽相同。
在 Web 环境下投送的广告,用户身份标识可以用 HTTP 协议提供的 cookie 机制来完成。cookie 机制在安全性方面有很多好处,比如每个域名下的服务只能访问本域名下的cookie,这实际上是由浏览器保证了不同 Web 应用之间用户数据的隔离。不过 cookie 在用户跟踪的有效性方面受到一些限制:首先,用户可以主动清除 cookie,于是广告系统对该用户的跟踪就中断了;另外,由于广告网络往往是在其他域名的网站上跟踪用户和投放广告,其种植的 cookie 是第三方 cookie。而对于第三方 cookie,浏览器一般有更为严格的限制,有的浏览器甚至会在默认情况下禁止第三方cookie,这也成为行为定向的障碍。随着市场对用户隐私问题越来越关注,W3C还进一步制定了“Do Not Track”(DNT)的标准,用于用户主动向网站要求不要被跟踪,或者不要被网站上的第三方应用所跟踪。cookie的跟踪方式还有一个问题,那就是当某台电脑的用户使用多个浏览器时,其 cookie 无法直接统一起来。
图14-1 广告交易平台系统架构
在有用户登录信息的广告产品中,用户登录的身份往往是比浏览器 cookie更强的身份标识,而最典型的情形出现在社交广告中。用户登录信息不仅在接续性上远远好于普通的浏览器cookie,还具有能够打通不同的桌面和移动设备的功能。因此,创造网站功能以鼓励用户登录是很多从事广告业务的互联网公司都在努力的方向。当然,也不能认为用户登录身份的准确性一定好于浏览器cookie。例如,在某些游戏性质较强的产品中,由于一个用户可能创建多个“马甲”参与,会导致其用户标识相当不准确。
与其他身份标识不同,cookie由于具有域名之间的隔离性,在 RTB这种服务器间的广告请求中,DSP无法直接得到自己域名下的cookie。因此,必须要通过某种技术手段来完成身份对应,这称为cookie映射。cookie映射应用的范围很广,除了上面提到的ADX与DSP之间的身份对应,典型的应用还例如媒体与DMP之间的身份对应以及某具有永久用户标识的服务向其他域名提供cookie找回的服务等。
cookie映射的场景比较多样,我们可以重点关注三个问题:由谁发起?在哪里发起?谁保存映射表?最典型的场景有两种:一是涉及两个域名,即在一个域名的服务上向另一个域名发动的 cookie 映射;二是涉及三个域名,即在一个第三方域名页面上发动的其他两个域名间的cookie映射。我们分别来讨论这两种情况。
涉及两个域名的 cookie 映射,典型的例子是媒体与 DMP 之间的身份对应问题。如图14-2所示,这一过程有5个步骤。
(1)用户到达媒体页面。
(2)向媒体的cookie映射服务请求一段负责此功能的JavaScript代码。
(3)媒体的cookie映射服务返回该段JavaScript代码。
(4)该 JavaScript 代码判断需要映射的话(如果最近已经做过则可以不做),向 DMP发起cookie映射请求,并传送两个参数:媒体的标识(mid)以及媒体方的cookie(mck)。
(5)DMP返回一个1×1的beacon,并记录下媒体方cookie(mck)与己方cookie(dck)的对应关系。
图14-2 媒体与DMP间cookie映射示例
考察一下关注的三个问题可以发现,这一 cookie映射过程是由媒体方在媒体的页面上发动,并由DMP方保存映射关系。这样做有其合理性:媒体需要从DMP获得标签的人群是自己的访问人群,因此从媒体页面发动;而DMP保存映射,可以比较方便地将自己的用户标签与媒体cookie对应,并传回给媒体。
涉及三个域名的 cookie 映射,典型的例子是 DSP 与 ADX 之间的用户标识对应问题。如图14-3所示,这一过程有6个步骤。
(1)用户访问广告主页面。
(2)选择性加载一个DSP域名下的iframe。
(3)DSP 判断需要映射的话,返回包括多个 beacon 的动态 HTML,此处多个 beacon的目的是为了同时与多个ADX交换cookie。
(4)通过其中的某个beacon向对应的ADX发送cookie映射请求,并带有ADX标识(xid)、DSP标识(did)和DSP cookie(dck)三个参数。
(5)ADX通过302重定向向DSP返回ADX标识(xid)及其域名下的cookie(xck)。
(6)DSP返回一个1×1的beacon,并记录下ADX方cookie(xid)与己方cookie(dck)的对应关系。
图14-3 DSP与Ad Exchange间cookie映射示例
这个过程与上一个过程相比,由于是在第三方的网站上发动映射,因而较为复杂,需要用到 302重定向,不过熟悉前端技术的朋友应该不难理解。仍然考察我们关注的三个问题,这次是由DSP在广告主页面上发动映射,并由DSP保存映射关系。这样做也是符合业务逻辑的:DSP主要需要广告主的人群做深入加工并对这部分人群在ADX中出价,因此从广告主页面发动;而 RTB 是 cookie 的对应,由各 DSP 分别自行完成比在 ADX 中集中时完成显然更加合理,因此这一映射表保存在DSP方。
除了上面两个典型的例子,cookie 映射可能遇到的需求还很多,但大家只要分析清楚关键的三个问题,并透彻理解上面两种方式,就很容易举一返三,根据实际需求设计合理方案。
14.1.2 询价优化
ADX中有一个重要的问题需要考虑,那就是如何在带宽和服务成本的约束下获得更高的eCPM。如果不考虑成本,ADX的询价策略非常简单,每次展示都向所有接入的DSP询价即可。可是当DSP数以十计时,服务成本就会上升一个数量级,这显然是无法接受的。因此,广告交易平台需要在带宽或服务成本的约束下,优化整体市场的eCPM水平。要考虑带宽或服务成本的约束,显然就需要对每次展示中询价的 DSP数目做精简,这个问题称为询价优化。
询价优化有两种典型的思路,一种是工程规则的思路,另一种是将其视为一个带约束优化问题的思路。先介绍一下工程规则的思路:考虑到DSP方有相当一部分是按照广告主定制标签来采买流量,因此,这种DSP一般来说只会在自己感兴趣的人群,也就是cookie映射过的用户群上出价。显然,ADX是可以先验地知道这一用户群的,因此,对这类DSP中的某一个,如果当前广告请求到达的用户 cookie没有与其映射过,那么就不需要向该 DSP询价。一般来说,这样的规则可以显著降低带宽需求。不过,也有很多的DSP并不是仅仅在广告主用户集合上出价,或者当这样做仍然不能满足带宽成本的要求时,就需要进一步的优化了。
询价优化的问题,由于也需要在每个广告请求到来时做决策,因此从框架上非常类似于第11章的在线分配问题。只不过这里的约束变成了带宽或服务的成本。由于从商业规则上说,我们不能完全依赖eCPM水平来决定向哪个DSP发起询价,因为这样有可能造成某些DSP 完全得不到流量,从而退出市场。因此,实际的询价优化问题的约束往往设置成各个DSP获得流量比例的一个上限,而这一上限是根据该DSP一段时间的花费来决定的。在这样的约束下,参考文献[19]中将询价优化描述为下面的优化问题:
这里的a代表的不再是一条具体的广告,而是某一个DSP;i可以是一个供给节点或一次展示(在没有流量预测的情形下);k 是某个出价(此处进行了离散化以方便问题描述)。与第11章的在线分配问题对比,piak 与yiak 是新引入的变量,分别表示DSP a为供给i的一次展示出价 k 的概率以及以此出价赢得此次拍卖的概率。与在线分配框架问题对比,可以发现它们在数学本质上是一样的。询价优化问题的关键就是上式中的第一个约束,它表示的是总体分配给每个DSP a的流量不超过其上限ρa。有关询价优化问题更详细的研究参见参考文献[19]。
注意一下公式14.3中所有的式子。在供需二部图中,(i,a)是所有的供给节点与需求节点之间边的集合。对于开放竞价的 ADX 来说,所有的流量向所有的 DSP 开放,因此任意的(i,a) 组合都要考虑;而在 PMP 中,可行的(i,a) 组合是由每个私有市场向哪些DSP开放决定的。
除了在线分配的框架,询价优化的关键基础实际上是对 piak 与 yiak 两组变量的预估。也就是说,对于某个供给节点,也即特定的人群,要对各DSP在此人群上的出价以及此人群整体的市场价水平有一定的估计能力,这实际上就是要预估各个DSP在特定人群上对ADX来说的eCPM。因此,在询价优化的需求下,ADX也需要eCPM估计。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论