发布商通常会使广告需求来源多样化,从而以提高收入为目标进行优化,并调用多家公司(例如发布商广告服务器、供应方平台和需求方平台)来确定网页上指定广告资源位的最佳广告。通过标头出价,发布商可以从各种需求来源获取广告展示位置的出价。在顺序竞价设置中,标头出价库可用于运行包含情境数据的竞价,而 Protected Audience 可用于运行包含跨网站数据的竞价。
在开始之前,请先参阅 Prebid.js 文档,了解标头出价的基础知识。
定义
下表介绍了本文档中使用的一些术语。
拍卖
| 竞价 | 定义 |
|---|---|
| Protected Audience 竞价 | 涉及对在其他网站上创建的兴趣组进行出价的广告竞价。 |
| Protected Audience 多卖方竞价 | 一种双层 Protected Audience 竞价,首先涉及多个并行组件竞价,然后将得分最高的广告提交给最终的顶级竞价。 |
| 顶级竞价 | Protected Audience 多卖方竞价中的最终广告竞价,用于为组件竞价的胜出者提供评分。 |
| 组件竞价 | Protected Audience 多卖方竞价中的嵌套竞价,其中每个组件卖方并行运行其组件竞价。 每个组件竞价中得分最高的广告会传递到顶级竞价。 |
参与者
| 参加者 | 定义 |
|---|---|
| 广告客户 | 希望获得广告展示位置并制作广告素材的一方。 |
| 发布商 | 提供广告资源以供竞价的实体。 |
| 采购员 | 在竞价中出价以从卖方处购买广告空间的买方。 通常是需求方平台 (DSP)。 |
| 发布商广告服务器 | 发布商用于管理和选择要在网站上呈现的广告的服务。发布商广告服务器可能会结合自身的竞价结果、标头出价工具响应、直销广告资源等,来确定哪则广告能为发布商带来最高收入。 发布商广告服务器可能会提供用于与服务器互动的客户端库。 |
| 顶级卖家 | 调用(即创建)Protected Audience 多卖方竞价并参与顶级竞价的一方。 |
| 组件卖家 | 在 Protected Audience 多卖方竞价中运行组件竞价,以将发布商的广告空间出售给买方的实体。通常是供应方平台 (SSP)。 |
顺序拍卖设置
在顺序竞价设置中,系统会先执行内容相关竞价,然后再执行 Protected Audience 竞价。通过这种设置,发布商可以利用网页上提供的上下文数据进行竞价,从而最大限度地提高收入潜力,同时还可以在安全的环境中利用跨网站数据进行竞价,以保护用户隐私。
系统可能会先在网页上执行标头出价库,以收集发布商广告服务器内容相关竞价的出价。然后,可以将内容相关竞价的调整后胜出出价输入到 Protected Audience 竞价中作为出价下限。在评分步骤中,顶级卖方可以在计算理想度得分时为组件竞价分配零分,从而将组件竞价价格降至低于竞价底价。如果没有 Protected Audience 组件竞价高于出价下限,则向用户呈现赢得情境竞价的广告。如果 Protected Audience 竞价返回了胜出方,则表示胜出方的出价高于出价底价,并且系统会向用户呈现 Protected Audience 胜出的广告。
在此顺序竞价设置示例中,网页上可能会按顺序执行三项主要竞价:
- 通过标头出价库进行内容相关竞价
- 发布商广告服务器的内容相关竞价
- Protected Audience 竞价。
概览图的详细说明:
- 在竞价之前,用户会被添加到广告客户网站上的某个兴趣群体中。
- 当用户稍后访问发布商网页时,Prebid.js 会运行情境竞价,以收集标头出价方的出价响应。在此步骤中,买方可以提供信号,卖方可以提供要在后续 Protected Audience 竞价中使用的组件竞价配置。Prebid.js 提供了一个模块,用于将这些信号和配置传播到 Protected Audience 竞价。
- Prebid.js 收集的出价响应会发送到发布商广告服务器,以进行服务器端内容相关竞价。
- 发布商广告服务器可能会将自己的竞价结果、标头出价结果、直接销售的广告资源等结合起来,以确定哪则广告能为发布商带来最高收入。胜出的广告会返回到发布商广告服务器的客户端库。
- 来自情境竞价胜出者的调整后出价价格,以及 Prebid.js 收集的买方信号 (
perBuyerSignals) 和卖方组件竞价配置,都可以通过发布商广告服务器的客户端库传递到 Protected Audience 竞价中。 - Protected Audience 多卖方竞价由顶级卖方执行。在顶级卖方的得分步骤中,顶级卖方可能会将每个组件竞价的胜出出价与情境竞价的调整后胜出出价进行比较。如果组件出价低于情境竞价出价,则顶级卖方会返回 0 的期望值得分。如果所有出价的得分均为 0,则
runAdAuction()调用会返回 null,这表示应渲染内容相关广告竞价胜出的广告。 - 发布商广告服务器客户端库会根据
runAdAuction()调用返回的内容,呈现胜出的 Protected Audience 广告或内容相关广告。 - 向用户呈现胜出的广告。
使用 Prebid.js 和发布商广告服务器进行的内容相关竞价
在顺序竞价设置中,所有内容相关竞价都会在 Protected Audience 竞价运行之前执行。在本文档中介绍的设置中,我们通过 Prebid.js 运行标头出价情境竞价,该竞价会馈送到发布商广告服务器的服务器端竞价中。
发布商首先通过调用 Prebid.js 并使用标志来指明之后将执行 Protected Audience 竞价,从而发起标头出价内容相关广告竞价。然后,Prebid.js 收集出价响应,并将其发送到发布商广告服务器以进行服务器端情境竞价。在收集出价响应的步骤中,买方和卖方有机会提供组件竞价配置和买方信号 (perBuyerSignals),以用于后续的 Protected Audience 竞价(如果他们想参与)。相应组件竞价配置最终会传递到后续的 Protected Audience 竞价中。
- 内容相关竞价初始化:用户访问发布商网页。
- 发布商网页加载发布商广告服务器客户端库并定义广告位。
- 发布商网页加载 Prebid 并开始标头出价情境竞价。
- 卖家 A 的情境竞价(与卖家 B 的情境竞价并行运行)。Prebid.js 向卖方 A 发送出价请求。
- 卖方 A 从买方检索出价响应和 perBuyerSignals。
- 卖家 A 执行情境竞价。
- 卖方 A 构建包含
perBuyerSignals的组件竞价配置。 - 卖方 A 向 Prebid.js 返回胜出出价及其组件竞价配置。
- 卖家 B 的情境竞价(与卖家 A 的情境竞价并行运行)。Prebid.js 向卖方 B 发送出价请求。
- 卖方 B 从买方处检索出价响应和
perBuyerSignals。 - 卖家 B 执行情境竞价。
- 卖家 B 构建了包含 perBuyerSignals 的组件竞价配置。
- 卖方 B 会向 Prebid.js 返回胜出出价及其组件竞价配置。
- 发布商广告服务器的内容相关竞价 Prebid.js 收集的出价响应会发送到发布商广告服务器,以进行内容相关竞价。
- 包含买方信号的组件竞价配置会与发布商广告服务器的客户端库共享
- 发布商广告服务器会进行情境竞价,以确定直销广告系列、程序化出价、Prebid 的情境出价和其他广告资源之间的最佳广告。
- 发布商广告服务器返回调整后的胜出出价。
同时考虑内容相关广告需求和 Protected Audience 广告需求
此时,上下文竞价已结束,发布商广告服务器的客户端库可以将上下文竞价的胜出调整后出价、组件竞价配置以及参与 Protected Audience 竞价的买方的信号传递给顶级卖方。情境竞价出价价格可作为最低出价传递到竞价配置中,作为顶级竞价中评分的信号。
- 浏览器从卖方处提取评分脚本,以及每个广告的可信评分信号。
- 浏览器会针对所有组件竞价的每个胜出出价执行顶级卖方的评分逻辑。在顶层卖方的
scoreAd()脚本中,逻辑可以访问可能已在竞价配置中作为sellerSignals传入的上下文竞价调整后的胜出出价。该脚本可以将胜出的情境出价与组件 Protected Audience 出价进行比较,如果情境出价更高,则返回 0 的期望值得分。否则,脚本会计算期望值得分,该得分可能基于组件 Protected Audience 出价。 - 浏览器会选择由顶级卖方的评分逻辑提交的期望得分最高的广告。
- 如果 Protected Audience 竞价胜出:Protected Audience 竞价会向发布商的广告服务器客户端库返回一个
FencedFrameConfig对象或一个不透明的 URN。 - 客户端库将围栏框架的
config属性设置为FencedFrameConfig对象,或将 iframe 的src属性设置为胜出的 Protected Audience 广告的不透明 URN。 - 浏览器从买方处提取 Protected Audience 竞价胜出的广告。
- 浏览器向用户呈现广告。
- 如果内容相关广告竞价胜出,Protected Audience 竞价会返回
null。 - 浏览器将 iframe 的
src属性设置为胜出的情境广告。 - 浏览器从买方处提取内容相关竞价胜出的广告。
- 浏览器向用户呈现广告。