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

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

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

在继续操作之前,请务必阅读 Attribution Reporting 概览。这有助于您了解该 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 小时后,您的摘要值将较小,但结果可能含有更多噪声。一天内的汇总值将大于此值,因此噪声可能会更少。

批处理周期可能随时发生变化,以确保捕获到预计数量较多的特定事件,例如年度销售。您可以更改批处理周期,而无需更改归因来源或触发器。

汇总服务

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

汇总服务向协调器请求解密密钥,以解密和汇总数据。解密和汇总后,系统会对结果应用噪声以保护隐私,并以摘要报告的形式返回结果。

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

后续操作

我们希望与您展开对话,确保构建适合所有人的 API。

讨论 API

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

试用 API

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