发布商通常会多样化其广告需求来源,以提高收入为目标进行优化,并调用多家公司(例如,发布商广告服务器、供应方平台和需求方平台)来确定最适合网页上的指定广告位的广告。借助标头出价,发布商可以从各种需求来源捕获广告位出价。在依序竞价设置中,标头出价库可用于根据内容相关数据开展竞价,而 Protected Audience 可用于使用跨网站数据开展竞价。
在开始之前,请先通过 Protected Audience 页面了解 API 基础知识,以及通过 Prebid.js 文档了解标头出价。
定义
拍卖
竞价 | 定义 |
---|---|
内容相关竞价 | 使用竞价执行环境下的可用数据的广告竞价。一次内容相关竞价中可能会有多个竞价,例如标头出价和服务器端竞价。 |
Protected Audience 竞价 | 一种广告竞价,涉及对其他网站创建的兴趣群体进行出价。 |
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 胜出的广告会向用户展示。
在这个依序竞价设置示例中,可能会按顺序在网页上执行三项主要竞价:1) 标头出价库进行的内容相关广告竞价,2) 由发布商广告服务器进行的内容相关广告竞价,以及 3) Protected Audience 竞价。
<ph type="x-smartling-placeholder">概览图的详细说明:
- 在竞价之前,用户将添加到广告客户网站上的兴趣群体中。
- 当用户稍后访问发布商页面时,Prebid.js 会运行内容相关竞价,以收集来自标头出价方的出价响应。在此步骤中,买方可能会提供信号,而卖方可能会提供组件竞价配置,以便在后续 Protected Audience 竞价中使用。Prebid.js 提供了一个模块,用于将这些信号和配置传播到 Protected Audience 竞价。
- Prebid.js 收集的出价响应会发送到发布商广告服务器,以进行服务器端内容相关竞价。
- 发布商广告服务器可能会结合自己的竞价结果、标头出价结果、直销广告资源等数据,确定能为发布商带来最多收入的广告。将胜出的广告返回发布商广告服务器的客户端库。
- 内容相关竞价胜出者的调整后出价以及 Prebid.js 收集的买方信号 (
perBuyerSignals
) 和卖方组件竞价配置,都可以通过发布商广告服务器的客户端库传递到 Protected Audience 竞价。 - Protected Audience 多卖方竞价由顶级卖方执行。在顶级卖方的评分步骤中,顶级卖方会将每个组成部分竞价的胜出出价与内容相关竞价调整后的胜出出价进行比较。如果组成部分的出价低于内容相关竞价出价,则顶级卖方会返回受欢迎程度得分
0
。如果所有出价的得分均为0
,则runAdAuction()
调用会返回null
,这表示应呈现内容相关竞价胜出的广告。 - 发布商广告服务器客户端库会根据
runAdAuction()
调用返回的内容来呈现胜出的 Protected Audience 广告或内容相关广告。 - 将胜出的广告呈现给用户。
竞价前
<ph type="x-smartling-placeholder">在竞价之前,当用户访问某个广告客户页面时,买方和广告客户可以定义用户所属的网站的兴趣群体,然后添加来自广告客户网站和第一方数据的内容相关数据,以用作稍后竞价的信号。
- 用户访问广告客户的网站。
- 广告客户网站稍后会加载参与竞价的每个买方的脚本。
- 买方脚本中包含
joinAdInterestGroup()
调用,用于将用户添加到买方的兴趣群体。
利用 Prebid.js 和发布商广告服务器进行内容相关竞价
<ph type="x-smartling-placeholder">在依序竞价设置中,所有内容相关竞价都会在 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 多卖方竞价
<ph type="x-smartling-placeholder">在此阶段,内容相关竞价已结束,发布商广告服务器的客户端库可将内容相关竞价的胜出调整后出价、组成部分竞价配置和来自参与 Protected Audience 竞价的买方的信号传递给顶级卖方。可以将内容相关竞价出价作为底价传递到竞价配置,作为顶级竞价的评分信号。
组件竞价是并行执行的,在每次组件竞价中,浏览器会根据参与该组件竞价的每个买方的出价逻辑生成出价,使用组件卖方的评分逻辑为每次出价评分,然后将得分最高的广告返回给顶级竞价。
- 发布商网站会加载顶级卖方的脚本。
- 发布商广告服务器的客户端库可提供内容相关竞价出价和组件竞价配置,以及从买方到顶级卖方的信号。内容相关广告中胜出的广告的出价可作为卖方信号传递给竞价配置(此出价将在顶级卖方的
scoreAd()
函数中提供)。 - 顶级卖方通过调用
runAdAuction()
启动 Protected Audience 竞价。 - 卖方 A 的组成部分竞价
(与卖方 B 的组成部分竞价并行运行)
浏览器会读取所有参与卖方 A 的组成部分竞价的买方的用户兴趣群体。 - 浏览器会从参与组成部分竞价的买方的兴趣群体中指定的位置提取出价脚本和可信出价信号。
- 浏览器通过执行每个买方的出价生成逻辑来生成出价。
- 浏览器从卖方 A 提取每个广告的评分脚本和可信评分信号。
- 浏览器会针对每个出价执行卖方 A 的评分逻辑。
- 浏览器会选择卖方 A 的评分逻辑所提交得分最高的广告。
- 卖方 B 组成部分竞价
(与卖方 A 的组成部分竞价并行运行)
浏览器会读取所有参与卖方 B 组成部分竞价的买方的用户兴趣群体。 - 浏览器会从参与组成部分竞价的买方的兴趣群体中指定的位置提取出价脚本和可信出价信号。
- 浏览器通过执行每个买方的出价生成逻辑来生成出价。
- 浏览器从卖方 B 提取每个广告的评分脚本和可信评分信号。
- 浏览器会针对每个出价执行卖方 B 的评分逻辑。
- 浏览器会选择卖方 B 的评分逻辑所提交得分最高的广告。
顶级竞价评分和广告呈现
<ph type="x-smartling-placeholder">执行上一部分中的组件竞价后,浏览器会对每个组件竞价的胜出广告运行顶级卖方的评分逻辑。在顶级卖方的 scoreAd()
函数中,内容相关竞价调整后的出价可能会以 sellerSignals
的形式提供,并且评分逻辑可能会将该内容相关竞价出价与 Protected Audience 组件的竞价的胜出出价进行比较。
如果内容相关竞价的胜出出价高于组成部分竞价的胜出出价,则 scoreAd()
函数会返回受欢迎程度得分 0
。如果没有任何广告的受欢迎程度得分高于 0
,则表示内容相关竞价的胜出广告比参与竞价的任何胜出广告更有价值,并且 runAdAuction()
函数会返回 null
。
如果 Protected Audience 竞价没有胜出者并返回 null
,则发布商的广告服务器客户端库可以将内容相关竞价的胜出者呈现到 iframe 中。如果 Protected Audience 竞价在内容相关竞价中胜出,并返回 FencedFrameConfig
对象或不透明 URN,则 Protected Audience 竞价中胜出的广告可以呈现到围栏框架或 iframe 中。
- 顶级竞价广告评分
浏览器从顶级卖方提取评分脚本以及每个广告的可信评分信号。 - 浏览器会针对所有组成部分竞价的每个胜出出价执行顶级卖方的评分逻辑。在顶级卖方的
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
属性设置为胜出的内容相关广告。 - 浏览器从买方处提取在内容相关竞价中胜出的广告。
- 浏览器向用户呈现广告。
互动和分享反馈
后续操作
我们希望与您交流,确保我们构建适合所有人的 API。
讨论 API
与其他 Privacy Sandbox API 一样,此 API 也会记录在案并公开讨论。
使用 API 进行实验
您可以进行实验并参与有关 Protected Audience API 的对话。