在 Protected Audience 竞价中实现交易(也称为私有市场 [PMP])
概览
交易(也称为私人市场 [PMP])可为买方提供对部分广告资源的精选访问权限或优惠价格。为了简化程序化交易,系统会使用座位 ID 和交易 ID:
- 席位 ID 源自买方,是代表买方客户的标识符。座位 ID 可能会产生结算方面的影响,例如,如果某个座位可享受特定卖家的折扣。
- 交易 ID 来自买方或卖方,是表示买方和卖方之间达成的协议的标识符。交易 ID 可能具有费用/价格、承诺的交易量、受众群体信息、独家性等属性。
Protected Audience 使用报告 ID 来促进交易,让席位 ID 和交易 ID 可用于竞价、评分和报告。报告 ID 为广告技术公司提供了一种机制,以便在竞价后的 Protected Audience 报告中接收这些交易 ID 和席位 ID,从而完成交易并组织结算工作。我们预计买方、卖方、代理机构和广告客户可能会量身定制策略,以解读和了解他们收到的交易 ID 和席位 ID。
演示
在 Protected Audience 竞价中推动交易的步骤如下:
- 买方在竞价开始之前在兴趣群组配置中注册交易和座位 ID
- 您可以在可选报告 ID 字段 (
selectableBuyerAndSellerReportingIds
) 中设置交易 ID 和座位 ID。 - 如果所有交易的席位 ID 都相同,则可以在
buyerAndSellerReportingId
中设置该席位 ID,并在可选择的报告 ID 字段 (selectableBuyerAndSellerReportingIds
) 中设置交易 ID。
- 您可以在可选报告 ID 字段 (
- 在出价生成期间,交易 ID 和席位 ID 可用。买方从
selectableBuyerAndSellerReportingIds
中选择一个交易 ID。买方通过返回selectedBuyerAndSellerReportingId
来生成一个出价,其中包含与该出价相关联的交易 ID。只有当返回的交易 ID 与其他报告 ID 以及兴趣群体的部分属性一起具有 k-匿名性时,出价才有可能赢得竞价。 - 进行广告评分时,卖方将能够使用所选的交易 ID 和席位 ID。
- 卖方的报告功能中会显示交易 ID 和座位 ID。
- 买方的报告功能中会显示交易 ID 和座位 ID。
1. 注册交易 ID 和席位 ID
买方会在竞价运行之前在兴趣群体配置中注册交易 ID 和座位 ID。交易 ID 和座位 ID 在 selectableBuyerAndSellerReportingIds
中设置为字符串数组。如果所有交易的席位 ID 都相同,并且无需重复,可以将席位 ID 添加到接受字符串的 buyerAndSellerReportingId
字段中:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: ['deal123', 'deal456', 'deal789'], // Deal IDs
buyerAndSellerReportingId: 'seat123', // Seat ID
// Though it is not used to facilitate deals, the buyer
// reporting ID can be defined with other reporting IDs
buyerReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
如果不同交易的座位 ID 不同,则可以使用以下设置:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: [
'deal123seat123',
'deal456seat456',
'deal789seat456'
], // Deal and Seat IDs
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
2. 出价生成期间买方的交易 ID 和席位 ID
在生成出价期间,买方决定是否要针对某个交易 ID 出价。在 generateBid()
中,买方可以从 selectableBuyerAndSellerReportingIds
中选择一个交易 ID,并以 selectedBuyerAndSellerReportingId
的形式返回值。如果所选交易 ID 不在 selectableBuyerAndSellerReportingIds
数组中,出价会被拒绝。
function generateBid(interestGroup, ...) {
const [{
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerReportingId // 'brid123' - Not used for deals, but the value is available
}] = interestGroup.ads;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
只有当 selectedbuyerAndSellerReportingId
的值与 buyerAndSellerReportingId
(如果有)、buyerReportingId
(如果有)、兴趣群体所有者、出价脚本网址、呈现网址和广告尺寸(至少在 2025 年第 1 季度之前,广告尺寸将从此检查中排除)一起具有 k-匿名性时,返回 selectedbuyerAndSellerReportingId
值的出价才有可能赢得竞价。
即使在兴趣群体配置中指定了 selectablebuyerAndSellerReportingIds
,generateBid()
返回不包含 selectedbuyerAndSellerReportingId
的出价也仍然有效;在这种情况下,如果出价胜出,向报告函数提供的报告 ID 将遵循不可选择的报告 ID 行为。
如果重新运行 generateBid()
是因为初始调用没有为通过 k-匿名性检查的广告生成任何出价,那么在重新运行时,未通过 k-匿名性检查的 selectableBuyerAndSellerReportingIds
将不会显示在兴趣群体中。
3. 广告评分期间销售人员的交易 ID 和席位 ID
允许“scoreAd()
”访问所选交易 ID 以及席位 ID(如果存在)。卖方在考虑交易 ID 和任何特殊字词的情况下,提供胜出出价的受欢迎程度得分。如果卖方认为买方选择的交易 ID 不适用,则会将该出价的偏好度得分设为 0 或负分,从而拒绝该出价。
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. 卖方报告的交易 ID 和席位 ID
请注意,只有当 selectedBuyerAndSellerReportingId
、buyerAndSellerReportingId
(如果存在)和 buyerReportingId
(如果存在)与兴趣群体所有者、出价脚本网址、呈现网址和广告大小具有 k-匿名性时,出价才有可能赢得竞价(至少在 2025 年第 1 季度之前,广告大小将从此项检查中排除)。因此,包含 selectedBuyerAndSellerReportingId
的报告 ID 值将始终在 reportResult()
内可用。请注意,即使 buyerReportingId
已通过 k-匿名性检查,但该值仅适用于买方报告函数,而非卖方报告函数。
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. 用于买方报告的交易 ID 和席位 ID
卖方报告中所用的概念同样适用于买方报告。回想一下,只有当 selectedBuyerAndSellerReportingId
、buyerAndSellerReportingId
(如果存在)和 buyerReportingId
(如果存在)与兴趣群体所有者、出价脚本网址、呈现网址和广告尺寸(至少在 2025 年第 1 季度之前,广告尺寸除外)均具有 k-匿名性时,出价才有可能赢得竞价。因此,包含 selectedBuyerAndSellerReportingId
的报告 ID 值将始终在 reportWin()
内提供。
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
互动和分享反馈
- 如需详细了解报告 ID,请参阅 Protected Audience 说明文档的“报告 ID”部分。
- GitHub:在 API 代码库中提出问题并关注讨论。
- W3C:在 WICG 通话中讨论行业用例。
- 公告:加入或查看邮寄名单。
- Privacy Sandbox 开发者支持:您可以在 Privacy Sandbox 开发者支持仓库中提问和参与讨论。
- Chromium:提交 Chromium bug,询问可在 Chrome 中测试的实现相关问题。