Cloudflare Zaraz 提供与标签管理软件中用于跟踪事件及其他参数的 dataLayer 函数的向后兼容性。这样你可以保留当前实现,Cloudflare Zaraz 会自动收集你的事件。
为尽可能保持 Zaraz 脚本小巧快速,数据层兼容模式默认关闭。要启用:
启用兼容模式后,Zaraz 会自动将你的 dataLayer.push() 调用转换为 zaraz.track(),因此你可以继续使用 dataLayer.push() 函数从浏览器向 Zaraz 发送事件。
仅当推送的对象包含 event 键时,事件才会发送到 Zaraz。event 键用作 Zaraz 事件的名称。其他键将成为 eventProperties 对象的一部分。以下示例展示了如何使用 data layer 将购买事件发送到 Zaraz——请注意,对象内的参数取决于你要跟踪的内容:
dataLayer.push({
event: 'purchase',
price: '24',
currency: 'USD',
transactionID: '12345678',
});随后,Cloudflare Zaraz 会将 dataLayer.push() 调用转换为 zaraz.track() 调用。因此,dataLayer.push({event: "purchase", price: "24", "currency": "USD"}) 等价于 zaraz.track("purchase", {"price": "24", "currency": "USD"})。
由于 Zaraz 会将 dataLayer.push() 调用转换为 zaraz.track(),基于 dataLayer.push() 调用创建触发器与为 zaraz.track() 创建触发器相同。例如,以下触发器会匹配上面的 dataLayer.push() 调用,因为它匹配事件 purchase。
| 规则类型 | 变量名 | 匹配操作 | 匹配字符串 |
|---|---|---|---|
| Match rule | Event Name | Equals | purchase |
我们不建议使用 dataLayer。但由于许多网站仍在使用,Cloudflare Zaraz 提供此自动转换层,将其转换为 zaraz.track()。