一般来说,同意 BNazaruk 的回答/理念,即让您的实施面向未来的最佳方式是创建一个通用数据层并将其广播到自定义 javascript 事件。几乎所有现代标签管理器都有订阅它们的方法,映射到它们等效的环境变量、事件规则等。
话虽如此,这里概述了 Adobe 当前使用 Adobe Client Data Layer 扩展的 Adobe Experience Platform 数据收集(启动)最佳实践。
安装扩展程序后,您可以更改 utag 呼叫,例如
utag.link({
"item1" : "item1_value",
"item2" : "item2_value",
"event" : "event_value"
})
到这里:
window.adobeDataLayer = window.adobeDataLayer || [];
window.adobeDataLayer.push({
"item1" : "item1_value",
"item2" : "item2_value",
"event" : "event_value"
});
关于此的几点说明:
-
adobeDataLayer 是 Launch 扩展将查找的默认数组名称。您可以在扩展程序的配置中将其更改为其他内容(尽管 Adobe 不推荐这样做,原因是)。
- 您可以保留您用于 Tealium 的当前有效负载结构并使用它,尽管从长远来看,您应该考虑重组您的数据层。在处理 Tealium 的数据层语法/约定与 Launch 时,事情会变得有些复杂。例如,如果您在
event 字符串(Tealium 约定)中有多个逗号分隔的事件,而不是在 Launch 中创建事件规则(期望字符串中有一个事件)。这些东西有一些解决方法(如果需要帮助,请提出单独的问题),但同样,长期的最佳途径是将数据层的结构更改为更标准的结构。
然后,在 Launch 中,您可以创建数据元素以映射到在 adobeDataLayer.push 调用中传递的给定数据点。
同时,您可以根据各种条件使用监听推送数据的事件创建规则。常见示例是侦听特定事件,该事件对应于您推送的 event 值。例如:
然后在规则的条件和操作中,您可以引用您制作的数据元素。例如,如果您想在event 等于“event_value”(上图)时触发规则,并且如果item2 等于“item2_value”,您可以添加这样的条件:
另一个示例,将 Adobe Analytics eVar1 设置为 item2 值的操作: