一般来说,同意BNazaruk的回答/哲学,即未来证明您的实现的最佳方法是创建一个通用数据层并将其广播到自定义 javascript 事件。几乎所有现代标签管理器都有订阅它们的方法,映射到它们等效的环境变量、事件规则等。
话虽如此,这里是 Adobe 当前使用Adobe 客户端数据层扩展的 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
: