使用标头出价和多卖方 Protected Audience 竞价设置依序竞价

发布商通常会使广告需求来源多样化,以针对收入进行优化,并调用多家公司(例如发布商广告服务器、供应方平台和需求方平台)来确定适用于网页上的指定广告位的最佳广告。借助标头出价,发布商可以从各种需求来源获取对广告位的出价。在依序竞价设置中,标头出价库可用于使用情境数据开展竞价,而 Protected Audience 可用于使用跨网站数据开展竞价。

在开始之前,请先参阅 Prebid.js 文档,了解 Protected Audience 基础知识,以及参阅着陆页标头出价

定义

拍卖

竞价 定义
内容相关竞价 一种广告竞价,使用在竞价执行位置提供的数据。内容相关竞价(例如标头出价和服务器端竞价)可能会涉及多个竞价。
Protected Audience 竞价 一种广告竞价,涉及对在其他网站上创建的兴趣群体进行出价。
Protected Audience 多卖方竞价 一种双层 Protected Audience 竞价,首先涉及多个并行的组成部分竞价,然后再提交得分最高的广告参与最终的顶级竞价。
顶级竞价 Protected Audience 多卖方竞价中的最终广告竞价,会提供组成部分竞价的胜出者的评分。
组件竞价 Protected Audience 多卖方竞价中的嵌套竞价,其中每个组成部分卖方并行进行其组成部分竞价。各个组成部分竞价的高分广告会传递到顶级竞价。
依序竞价设置 一种广告竞价设置,将内容相关竞价与 Protected Audience 竞价集成,并在两次竞价之间确定胜出者。

参与者

参与者 定义
广告客户 希望获得广告展示位置并制作广告素材的一方。
发布商 提供广告资源供竞价的一方。
买方 在竞价中出价以向卖方购买广告空间的一方。通常是需求方平台 (DSP)。
发布商广告服务器 一种服务,供发布商管理和选择要在网站上呈现的广告。发布商广告服务器可能会结合自己的竞价结果、标头出价工具响应、直销广告资源等,确定能为发布商带来最高收入的广告。

发布商广告服务器可能会提供用于与服务器互动的客户端库。

顶级卖家 调用(即创建)Protected Audience 多卖方竞价并参与顶级竞价的一方。
组件卖方 在 Protected Audience 多卖方竞价中进行组件竞价,以便向买方销售发布商的广告空间的一方。通常是供应方平台 (SSP)。

依序竞价设置

在依序竞价设置中,系统会先执行内容相关竞价,然后再执行 Protected Audience 竞价。通过这种设置,发布商可以使用网页上的内容相关数据开展竞价,并在安全的环境中使用跨网站数据进行竞价,以保护用户隐私,从而最大限度地发挥创收潜力。

系统可能会先在网页上执行标头出价库,以便为发布商广告服务器的内容相关竞价收集出价。然后,内容相关竞价的获胜出价调整后可作为出价下限进入 Protected Audience 竞价。在评分阶段,顶级卖方在计算理想性得分时,将组成部分的竞价出价降至出价下限以下,并将其设为 0 分。如果 Protected Audience 组件的竞价出价没有任何高于出价下限,则系统会向用户展示在内容相关竞价中胜出的广告。如果 Protected Audience 竞价返回胜出者,这意味着该竞价高于出价下限,系统会向用户展示 Protected Audience 胜出的广告。

在这个依序竞价设置示例中,系统会按顺序在网页上执行三项主要竞价:1) 按标头出价库进行内容相关竞价;2) 由发布商广告服务器进行内容相关竞价;3) Protected Audience 竞价。

用户
包含标头出价内容相关竞价的 Protected Audience 多卖方竞价概览。

概览图的详细说明:

  1. 在竞价之前,用户会被添加到广告客户网站上的兴趣群体。
  2. 当用户稍后访问发布商页面时,Prebid.js 会运行内容相关竞价,以收集标头出价方的出价响应。在此步骤中,买方可能会提供信号,卖方也可能会提供组件竞价配置,以便在后续的 Protected Audience 竞价中使用。Prebid.js 提供了一个模块,用于将这些信号和配置传播到 Protected Audience 竞价。
  3. Prebid.js 收集的出价响应会被发送到发布商广告服务器,以进行服务器端内容相关竞价。
  4. 发布商广告服务器可能会结合自己的竞价结果、标头出价结果、直销广告资源等,确定能为发布商带来最高收入的广告。胜出的广告将返回到发布商广告服务器的客户端库中。
  5. 内容相关竞价胜出者调整后的出价,以及买方信号 (perBuyerSignals) 和 Prebid.js 收集的卖方竞价配置,都可以通过发布商广告服务器的客户端库传递到 Protected Audience 竞价。
  6. Protected Audience 多卖方竞价由顶级卖方执行。在顶级卖方的评分阶段,顶级卖方可能会将各个竞价的获胜出价与根据内容相关竞价调整后的获胜出价进行比较。如果组成部分出价低于内容相关竞价出价,则顶级卖方将返回受欢迎程度得分 0。如果所有出价的得分均为 0,则 runAdAuction() 调用会返回 null,这表示应呈现在内容相关竞价中胜出的广告。
  7. 发布商广告服务器客户端库会根据 runAdAuction() 调用返回的内容来呈现胜出的 Protected Audience 广告或内容相关广告。
  8. 胜出的广告呈现给用户。

竞价前

用户
广告客户页面上的兴趣群体时间序列。

在竞价之前,当用户访问广告客户页面时,买方和广告客户可以指定用户所属的网站的兴趣群体,并添加来自广告客户的网站和第一方数据,以用作日后竞价的信号。

  1. 用户前往广告客户网站。
  2. 广告客户网站稍后会加载参与竞价的每个买方的脚本。
  3. 买方的脚本包含 joinAdInterestGroup() 调用,用于将用户添加到买方的兴趣群体。

使用 Prebid.js 和发布商广告服务器进行内容相关竞价

内容相关竞价在发布商网站上启动
发布商网页上的内容相关竞价时间序列。

在依序竞价设置中,所有内容相关竞价都会在 Protected Audience 竞价运行之前执行。在本文档介绍的设置中,我们通过 Prebid.js 运行标头出价内容相关竞价,由发布商广告服务器馈送至服务器端竞价。

发布商首先会调用 Prebid.js 并在其中显示标记,从而发起标头出价内容相关竞价,以指明 Protected Audience 竞价随后将执行。然后,Prebid.js 会收集出价响应并将其发送到发布商广告服务器,以进行服务器端内容相关竞价。在出价响应收集步骤中,如果买方和卖方希望参与后续的 Protected Audience 竞价,他们有机会提供组件竞价配置和买方信号 (perBuyerSignals),以用于后续的 Protected Audience 竞价。该组件竞价配置最终将传递到后续的 Protected Audience 竞价。

  1. 内容相关竞价初始化:用户访问发布商页面。
  2. 发布商网页会加载发布商广告服务器客户端库并定义广告位。
  3. 发布商页面加载 Prebid 并开始标头出价内容相关竞价。
  4. 卖方 A 的内容相关竞价(与卖方 B 的内容相关竞价同时进行)。Prebid.js 向卖方 A 发送出价请求。
  5. 卖方 A 从买方获取出价响应和 perBuyerSignals
  6. 卖方 A 执行内容相关竞价。
  7. 卖方 A 构建包含 perBuyerSignals 的组件竞价配置。
  8. 卖方 A 使用胜出的出价及其组件竞价配置对 Prebid.js 做出响应。
  9. 卖方 B 的内容相关竞价(与卖方 A 的内容相关竞价同时进行)。Prebid.js 向卖方 B 发送出价请求。
  10. 卖方 B 从买方获取出价响应和 perBuyerSignals
  11. 卖方 B 执行内容相关竞价。
  12. 卖方 B 构建包含 perBuyerSignals 的组件竞价配置。
  13. 卖方 B 使用胜出的出价及其组成部分竞价配置对 Prebid.js 做出响应。
  14. 发布商广告服务器的内容相关竞价:Prebid.js 收集的出价响应会被发送到发布商广告服务器进行内容相关竞价。
  15. 包含买方信号的组件竞价配置会与发布商广告服务器的客户端库共享
  16. 发布商广告服务器会运行内容相关竞价,以便在直销广告系列、程序化出价、Prebid 的内容相关出价和其他广告资源之间确定效果最佳的广告。
  17. 发布商广告服务器返回调整后的胜出出价。

Protected Audience 多卖方竞价

Protected Audience 多卖方竞价会从组成部分竞价提交的出价中选择得分最高的广告
发布商页面上的 Protected Audience 竞价时间序列。

在此阶段,内容相关竞价已结束,发布商广告服务器的客户端库可以将胜出的内容相关竞价的调整后出价、组成部分竞价配置以及来自参与 Protected Audience 竞价的买方的信号传递给顶级卖方。内容相关竞价的出价作为底价可以作为底价传入竞价配置,作为在顶级竞价中用作评分的信号。

各个组成部分竞价是并行执行的,在每个组成部分竞价中,浏览器都会根据参与该组成部分竞价的每个买方的出价逻辑生成出价,根据组成部分卖方的评分逻辑对各个出价进行评分,然后将得分最高的广告返回给顶级竞价。

  1. 发布商网站加载顶级卖方的脚本。
  2. 发布商广告服务器的客户端库提供内容相关竞价出价和组成部分竞价配置,其中包含买方发给顶级卖方的信号。在内容相关竞价中胜出的广告出价可作为卖方信号传递到竞价配置中(此出价可在顶级卖方的 scoreAd() 函数中使用)。
  3. 顶级卖方通过调用 runAdAuction() 启动 Protected Audience 竞价。
  4. 卖方 A 的组件竞价(与卖方 B 的组件竞价并行进行)。浏览器读取用户的兴趣群体,以了解参与卖方 A 的组件竞价的所有买方。
  5. 浏览器会从参与组成部分竞价的买方的兴趣群体中指定的位置提取出价脚本和可信出价信号。
  6. 浏览器通过执行每个买方的出价生成逻辑来生成出价。
  7. 浏览器从卖方 A 获取每个广告的评分脚本和可信评分信号。
  8. 浏览器为每个出价执行卖方 A 的评分逻辑。
  9. 浏览器选择卖方 A 的评分逻辑提交得分最高的广告。
  10. 卖方 B 的组件竞价(与卖方 A 的组件竞价并行进行)。浏览器会读取用户的兴趣群体,以了解参与卖方 B 的组件竞价的所有买方。
  11. 浏览器会从参与组成部分竞价的买方的兴趣群体中指定的位置提取出价脚本和可信出价信号。
  12. 浏览器通过执行每个买方的出价生成逻辑来生成出价。
  13. 浏览器从卖方 B 获取每个广告的评分脚本和可信评分信号。
  14. 浏览器为每个出价执行卖方 B 的评分逻辑。
  15. 浏览器会选择卖方 B 的评分逻辑提交得分最高的广告。

顶级竞价评分和广告呈现

发布商广告服务器客户端库会呈现在内容相关竞价和 Protected Audience 竞价之间选择的广告
发布商网页上的广告呈现顺序。

在执行上一部分中的组成部分竞价后,浏览器会对每个组成部分竞价的胜出广告运行顶级卖方的评分逻辑。在顶级卖方的 scoreAd() 函数中,内容相关竞价调整后的出价可能显示为 sellerSignals,评分逻辑可能会将该内容相关竞价的出价与 Protected Audience 组件竞价的胜出出价进行比较。

如果内容相关竞价的获胜出价高于组成部分竞价的获胜出价,则 scoreAd() 函数可能会返回适宜性分数 0。如果没有兴趣分数高于 0 的广告,则表示在内容相关竞价中胜出的广告比在相关组成部分竞价中胜出的广告更有价值,因此 runAdAuction() 函数会返回 null

如果 Protected Audience 竞价没有胜出者并返回 null,则发布商的广告服务器客户端库可以将内容相关竞价的胜出者呈现到 iframe 中。如果 Protected Audience 竞价在内容相关竞价中胜出,并返回 FencedFrameConfig 对象或不透明 URN,则胜出的 Protected Audience 竞价广告可以呈现到围栏框架或 iframe 中。

  1. 顶级竞价广告评分:浏览器从顶级卖方中提取评分脚本以及每个广告的可信评分信号。
  2. 浏览器会针对所有组成部分竞价的每个胜出出价执行顶级卖方的评分逻辑。在顶级卖方的 scoreAd() 脚本内,该逻辑可以访问经过内容相关竞价调整后的胜出出价,该价格可能已作为 sellerSignals 在竞价配置中传入。该脚本可以将胜出的内容相关出价与 Protected Audience 组件出价进行比较,如果内容相关广告价格更高,则返回 0 分。否则,脚本可能会根据组件 Protected Audience 出价计算受欢迎程度得分。
  3. 浏览器将选择顶级卖方的评分逻辑提交的期望分数最高的广告。
  4. 如果 Protected Audience 竞价胜出 Protected Audience 竞价会向发布商的广告服务器客户端库返回 FencedFrameConfig 对象或不透明 URN。
  5. 客户端库将围栏框架的 config 属性设置为 FencedFrameConfig 对象,或将 iframe 的 src 属性设置为胜出的 Protected Audience 广告的不透明 URN。
  6. 浏览器从买方中提取在 Protected Audience 竞价中胜出的广告。
  7. 浏览器将广告呈现给用户。
  8. 如果内容相关竞价胜出 Protected Audience 竞价会返回 null
  9. 浏览器会将 iframe 的 src 属性设置为胜出的内容相关广告。
  10. 浏览器从买方那里获取在内容相关竞价中胜出的广告。
  11. 浏览器将广告呈现给用户。

互动和分享反馈

后续操作

我们希望与您交流,确保我们构建适合所有人的 API。

讨论 API

与其他 Privacy Sandbox API 一样,此 API 也会记录在案并公开讨论

使用 API 进行实验

您可以进行实验并参与有关 Protected Audience API 的对话。