Attribution-Reporting-Register-Trigger header

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

HTTP Attribution-Reporting-Register-Trigger 响应头将页面功能注册为归因触发器。此头作为对包含Attribution-Reporting-Eligible头的请求的响应的一部分。

有关更多详细信息,请参阅 归因报告 API

注意: 如果调用站点未在成功的隐私沙盒注册过程中包含归因报告 API,则 Attribution-Reporting-Register-Trigger 头将被忽略,并且不会注册归因触发器。

头类型 响应头
禁止请求头
CORS-safelisted 响应头

语法

http
Attribution-Reporting-Register-Trigger: <json-string>

指令

<json-string>

一个 JSON 字符串,提供可包含在生成的报告中的数据,例如触发器 ID、优先级和去重值。可用字段如下:

"aggregatable_trigger_data"

一个对象数组,每个对象定义一个要应用于不同源键的聚合键。每个对象包含以下属性:

"key_piece"

表示键的十六进制值。

"source_keys"

一个数组,包含数据的一个或多个键值。

"aggregatable_values"

一个对象,包含表示 "aggregatable_trigger_data" 中定义的每个数据点的值的属性。在每种情况下,属性名等于 "source_keys" 中定义的名称,属性值是您需要的任何任意值。

"debug_key" 可选

表示调试键的数字。如果您想在关联的归因报告旁边生成调试报告,请设置此项。

"debug_reporting" 可选

一个布尔值。如果设置了 debug_key,则将其设置为 true,以指定生成的调试报告应为详细调试报告。

"filters" 可选

一个对象,包含可用于过滤哪些触发器生成报告的自定义数据。有关更多详细信息,请参阅过滤器

"event_trigger_data"

一个表示触发器数据的对象。可用子字段如下:

"trigger_data"

一个表示描述触发器的数据的字符串,通常用于指示诸如“用户将商品添加到购物车”或“用户订阅了邮件列表”等事件。此值将包含在生成的事件级报告(如果有)中,但它会根据归因源的"trigger_data_matching"字段进行修改。

注意:用于表示每个事件的值以及数组中元素的数量完全是任意的,由您作为开发者定义。数组可能包含未使用的值,但必须在数组中存在值,以便浏览器在注册触发器时将其归因于来源。

"priority" 可选

一个表示归因触发器优先级值的字符串。默认情况下,触发器归因于最近的匹配源。对于事件级和汇总报告,您设置更高的优先级数字以使触发器匹配更旧的源。例如,值 2 优先于默认值 1。有关更多信息,请参阅报告优先级和限制

"deduplication_key" 可选

一个表示唯一键的字符串,可用于防止归因重复——例如,如果用户多次将同一商品添加到购物车。有关更多信息,请参阅防止报告重复

"filters" 可选

一个对象,包含执行选择性过滤的过滤器,用于根据相应Attribution-Reporting-Register-Source头中设置的 filter_data 来设置 "trigger_data""priority""deduplication_key"。有关更多信息,请参阅过滤器

示例

注册事件级报告的触发器

Node.js 服务器可能会如下设置 Attribution-Reporting-Register-Trigger 响应头,以注册旨在匹配事件级报告归因源的触发器:

js
res.set(
  "Attribution-Reporting-Register-Trigger",
  JSON.stringify({
    event_trigger_data: [
      {
        trigger_data: "4",
        priority: "1000000000000",
        deduplication_key: "2345698765",
      },
    ],
    debug_key: "1115698977",
  }),
);

注册汇总报告的触发器

注册旨在与汇总报告归因源匹配的触发器时,您需要包含以下字段:

js
res.set(
  "Attribution-Reporting-Register-Trigger",
  JSON.stringify({
    aggregatable_trigger_data: [
      {
        key_piece: "0x400",
        source_keys: ["campaignCounts"],
      },
      {
        key_piece: "0xA80",
        source_keys: ["geoValue", "nonMatchingKeyIdsAreIgnored"],
      },
    ],
    aggregatable_values: {
      campaignCounts: 32768,
      geoValue: 1664,
    },
    debug_key: "1115698977",
  }),
);

规范

规范
归因报告
# create-an-attribution-trigger

浏览器兼容性

另见