汇总服务可为广告技术平台提供提升客户广告系列效果所需的效果数据分析。
本文档介绍了:
- 关键术语和概念
- Aggregation Service 的运作方式:如何根据原始可汇总报告为您提供详细的转化数据和覆盖面衡量结果
- 可汇总报告批量处理概念概览
- 云端组件概念性概览
本文档适合哪些对象?
本页面可帮助广告技术平台和开发者了解我们的 API 如何实现可保护隐私的有效广告效果衡量。
本文档假定您熟悉 Private Aggregation API、Attribution Reporting API、Protected Audience API、Shared Storage API 和可信执行环境。
关键术语和概念
在继续之前,请先熟悉以下关键术语:
术语库
- 广告技术
-
广告平台是指提供广告投放服务的公司。
- 可汇总的报告
-
可汇总的报告是从单个用户设备发送的经过加密的报告。这些报告包含有关跨网站用户行为和转化的数据。转化(有时称为归因触发器事件)和相关指标由广告客户或广告技术平台定义。每个报告均已加密,以防止各方访问底层数据。
- 可汇总报告的会计核算
-
分布式账本,位于两个协调者中,用于跟踪分配的隐私预算并强制执行“无重复”规则。这是位于协调器中并在其中运行的隐私保护机制,可确保没有任何报告在通过汇总服务时超出分配的隐私预算。
- 可汇总报告的会计核算预算
-
对预算的引用,用于确保不会对单个报告进行多次处理。
- 汇总服务
-
由广告技术平台运营的服务,用于处理可汇总报告以创建摘要报告。
- 证明
-
一种用于对软件身份进行身份验证的机制,通常使用加密哈希或签名。对于汇总服务提案,认证会将广告技术平台运营的汇总服务中运行的代码与开源代码进行匹配。
- 贡献绑定
- 协调者
-
负责密钥管理和汇总报告会计核算的实体。协调者会维护已获批准的汇总服务配置的哈希列表,并配置对解密密钥的访问权限。
- 噪声和缩放
-
在汇总过程中向摘要报告添加的统计噪声,用于保护隐私并确保最终报告提供匿名化衡量信息。
- 举报来源
-
接收可汇总报告的实体,也就是您或调用了 Attribution Reporting API 的广告技术平台。可汇总的报告会从用户设备发送到与报告来源关联的知名网址。报告来源是在注册期间指定的。
- 共享 ID
-
计算值,由
shared_info
、reporting_origin
、destination_site
(仅限 Attribution Reporting API)、source_registration-time
(仅限 Attribution Reporting API)、scheduled_report_time
和版本组成。如果多个报告在
shared_info
字段中具有相同的属性,则应具有相同的共享 ID。共享 ID 在可汇总报告的会计核算中发挥着重要作用。 - 摘要报告
-
Attribution Reporting API 和 Private Aggregation API 报告类型。摘要报告包含汇总的用户数据,并且可能包含添加了噪声的详细转化数据。摘要报告由汇总报告组成。与事件级报告相比,这些报告具有更高的灵活性,并提供更丰富的数据模型,对于转化价值等某些用例尤其如此。
- 可信执行环境 (TEE)
-
计算机硬件和软件的安全配置,可让外部方验证机器上运行的软件的确切版本,而无需担心信息泄露。通过 TEE,外部方可以确认软件的行为和功能与其制造商声称的完全一致,不多不少。
如需详细了解用于 Privacy Sandbox 方案的 TEE,请参阅 Protected Audience API 服务说明文档和汇总服务说明文档。
Aggregation Service 工作流
汇总服务会根据原始可汇总报告生成包含详细转化和覆盖面数据的摘要报告。报告生成流程包括以下步骤:
- 浏览器会提取公钥以生成加密报告。
- 加密的可汇总报告会发送到广告技术服务器。
- 广告技术平台服务器批量处理报告(采用 avro 格式),并将其发送到汇总服务。
- 汇总工作器会检索要解密的汇总报告。
- 汇总工作器会从协调者检索解密密钥。
- 汇总 Worker 会对报告进行解密,以便进行汇总和添加噪声。
- 可汇总的报告会计服务会检查是否有足够的隐私预算来为给定的可汇总报告生成摘要报告。
- Aggregation Service 提交最终摘要报告。
下图展示了 Aggregation Service 的实际运作情形,从从网站和移动设备收到报告到 Aggregation Service 创建摘要报告的过程。

总而言之,Attribution Reporting API 或 Private Aggregation API 会根据多个浏览器实例生成报告。Chrome 会从协调器中的密钥托管服务获取一个每 7 天轮替一次的公钥,以便在将报告发送到广告技术平台报告来源之前对其进行加密。广告技术平台报告来源会收集传入的报告并将其转换为 avro 格式,然后将其发送到汇总服务。然后,当系统向汇总服务发送批量请求时,汇总服务会从密钥托管服务中提取解密密钥,解密报告,并对其进行汇总和添加噪声,以创建摘要报告(前提是隐私预算足以创建这些报告)。
如需详细了解如何准备可汇总的报告,请参阅实现部分。
可汇总报告批处理
如果没有您在注册流程期间指定的指定报告来源服务器,报告流程将无法完成。报告来源负责收集、转换和批量处理可汇总报告,并准备将其发送到 Google Cloud 或 Amazon Web Services 中的汇总服务。详细了解如何准备可汇总的报告。
Cloud 组件
汇总服务由多个云服务组件组成。您将使用提供的 Terraform 脚本预配和配置所有必要的云服务组件。

前端服务
托管式云服务:Cloud Functions (Google Cloud) / API Gateway (Amazon Web Services)
前端服务是一种无服务器网关,是用于创建作业和检索作业状态的 Aggregation API 调用的主入口点。它负责接收汇总服务用户的请求、验证输入参数并启动汇总作业调度流程。
前端服务有两个可用 API:
端点 | 说明 |
---|---|
createJob |
此 API 会触发 Aggregation Service 作业。如需触发作业,需要提供作业 ID、输入存储空间详细信息、输出存储空间详细信息和报告来源等信息。 |
getJob |
此 API 会返回具有指定作业 ID 的作业的状态。它提供有关作业状态的信息,例如“已收到”“正在处理”或“已完成”。如果作业已完成,它还会返回作业结果,包括作业执行期间遇到的所有错误消息。 |
查看汇总服务 API 文档。
作业队列
托管式云服务:Pub/Sub (Google Cloud) / Amazon SQS (Amazon Web Services)
作业队列是一个消息队列,其中包含汇总服务的作业请求。前端服务会将作业请求插入队列,然后汇总工作器会使用这些请求进行处理。
Cloud Storage
托管式云服务:Google Cloud Storage(Google Cloud)/Amazon S3(Amazon Web Services)
汇总服务使用的输入和输出文件(例如加密报告文件和输出摘要报告)会保留在云端存储空间中。
作业元数据数据库
托管式云服务:Spanner(Google Cloud)/DynamoDB(Amazon Web Services)
作业元数据数据库用于存储和跟踪汇总作业的状态。它会记录创建时间、请求时间、更新时间等元数据,以及“已收到”“正在处理”或“已完成”等状态。汇总工作器会随着作业的进度更新作业元数据数据库。
汇总 Worker
托管云服务:带有机密空间的 Compute Engine (Google Cloud) / 带有 Nitro Enclave 的 Amazon Web Services EC2 (Amazon Web Services)。
汇总 Worker 会处理作业队列中的作业请求,并使用从协调者中的密钥生成和分发服务 (KGDS) 提取的密钥解密加密输入。为了最大限度地缩短作业处理延迟时间,汇总工作器会将解密密钥缓存 8 小时,并在处理的作业中使用这些密钥。
汇总 Worker 在可信执行环境 (TEE) 实例中运行。一个工作器一次只能处理一个作业。您可以通过设置自动扩缩配置,将多个工作器配置为并行处理作业。如果使用自动扩缩,系统会根据作业队列中的消息数量动态调整工作器数量。您可以通过 Terraform 环境文件配置自动扩缩的工作器数量下限和上限。如需详细了解自动扩缩,请参阅以下 Terraform 脚本:Amazon Web Services 或 Google Cloud。
汇总 Worker 会调用可汇总报告会计核算服务,以进行可汇总报告会计核算。此服务可确保仅在未超出隐私预算上限时运行作业。(请参阅“不得有重复”规则。)如果有预算,系统会使用带噪声的汇总数据生成摘要报告。详细了解可汇总报告会计核算。
汇总 Worker 会更新作业元数据库中的作业元数据。此信息包括作业返回代码和报告错误计数器(如果部分报告失败)。用户可以使用 getJob
作业状态检索 API 提取状态。
如需详细了解 Aggregation Service,请参阅此说明文档。
后续步骤
现在,您已经了解了汇总服务的运作方式,接下来可以按照入门指南通过 Google Cloud 或 Amazon Web Services 部署您自己的实例。