作为 Privacy Sandbox 的一部分,Chrome 提出了 Protected Audience API,一种浏览器内 API 可让广告主和广告技术公司挑选并定位兴趣群体 (受众群体名单),无需依赖第三方 Cookie,同时保护用户 实施跨网站跟踪开发者 指南
SSP 可以将 Protected Audience API 与展示广告和Video 360 和 Google Ads 可以:
- 迭代并了解 Protected Audience API 流程的效果。
- 公开提出可能的 API 改进建议并提供反馈 论坛 - 例如,GitHub。
- 为通过 Protected Audience 支持个性化广告做好准备 实现 API 集成,而不依赖于第三方 Cookie。
以下指南详细介绍了 SSP 和展示广告与 Video 360 和 Google Ads。有兴趣协调测试的 SSP 应该加入 与其展示广告Video 360 合作伙伴代表。
注册
SSP 应该注册 自己 使用 Protected Audience API。
服务流摘要
下图所示的一般流程概述了 Chrome、SSP、展示广告和展示广告之间的主要交互点Video 360 和 Google Ads。
集成选项
选项 1:直销 / 单卖家
步骤:
- SSP 广告代码向 SSP 服务器发送广告请求,指明浏览器 支持 Protected Audience API。
- SSP 服务器向 DSP 发送内容相关 OpenRTB 出价请求,指明 浏览器支持 Protected Audience API
- DSP 会返回 OpenRTB 出价响应,其中包含 设备端竞价。
- SSP 服务器向 SSP 广告代码发送包含竞价配置的广告响应。
- SSP 广告代码通过调用
runAdAuction()
、 将来自 DSP 的 OpenRTB 出价响应的信号perBuyerSignals
。 - Chrome 调用键值对可信 DSP 出价服务器 提取实时出价信号
- Chrome 调用
generateBid()
为每个参与兴趣群体提供 DSP JavaScript 函数。 - Chrome 调用键值对可信 SSP 评分服务器 来获取实时评分信号。
- Chrome 调用
scoreAd()
每个参与兴趣群体的 SSP JavaScript 函数。 - Chrome 调用
reportWin()
用于向 DSP 报告胜出者的 DSP JavaScript 函数。 - Chrome 调用
reportResult()
用于向 SSP 报告胜出者的 SSP JavaScript 函数。
SSP 端的最少更改
SSP 广告代码需要更新为
- 检测浏览器是否支持 Protected Audience API
- 将该信息作为广告请求的一部分发送到 SSP 服务器
[1]
- 通过调用
runAdAuction()
传入设备端竞价 来自 DSP 的 OpenRTB 出价响应[5]
的信号(请参阅 出价请求和响应结构)。
SSP 服务器需要
- 将有关 Protected Audience API 支持的信息传播到 DSP
通过 OpenRTB 出价请求中的字段
[2]
(请参阅“出价”部分) 请求和响应结构)。 - 将 OpenRTB 出价响应中 DSP 的买方信号传播到 SSP 广告
代码(请参阅下文有关出价请求 / 出价响应结构的部分)
[4]
- 将有关 Protected Audience API 支持的信息传播到 DSP
通过 OpenRTB 出价请求中的字段
[Optional]
SSP 需要实现可信 SSP 服务器才能实时提取数据 评分信号,以支持广告质量检查、发布商设置执行[8]
SSP 需要通过
"scoreAd(...)"
和"reportResult(...)"
实现 JavaScript 函数[9]
、[11]
选项 2:多卖家
步骤:
- SSP 适配器向 SSP 服务器发送广告请求,指明浏览器 支持 Protected Audience API。
- SSP 服务器向 DSP 发送内容相关 OpenRTB 出价请求,指明 浏览器支持 Protected Audience API
- DSP 服务器做出 OpenRTB 出价响应,其中包含 设备端竞价。
- SSP 服务器向 SSP 广告代码发送包含竞价配置的广告响应。
- SSP Prebid 适配器向发布商广告服务器提供组件竞价配置 标记前面。
- 发布商广告服务器代码向发布商广告服务器服务器发送广告请求。
- 发布商广告服务器代码通过调用
runAdAuction(...)
API。 - Chrome 调用键值对可信 DSP 出价服务器 提取实时出价信号
- Chrome 调用
generateBid()
针对每个参与兴趣群体使用 DSP JavaScript 函数。 - Chrome 调用键值对可信 SSP 评分服务器 来获取实时评分信号。
- Chrome 调用
scoreAd()
每个参与兴趣群体的 SSP JavaScript 函数。 - Chrome 调用
reportWin()
用于向 DSP 报告胜出者的 DSP JavaScript 函数。 - Chrome 调用
reportResult()
用于向 SSP 报告胜出者的 SSP JavaScript 函数。
SSP 端的最少更改
需要将 SSP 适配器更新为
- 检测浏览器是否支持 Protected Audience
- 将该信息作为广告请求的一部分发送到 SSP 服务器
[1]
- 为发布商广告服务器广告代码
[5]
提供组件竞价配置。 - 如果 Google Ad Manager 是发布商广告服务器,则 SSP 可以
* 使用 Prebid Protected Audience
模块
* 调用 Google Ad Manager 广告代码
setConfig()
API 利用多种 卖家
SSP 服务器需要
- 通过
OpenRTB 出价请求中的
[2]
字段(请参阅“出价”部分 请求和响应结构)。 - 将 OpenRTB 出价响应中 DSP 的买方信号传播到 SSP 广告
代码(请参阅下文有关出价请求 / 出价响应结构的部分)
[4]
- 通过
OpenRTB 出价请求中的
[Optional]
SSP 需要实现可信 SSP 服务器才能实时提取数据 评分信号,以支持广告质量检查、发布商设置执行[10]
SSP 需要使用
scoreAd()
和reportResult()
公开 JavaScript 函数[11]
和[14]
。
出价和竞价服务
我们正在密切评估拍卖服务 (B&A)
proposal
。
显示和Video 360 已准备好通过 B&A 测试 Protected Audience API。 我们会与您联系,提供更多详细信息。
OpenRTB 协议
出价请求
为了区分支持 Protected 的展示机会
Audience API 设备端竞价,来自仅支持标准
服务器端广告交易平台竞价,新增了一个名为 ae
的枚举字段,用于“竞价”
环境"应作为扩展程序添加到 OpenRTB 中的 Imp
对象
指定的出价请求支持哪种竞价环境
展示广告位。ae
枚举可以具有以下值:
0
:标准服务器端竞价1
:支持 Protected Audience API 的请求,其中情境 竞价是在交易平台的服务器上进行的,而基于兴趣群体的出价和 在浏览器中运行最终竞价
{
"id": …
"imp": [{
"id": "1"
"video": {...}
"ext": {
"ae": 1
}]
}
出价响应
除了内容相关出价外,出价响应还用于传递 与展示广告和展示广告相关的信息,Video 360 和 Google Ads 参与 Protected Audience API 基于兴趣群体的竞价。出价响应会更新为 支持兴趣群体竞价,具体如下:
{
"seatbid": [{
"bid": [{
… // Traditional contextual bids
}]
}],
"ext": {
// InterestGroupBidding object which holds information for running an
// in-browser interest group auction.
"igbid": [{
// ID of the Imp object of the impression to which
// these interest group bidding signals apply to.
"impid": "1",
// InterestGroupBuyer object which holds DSP information for the in-browser
// auction.
"igbuyer": [{
// Origin of Display & Video 360 and Google Ads to participate in the
// interest group auction. For more info regarding the origin see:
// https://developer.mozilla.org/en-US/docs/Glossary/Origin
"origin": "https://td.doubleclick.net",
// Buyer-specific signals to use in auctionConfig as perBuyerSignals.
// Used by the buyer's interest group bidding function. Can be left empty
"buyerdata": ...,
// Buyer experiment group id to support coordinated experiments with
// buyers' trusted servers. This experiment id should be added to the
// `perBuyerExperimentGroupIds` map in auctionConfig.
"buyer_experiment_group_id": 12345
}]
}]
}
}
支持以下场景。
场景 1:展示广告和Video 360 和 Google Ads 只想参与 来参与竞价在这种情况下,不存在 igbid 字段。
场景 2:展示广告和Video 360 和 Google Ads 只想参与 参与基于兴趣群体的竞价在这种情况下, 展示广告和Video 360 和 Google Ads 将丢弃出价响应中的 seatbid 字段, 返回 igbid 信息。换句话说,如果有 igbid 字段,则表示 展示广告和Video 360 和 Google Ads 希望拥有自己的兴趣群体 参与设备端竞价。
场景 3:展示广告和Video 360 和 Google Ads 希望参与 内容相关竞价和兴趣群体竞价。在这种情况下, 展示广告和 Video 360 和 Google Ads 将在出价响应中同时返回两个 seatbid 字段 以及 igbid 信息。
含出价的元数据
Protected Audience API 允许 passing arbitrary
metadata
generateBid()
函数中有关广告的信息。
展示广告与Video 360 计划依靠
specification
适用于广告元数据:Protected Audience API 和 OpenRTB。
即展示广告和Video 360 将返回以下字段作为广告的一部分 对象:
PA 属性 | 类型 | OpenRTB 说明 |
---|---|---|
ad.seat | String;必需 | 代表其出价的买方(例如广告客户、代理机构)的 ID。 |
ad.adomain | String[] | 用于检查屏蔽列表的广告客户网域(例如,“ford.com”)。对于轮播广告素材,此值可以是 的数组。广告交易平台可以强制要求仅允许使用一个域名。 |
ad.cid | 字符串 | 用于协助进行广告质量检查的广告系列 ID。 |
ad.crid | 字符串 | 协助广告质量检查的广告素材 ID。 |
ad.language | 字符串 | 使用 ISO-639-1-alpha-2 的广告素材语言。非标准代码“xx”如果广告素材不包含语言内容(例如,只有公司徽标的横幅),则也可使用此属性。只应提供 language 和 langb 中的一种。 |
ad.w | integer | 广告素材的宽度,以设备无关像素 (DIPS) 为单位。 |
ad.h | integer | 广告素材的高度,以设备无关像素 (DIPS) 为单位。 |
示例
{
"seat": "123"
"adomain": ["example.com"]
"cid": "12345"
"crid": "12345"
"language": "en"
"w": 300
"h": 250
}
事件报告
Protected Audience API 提供了一个事件级报告 API,详见下文
GitHub 博文:Fenced Frame Ads
Reporting
。
尽管名称显示 Fenced Frame Ads Reporting,但此 API 在以下国家/地区均可用:
围栏框架和 iframe(请参阅
here
)。
SSP 可以在其 reportResult 函数中向浏览器注册网址,方法是
正在呼叫registerAdBeacon()
API。
展示广告与Video 360 将调用 reportEvent()
目标为“component-seller”的 API从广告素材中添加到报告
展示和点击事件。这会将信标发送到
注册网址。
请注意,展示广告和Video 360 将针对展示次数和 reportEvent()
API 调用
点击次数。
示例
registerAdBeacon({
'impression': 'https://ssp.example/impression?ssp_event_id=abc',
});
registerAdBeacon({
'click': 'https://ssp.example/click?ssp_event_id=abc',
});
Cookie 弃用测试标签
展示广告与Video 360 将参与Chrome-facilitated
testing
的
第三方 Cookie 弃用。为了顺利完成测试,我们要求合作伙伴
根据
specification
:
对象:Device.ext
属性 | 类型 | 说明 |
---|---|---|
CDep | 字符串 | 从 Chrome 或上游合作伙伴收到的标签。 |