了解如何注册归因触发器以统计转化次数。
归因触发器是告诉浏览器捕获转化的事件。
您可以按照本文档中的步骤注册触发器,以注册浏览器随后归因于相关来源事件(即广告展示或点击)的转化。
注册方法
如需注册触发器,请使用 HTML 元素或 JavaScript 调用:
<img>
标记<script>
标记fetch
个电话素材资源XMLHttpRequest
这会生成网络请求,然后您使用触发器注册 HTTP 响应标头进行响应。
注册触发器以对转化进行归因
注册触发器与注册归因来源事件类似。下文介绍了完整步骤。摘要如下:
- 启动触发器注册。使用像素或
fetch()
调用发出请求。 使用触发器注册标头进行响应,以完成触发器注册。
收到像素请求后(发送到常规
src
属性中定义的端点或attributionsrc
中定义的端点(如果您已选择使用attributionsrc
并为其赋予值),请通过标头Attribution-Reporting-Register-Trigger
进行响应)。在此标头中,指定您最终希望在报告中显示的触发器数据。任何响应都可以设置此标头。只要是对从与
destination
匹配的网站发出的请求的响应,就会匹配来源。收到标头后,浏览器会查找匹配的来源并安排报告。事件级报告示例:
{ "event_trigger_data": [{ "trigger_data": "[unsigned 64-bit integer]", "priority": "[signed 64-bit integer]", "deduplication_key": "[unsigned 64-bit integer]" }] }
摘要报告示例:
{ ... // existing fields, such as "event_trigger_data" "aggregatable_trigger_data": [ { "key_piece": "0x400", "source_keys": ["campaignCounts"] }, { "key_piece": "0xA80", "source_keys": ["geoValue", "nonMatchingKeyIdsAreIgnored"] } ], "aggregatable_values": { "campaignCounts": 32768, "geoValue": 1664 } }
处理子网域
如果 destination
为 https://advertiser.example
,则 https://advertiser.example
及其子网域(例如 https://shop.advertiser.example
)上的转化均可归因。
如果 destination
为 https://shop.advertiser.example
,则 https://advertiser.example
和 https://shop.advertiser.example
上的转化都可以进行归因。
必需属性和可选属性
在使用 HTML 元素或发出 JavaScript 调用来注册触发器时,您可能需要使用 attributionsrc
或 attributionReporting
。如需详细了解何时需要提供这些信息,请参阅下表。
当 attributionsrc
为可选时,使用此字段表示请求符合归因报告的条件。如果您使用 attributionsrc
,浏览器会发送 Attribution-Reporting-Eligible
标头。这对应用到网站的衡量也很有用:如果存在 attributionsrc
,浏览器会发送 Attribution-Reporting-Support
标头。
注册方法 | 触发器 |
---|---|
<a> 标记 |
不适用:锚点无法注册触发器。 |
<img> 标记 |
attributionsrc 是可选属性。该标头足以注册触发器。 |
<script> 标记 |
attributionsrc 是可选属性。该标头足以注册触发器。 |
fetch 个电话素材资源 |
attributionReporting 选项是必需选项。 |
XMLHttpRequest |
attributionReporting 选项是必需选项。 |
window.open() |
不适用:window.open 无法注册触发器。 |
第 1 步:启动触发器注册
您可以使用像素(<img>
代码)或脚本代码注册触发器。
使用新的或现有的转化像素
以下示例通过添加 attributionsrc
属性对现有图片触发归因。
attributionsrc
的来源必须与执行来源注册的来源一致。
<img src="https://advertiser.example/conversionpixel"
attributionsrc="https://adtech.example/attribution_trigger?purchase=13">
下例通过添加新的转化像素 attributionsrc
属性来触发归因。
src
的来源必须与执行来源注册的来源一致。
<img src="https://adtech.example/conversionpixel"
attributionsrc>
使用脚本标记
您可以使用脚本标记执行触发器注册;其行为与 <img>
相同。以下代码示例演示了如何使用 fetch()
和 XMLHttpRequest()
(XHR)。
此代码会有效地模拟使用 attributionsrc
的 HTML 请求会执行的操作:
const attributionReporting = {
eventSourceEligible: false,
triggerEligible: true,
};
// Optionally set keepalive to ensure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123",
{ keepalive: true, attributionReporting });
const attributionReporting = {
eventSourceEligible: false,
triggerEligible: true,
};
const req = new XMLHttpRequest();
req.open("GET", url);
req.setAttributionReporting(attributionReporting);
req.send();
attributionsrc
(包含或不包含值)
添加 attributionsrc
时可以有无值。
<!-- Without a value -->
<img src="..." width="1" height="1" attributionsrc>
<!-- With a value (URL) -->
<img src="..." width="1" height="1" attributionsrc="https://...">
如果您设置了 attributionsrc
值,则该值可以是一个或多个以空格分隔的网址。
使用网址会导致浏览器启动单独的 keepalive 提取请求(每个网址一个),其中包括 Attribution-Reporting-Eligible
请求标头。
如果您希望通过响应独立于元素主请求的请求来进行触发器注册,这会非常有用。
例如,如果您需要在图片元素上注册触发器,那么您实际上可能无法控制图片响应;在这种情况下,您需要采用如下配置:将触发器注册标头作为对独立于图片的请求的响应发送,并且您可以完全控制该配置。通过为 attributionsrc
指定明确的值,即可指示浏览器发出额外的请求并配置其目的地。
第 2 步:使用标头进行响应
收到浏览器请求后,请进行响应并在响应中加入 Attribution-Reporting-Register-Trigger
标头:
JSON.stringify({
event_trigger_data: [{
trigger_data: "412444888111012",
// Optional
priority: "1000000000000",
deduplication_key: "2345698765"
}],
debug_key: "1115698977"
});
后续步骤
不妨了解如何注册归因来源。