设备端广告竞价可提供再营销和自定义受众群体,无需跨网站第三方跟踪。
本文的适用对象
本文将介绍 Protected Audience API 的基础知识,并解释一些底层的 但没有介绍太多技术细节。
- 如果您从事广告或广告技术平台工作,您将大致了解: Protected Audience 的工作原理。
- 如果您是开发者或软件工程师, Protected Audience API 开发者指南中提供了更多信息 深入地了解 API 的技术详情阅读 待处理的 Protected Audience 功能的最新状态。
请参阅词汇表,了解 Protected Audience 文档。在本文的末尾,您可以了解如何 互动并分享反馈。
什么是 Protected Audience API?
Protected Audience API 是一种 Privacy Sandbox 来满足再营销和自定义受众群体用例的需求, 第三方无法跟踪用户跨网站的浏览行为。
Protected Audience API 支持浏览器进行设备端竞价, 用户以前访问过的网站。
Protected Audience API 是 TURTLEDOVE 提案系列。通过 Protected Audience 和 TURTLEDOVE 之间的区别主要在于 广告买方和卖方在设备上的角色。以下部分介绍了 Protected Audience API 的工作原理。
一分钟了解 Protected Audience API
如需深入了解 Protected Audience API,请参阅 Protected Audience API 开发者指南。
<ph type="x-smartling-placeholder">![Protected Audience API 生命周期每个阶段的概览](https://developers.google.cn/static/privacy-sandbox/assets/images/protected-audience-overview.png?authuser=9&hl=uk)
Protected Audience API 利用兴趣群体让网站能够 展示与其用户相关的广告。
例如,如果用户访问的网站想要宣传其产品, 兴趣群体所有者(例如 需求方平台 (DSP))可以请求用户浏览器为兴趣群体添加成员资格。如果请求成功,浏览器会记录:
- 兴趣组的名称:例如“custom-bikes”。
- 兴趣群体的所有者:例如“https://dsp.example”。
- 允许浏览器访问的兴趣群体配置信息 出价代码、广告代码和实时数据(如果群组所有者受邀 出价。
之后,当用户访问具有可用广告空间的网站时,广告空间卖方
(卖方提供商 (SSP) 或相应网站
本身)可以使用 Protected Audience 开展广告竞价,以选择最合适的广告。
显示给用户卖方调用 navigator.runAdAuction()
函数,其中列出了受邀参与出价的兴趣群体所有者。
只有浏览器所属兴趣群体(所有者已受邀参与出价)才能进行出价。
出价代码是从兴趣群体的 配置。此代码提供有关兴趣群体和 来自卖方的信息,以及有关 页面和浏览器。
每个提供出价的兴趣群体都称为“买方”。
当浏览器调用函数来运行广告竞价时,每个买方的代码 广告客户可以借助广告客户提供的实时数据 Protected Audience 键值对服务。然后,卖方 接收这些出价以及卖家拥有的实时数据,并对每个 出价。得分最高的出价在竞价中胜出。
胜出的广告以 fenced frame: 广告素材的网址在出价中指定,并且来源必须与 兴趣组配置提供的列表。
卖方可以报告竞价结果 (reportResult()
),买方可以
报告获胜情况 (reportWin()
)。
为什么我们需要 Protected Audience API?
了解用户兴趣有助于投放更具相关性的广告,而不仅仅只是选择 根据网站内容(内容相关定位)或使用信息 由用户提供的数据(第一方数据定位)。
传统上,广告平台通过跟踪 在不同网站上的行为浏览器需要一种方法,使广告平台能够选择 这样,内容发布商无需跨网站就能获得广告收入 跟踪。
Protected Audience API 旨在使 Web 平台更靠近 用户设备上的浏览器(而非广告主或广告技术平台)保全 用户兴趣的相关信息。
如何试用 Protected Audience API?
Protected Audience API 开发者指南介绍了 以及如何使用 API 以及如何在本地进行测试。
protected-audience-demo.web.app 提供了一个 演示跨广告客户和发布商进行基本的 Protected Audience 部署 。Protected Audience 演示视频介绍了此代码的工作原理及预览效果 如何使用 Chrome 开发者工具进行调试。
可用的浏览器配置是什么?
用户可以通过以下方式调整是否参与在 Chrome 中试用 Privacy Sandbox:
在“设置”中启用或停用顶级设置
chrome://settings/adPrivacy
。在初始测试期间,用户可以使用
Privacy Sandbox 设置。
Chrome 计划允许用户查看和管理兴趣群体列表 访问者访问过的所有网站。与隐私权 沙盒技术,用户设置可能会随着用户反馈而不断变化, 监管机构等。
随着 Protected Audience API 的进展,我们会更新 Chrome 中的可用设置, 基于测试和反馈。 日后,我们将提供更精细的设置来管理 Protected Audience 和 相关数据
当用户在无痕模式下浏览时,API 调用方无法访问群组成员资格。 用户清除其网站数据时也会移除成员资格。
我可以选择停用 Protected Audience API 吗?
了解如何禁止访问 Protected Audience API。 以网站所有者或个人用户的身份登录。
主要概念
想详细了解 Protected Audience 术语?请参阅 Privacy Sandbox 术语表。
什么是兴趣群体?
Protected Audience API 兴趣群体代表一组共同兴趣、 再营销名单。
每个 Protected Audience API 兴趣群体都有一个所有者。不同类型的所有者将创建 具有不同应用场景的不同兴趣群体。
拥有者要求用户浏览器添加其兴趣群体的成员资格,具体方法是
调用 JavaScript 函数navigator.joinAdInterestGroup()
特定的信息,比如与相应兴趣群体相关的广告数据,以及
。兴趣群体数据(例如广告)可以
而某个兴趣群体最多可启用 30 天。
兴趣群体类型
下表提供了不同类型的 Protected Audience API 兴趣群体和所有者的示例。
所有者 | 示例 | 兴趣 | 示例 | 使用场景 |
---|---|---|---|---|
广告客户 | 自行车制造商 | 产品 | 查看过特定类别自行车产品页面的用户。 | 对用户进行再营销 之前与该品牌互动过的用户 |
发布商 | 新闻网站 | 内容 | 阅读骑行相关内容的用户。 | 发布商可以利用第一方数据让广告主 购买与其网站上的读者相关的广告。答 发布商拥有的兴趣群体 也可以让发布商这样做 当这些用户浏览其他网站时。发布商或许能够 付费根据其自身特点 受众群体。 |
广告技术 | DSP | 产品类别 | 对骑行装备表现出兴趣的用户。 | 广告技术公司可以创建和管理兴趣群体 。此兴趣群体 然后可以在销售该类别产品的网站上宣传产品(并且 与广告技术公司合作)。 |
Chrome 允许每个所有者最多 1000 个兴趣群体和最多 1000 个兴趣群体 所有者。这些限制旨在作为一种安全措施,在正常使用过程中不会触及。
什么是买方?
在 Protected Audience API 中,买方是指拥有兴趣群体并在广告竞价中出价的一方。
例如:
买方有三种任务:
- 选择是否参与竞价。
- 选择广告并计算出价。
- 报告竞价结果。
这些作业通过运行 在 Protected Audience API 广告竞价期间触发。
当买方请求用户浏览器将某个兴趣群体添加到其所属的群组时(通过调用
JavaScript 函数 navigator.joinAdInterestGroup()
)中,买方向浏览器提供以下内容:
- 出价代码网址,将在卖方开展广告竞价时使用。
- 可能还有针对兴趣群体的广告素材的网址。(可添加广告网址 然后再进行更新。)
- 要查询的数据键列表,以及买方的键值对服务的网址; 让出价代码在竞价期间获取实时数据。
买方的代码还可以包含用于报告竞价结果的 reportWin()
函数。
广告竞价由谁进行?
可能会有多个竞价方通过竞价来销售广告空间。
例如:
- 内容发布商:代自己托管其网站上的广告内容。
- 供应方平台 (SSP):与发布商合作并提供其他服务。
- 第三方脚本:代发布商行事,使他们能够参与广告竞价。
借助 Protected Audience API,广告空间卖方有三项工作:
- 强制执行发布商规则:指明哪些买方和哪些出价符合条件。
- 运行竞价逻辑:JavaScript 在以下位置运行: worklets 用于计算 各个出价的受欢迎程度得分
- 报告竞价结果。
这些作业通过卖方在启动广告时提供的代码以编程方式完成
调用 JavaScript 函数 navigator.runAdAuction()
,即可参与竞价。
Protected Audience API 广告竞价的工作原理是什么?
下图概述了 Protected Audience API 广告竞价的每个阶段:
<ph type="x-smartling-placeholder">![Protected Audience API 广告竞价的六个阶段](https://developers.google.cn/static/privacy-sandbox/assets/images/protected-audience-steps.png?authuser=9&hl=uk)
在 Protected Audience API 中,广告竞价是一系列小型 JavaScript 程序(浏览器会在用户设备上运行) 选择广告。为保护隐私,卖方和买方的所有广告竞价代码都会运行 在无法与外界通信的独立 JavaScript worklet 中。
卖方(发布商或供应方平台) 在销售广告空间(例如新闻媒体网站)的网站上启动 Protected Audience 广告竞价 网站)。卖方选择买方参与竞价 表示可供销售的空间,并为广告提供额外的条件。每个买方 是兴趣群体的负责人
卖方向浏览器提供用于为出价评分的代码,该代码包括每个出价的价值、 广告素材网址以及每个买方返回的其他数据。在竞价期间 来自买方的代码,而卖方的出价评分代码可接收来自 键值对服务。选择广告后 显示(在围栏框架中,以保留 卖方和胜出的买方可以报告竞价结果。
- 用户访问一个展示广告的网站。
- 卖方的代码发起竞价。卖方指定 以及为这些出价评分的方法。
- 执行受邀买方的代码,以便为相关广告生成出价和网址 广告素材和其他数据出价脚本可以查询实时数据, 根据买方的键/值确定广告系列剩余预算 服务。
- 卖方代码会为每次出价评分并选择胜出者。此逻辑使用 出价值和其他数据,以返回对出价的需要,并拒绝 其次是内容相关广告胜出者。卖方可以使用自己的 键值对服务:适用于实时数据。之前 竞价开始时,卖方就会根据可用的广告资源 。
- 如果在竞价配置中设置了
resolveToConfig
标志,系统会将胜出的广告作为围栏框架配置对象返回。此配置用于将围栏框架导航到广告素材,而广告素材的网址将对卖方和发布商隐藏。如果resolveToConfig
标志设置为false
或未传入,胜出的广告会以不透明 URN 的形式返回,该 URI 可用于在 iframe 中呈现广告。从 M114 开始,围栏框架配置对象可用。 - 系统会将竞价报告给卖方和胜出的买方。
我们正在讨论如何针对流失的买方生成报告机制。
什么是 Protected Audience API 键值对服务?
借助 Protected Audience API 键值对服务,广告技术平台可以在买方出价时查询实时数据,而卖方可以在保护隐私的同时对广告进行评分。您可以在 Protected Audience API 服务中了解 Protected Audience API 键值对服务和其他服务。
键值对服务会部署到广告技术平台自己的云基础架构,该服务会在可信执行环境中运行。对键值对服务的请求不会导致事件级日志记录,也不会产生其他副作用。键值对服务还支持用户定义的函数 (UDF),可让广告技术平台在键值对服务中执行自己的自定义逻辑。
买方或卖方提供一系列“键”指定他们需要从 Protected Audience API 键值对服务中获取的数据。键/值服务会为每个键返回一个值。
Protected Audience API 键值对服务代码现已在 Privacy Sandbox GitHub 代码库中提供。Chrome 和 Android 开发者均可以使用此服务。
如需详细了解 Protected Audience API 键值对服务,请参阅 API 说明文档 和信任模型解释器。
实时数据如何整合到竞价中?
广告竞价中的买方或卖方可能需要访问实时报告 数据。例如,买方可能希望计算广告系列的剩余预算,或 卖方可能需要根据发布商政策检查广告素材。
为了满足 Protected Audience API 的隐私权要求,广告竞价期间所需的实时数据由键值对服务提供。当每个买方调用 navigator.joinAdInterestGroup()
时,买方会指定一个键值对服务网址,并指定要在竞价期间针对该服务查询的键。同样,当卖方通过调用 navigator.runAdAuction()
进行广告竞价时,卖方会为其键值对服务提供一个网址。系统将使用广告素材的呈现网址查询卖方的键值对服务。
对于初始测试,使用“自带服务器”模型。从长远来看,广告技术平台需要使用在可信执行环境中运行的开源 Protected Audience API 键值对服务来检索实时数据。
为了确保生态系统有足够的时间进行测试,在第三方 Cookie 被弃用之前,我们预计不会要求使用开源键值对服务或可信执行环境。在此次过渡之前,我们将通知开发者开始测试和采用。
Protected Audience 竞价如何使用第一方数据?
第一方数据是指其用户的网站拥有的数据。例如,如果用户在广告客户或发布商的网站上指定了他们喜欢的颜色,该颜色会被视为第一方数据。
在 Protected Audience 竞价中,广告客户可以使用自己的第一方数据来确定广告兴趣群体成员资格,还可以将数据作为 userBiddingSignals
传递到兴趣群体。来自广告客户的第一方数据仅在出价生成步骤中可供买方使用,而不向卖方提供。
例如,如果广告客户知道用户最喜欢的颜色,则可以在用户被添加到兴趣群体时,在兴趣群体配置中将该值设为 userBiddingSignals
:
const interestGroup = {
owner: 'https://example-buyer.com',
name: 'running-shoes',
userBiddingSignals: {
favoriteColor: 'blue' // First-party data
},
// ...other interest group settings
};
navigator.joinAdInterestGroup(interestGroup, 3600);
发布商还可以在发起竞价时通过在竞价配置中设置信号来传递其第一方数据,还可以控制谁接收第一方数据。当发布商将第一方数据作为 auctionSignals
传入后,买方和卖方均可使用这些数据。当数据以 sellerSignals
的形式传入时,相应数据仅适用于卖方;作为 perBuyerSignals
传入时,数据仅可供指定的买方使用。发布商还可以将第一方数据传入部分竞价。发布商和竞价参与者在之前应就需要共享哪些第一方数据以及需要如何设置数据格式达成一致。
以下示例说明了发布商如何将第一方数据传递给各个竞价参与者:
const auctionConfig = {
seller: 'https://example-seller.com',
auctionSignals: {
favoriteColor: 'blue', // Both buyer and seller will receive this signal
},
sellerSignals: {
favoriteIceCreamFlavor: 'chocolate', // Only the seller will receive this signal
},
perBuyerSignals: {
'https://example-buyer.com': {
favoriteDrink: 'tea', // Only a specific buyer will receive this signal
},
},
// The same pattern applies to the component auction
componentAuctions: [{
seller: 'https://example-component-seller.com',
auctionSignals: { ... },
sellerSignals: { ... },
perBuyerSignals { ... }
}],
// ...other auction settings
};
navigator.runAdAuction(auctionConfig);
了解详情
如需深入了解 Protected Audience API,请参阅 Protected Audience API 开发者指南。
开发者
如果您已准备好开始使用 Protected Audience API,请参阅 实验并参与。
我们撰写了一份 API 开发者指南,并构建了 Protected Audience API 演示,其中演示了基本的 Protected Audience API 部署。Protected Audience API 演示视频介绍了演示代码的运作方式,并展示了如何使用 Chrome 开发者工具进行 Protected Audience API 调试。
互动和分享反馈
- GitHub:阅读说明 提出问题并关注讨论。
- 公告:在 Protected Audience API 邮寄名单中加入或查看过去的公告。
- W3C:讨论“改进网络广告业务”行业用例 群组。
- 开发者支持:询问有关实施和最佳做法的问题,或加入 Privacy Sandbox 开发者支持代码库。
- 当前实现:如果您对 Chrome 的 Protected Audience 实现方式有疑问,请提交 Chromium bug。