归因报告:完整的系统概览

面向技术决策者的归因报告关联服务概览。

借助 Attribution Reporting API,广告技术平台和广告客户可以衡量广告点击或观看何时促成了转化(例如购买)。此 API 依赖于客户端和服务器端集成的组合,具体取决于您的业务需求。

在继续操作之前,请务必阅读归因报告概览。这有助于您了解该 API 的用途以及不同输出报告(事件级报告摘要报告)的流程。如果您遇到不熟悉的术语,请参阅 Privacy Sandbox 术语表

本文的适用对象

如果您遇到以下情况,请阅读本文:

  • 您是广告技术平台或广告客户的技术决策者。您可能从事运营、DevOps、数据科学、IT、营销或其他需要您做出技术实施决策的角色。您想了解这些 API 如何实现可保护隐私的效果衡量。
  • 您是技术从业者(例如开发者、系统操作员、系统架构师或数据科学家),将使用此 API 和汇总服务环境设置实验。

本文将简要介绍 Attribution Reporting API 的端到端服务运作方式。如果您是技术从业者,则可以在本地试用此 API

概览

Attribution Reporting API 包含许多服务,这些服务需要进行特定的设置、客户端配置和服务器部署。若要确定您需要什么,请先执行以下操作:

  • 做出设计决策。确定要收集哪些信息,确定您希望从任何给定广告系列获得哪些转化,并确定要收集哪种报告类型。最终输出是以下两种报告类型之一或两者兼有:事件级报告和摘要报告。

报告功能始终由两个(有时是三个)组件协同提供支持:

  • 网站与浏览器之间的通信。在基于 Cookie 的系统中,转化和广告互动的信息会附加到一个标识符,以便您或分析服务稍后联接这些事件。借助此 API,浏览器会根据您的说明将转化与广告点击/观看相关联,然后再将其提交以供分析。因此,您的广告呈现代码和转化跟踪代码必须:
    • 告知浏览器应将哪些转化归因于哪些广告点击或展示。
    • 指明要包含在最终报告中的任何其他数据。
  • 数据收集。您需要一个收集器端点来接收在用户浏览器中生成的报告。浏览器的输出可能是以下两种报告之一:事件级报告和可汇总报告(已加密,用于生成摘要报告)。

如果您收集了可汇总报告,则需要第三个组件:

  • 摘要报告生成。批量处理可汇总报告,并使用汇总服务处理报告以生成摘要报告。

设计决策

归因报告的一项关键原则是尽早做出设计决策。您可以决定要收集哪些数据、收集哪些类别的数据,以及处理这些数据的频率。输出报告可提供有关您的广告系列或业务的分析数据。

输出报告可以是:

  • 事件级报告可将特定的广告点击或观看(在广告端)与转化端的数据相关联。为了通过限制跨网站的用户身份联接来保护用户隐私,转化方数据非常有限,并且数据存在噪声(这意味着,在少数情况下,系统会发送随机数据,而不是真实报告)。
  • 摘要报告与广告端的特定事件无关。这些报告提供更详细的转化数据,并可灵活地将点击和浏览数据与转化数据联接起来。

您选择的报告将决定您需要收集哪些数据。

您还可以将最终输出视为您用于制定决策的工具的输入。例如,如果您生成摘要报告来确定某个总支出价值对应的转化次数,这可能会帮助您的团队确定下一个广告系列应以什么为目标,以便提高总支出。

确定要衡量的内容后,您可以为 Attribution Reporting API 设置客户端。

网站与浏览器之间的通信

发布商网站上的归因来源会与广告客户网站上的触发器相关联。
发布商网站上的归因来源会与广告客户网站上的触发器相关联。

归因事件流

假设有一个展示广告的发布商网站。每个广告客户或广告技术提供商都希望了解与其广告的互动情况,并将转化归因于正确的广告。系统会按如下方式生成报告(事件级报告和可汇总报告):

  1. 在发布商网站上,广告元素(<a><img> 代码)使用特殊属性 attributionsrc 进行配置。其值为网址,例如 https://adtech.example/register-source/ad_id=...

    以下示例展示了一个会在被点击后注册来源的链接:

    <a href="https://shoes.example/landing" 
      attributionsrc="http://adtech.example/register-source?..."
      target="_blank">
    Click me</a>
    

    以下示例展示了在用户查看时会导致注册来源的图片:

    <img href="https://advertiser.example/landing" 
      attributionsrc="https://adtech.example/register-source?..."/>
    

    或者,您也可以使用 JavaScript 调用,而不是 HTML 元素。

    下面是一个使用 window.open() 的 JavaScript 示例。请注意,网址已采用网址编码,以避免出现特殊字符问题。

    const encodedUrl = encodeURIComponent(
      'https://adtech.example/attribution_source?ad_id=...');
    window.open(
      "https://shoes.example/landing",
      "_blank",
      attributionsrc=${encodedUrl});
    
  1. 当用户点击或查看广告时,浏览器会向 attributionsrc(通常是广告客户或广告技术提供商端点)发送 GET 请求。
  2. 收到此请求后,广告客户或广告技术提供商决定指示浏览器为与广告的互动注册来源事件,以便日后将转化归因于此广告。为此,广告客户或广告技术平台提供商会在其响应中添加特殊的 HTTP 标头。它会附加到此标头的自定义数据,以提供有关来源事件(广告点击或观看)的信息。如果最终发生了此广告的转化,这些自定义数据最终会显示在归因报告中。

    查看或点击广告。

  3. 之后,用户访问了广告客户的网站。

  4. 在广告客户网站的每个相关页面(例如购买确认页面或商品页面)上,转化像素 (<img> 元素) 或 JavaScript 调用都会向 https://adtech.example/conversion?param1=...&param2=... 发出请求。

  5. 此网址对应的服务(通常是广告客户或广告技术提供商)会收到请求。它决定将其归类为转化,因此需要指示浏览器记录转化,即触发归因。为此,广告客户或广告技术提供商会在其对像素请求的响应中添加一个特殊的 HTTP 标头,其中包含与转化相关的自定义数据。

  6. 用户本地设备上的浏览器会收到此响应,并将转化数据与原始来源事件(广告点击或浏览)进行匹配。如需了解详情,请参阅将来源与触发器进行匹配

  7. 浏览器会安排将报告发送到 attributionsrc。此报告包含以下内容:

    1. 广告技术提供商或广告客户在第 3 步中附加到来源事件的自定义归因配置数据。
    2. 第 6 步中设置的自定义转化数据。
    转化。
  8. 随后,浏览器会将报告发送到 attributionsrc 中定义的端点,但会有一些延迟和干扰。可汇总报告会加密,而事件级报告不会。

归因触发器(广告客户的网站)

归因触发器是指示浏览器捕获转化的事件。

我们建议捕获对广告客户最重要的转化,例如购买。摘要报告中可以捕获多种转化类型和元数据。

这样可以确保这些事件的汇总结果详细且准确。

将来源与触发器进行匹配

当浏览器收到归因触发器响应时,浏览器会访问本地存储空间,以查找与归因触发器的来源和相应网页网址的 eTLD+1 都匹配的来源。

例如,当浏览器在 shoes.example/shoes123 上从 adtech.example 收到归因触发器时,浏览器会在本地存储空间中查找与 adtech.exampleshoes.example 都匹配的来源。

您可以设置过滤条件(或自定义规则),以确定触发器何时与特定来源匹配。例如,您可以设置过滤条件,以仅统计特定商品类别的转化次数,并忽略所有其他类别。借助过滤条件和优先级模型,您可以生成更高级的归因报告。

如果在本地存储空间中找到多个归因来源,浏览器会选择最近存储的归因来源。在某些情况下,如果为归因来源分配了优先级,浏览器会选择优先级最高的来源。

数据收集

与相应来源匹配的归因触发器会由浏览器作为报告发送到广告技术平台自有服务器上的报告端点(有时称为收集端点或收集服务)。这些报告可以是事件级报告,也可以是可汇总报告。

可汇总报告用于生成摘要报告。可汇总报告是从广告(发布商网站上的广告)和转化数据(广告客户网站上的转化数据)收集的数据的组合,这些数据由浏览器在用户设备上生成并加密,然后再由广告技术平台收集。

事件级报告的延迟时间介于 2 到 30 天之间。可汇总报告会在 1 小时内随机延迟发送,并且事件必须符合贡献预算。这些选项可保护隐私,并防止利用任何单个用户的操作。

如果您只对事件级报告感兴趣,则这是您需要完成的最后一项基础架构设置。不过,如果您想生成摘要报告,则需要使用其他服务处理可汇总的报告。

生成摘要报告

如需生成摘要报告,您需要使用汇总服务(由广告技术平台运营)来处理可汇总的报告。汇总服务会添加噪声以保护用户隐私,并返回最终的摘要报告。

系统会收集可汇总报告、将其打包并发送到广告技术平台环境。
此图展示了从收集端点、批量报告到广告技术平台自有汇总服务进行处理的数据异步流程。

将收集的可汇总报告批处理后,汇总服务会处理该批报告。协调者仅向经过认证的汇总服务版本提供解密密钥。然后,汇总服务会解密数据、对其进行汇总并添加噪声,最后将结果作为摘要报告返回。

批量可汇总报告

在处理可汇总报告之前,必须对其进行批处理。批次由按策略分组的可汇总报告组成。您的策略最有可能反映特定时间段(例如每天或每周)。此过程可以在充当报告端点的同一服务器上进行。

批处理应包含许多报告,以确保信噪比较高。

时间段越长,结果中的噪声就越少。
比较等待 1 天和 1 周的时间。1 小时后,摘要值会更小,结果可能更嘈杂。一天内,您将获得较大的摘要值,因此噪声可能会较小。

您可以随时更改批量处理周期,以确保捕获预计会有较高流量的特定活动(例如年度促销活动)。您可以更改批处理周期,而无需更改归因来源或触发器。

汇总服务

汇总服务负责处理可汇总的报告,以生成摘要报告。可汇总报告会经过加密,只有在可信执行环境 (TEE) 上运行的汇总服务才能读取。

汇总服务会向协调者请求解密密钥,以解密和汇总数据。解密和汇总后,系统会对结果添加噪声以保护隐私,并将其作为摘要报告返回。

从业者可以生成可汇总的明文报告,以在本地测试汇总服务。或者,您也可以在 AWS 上使用 Nitro Enclave 测试加密报告

后续操作

我们希望与您进行对话,确保打造一个适合所有人的 API。

讨论 API

与其他 Privacy Sandbox API 一样,此 API 已记录并公开讨论

试用 API

您可以进行实验并参与有关 Attribution Reporting API 的对话。