0

我们正在将 Tealium 网络分析跟踪迁移到 Adob​​e Launch。

部分网站使用 utag.link 方法进行标记,例如

utag.link({
"item1" : "item1_value",    
"item2" : "item2_value",
"event" : "event_value"})

我们需要将其“翻译”成 Adob​​e Launch 语法,以节省开发人员的时间,例如

_satellite.track("event_value",{item1:"item1_value",item2:"item2_value"})

你会如何处理它?可行吗?

非常感谢帕维尔

4

3 回答 3

0

一般来说,同意BNazaruk的回答/哲学,即未来证明您的实现的最佳方法是创建一个通用数据层并将其广播到自定义 javascript 事件。几乎所有现代标签管理器都有订阅它们的方法,映射到它们等效的环境变量、事件规则等。

话虽如此,这里是 Adob​​e 当前使用Adob​​e 客户端数据层扩展的 Adob​​e 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"
});

关于这一点的几点说明:

  1. adobeDataLayer是 Launch 扩展将查找的默认数组名称。您可以将其更改为扩展配置中的其他内容(尽管 Adob​​e 不建议这样做,因为原因)。
  2. 您可以保留您用于 Tealium 的当前有效负载结构并使用它,尽管从长远来看,您应该考虑重组您的数据层。在处理 Tealium 的数据层语法/约定与 Launch 时,事情会变得有些复杂。例如,如果您的event字符串中有多个逗号分隔的事件(Tealium 约定)与在 Launch 中创建事件规则(需要字符串中的单个事件)。这些东西有一些解决方法(如果需要帮助,请提出单独的问题),但同样,长期最佳路径是将数据层的结构更改为更标准的结构。

然后,在 Launch 中,您可以创建数据元素以映射到adobeDataLayer.push调用中传递的给定数据点。

在此处输入图像描述

同时,您可以根据各种标准使用监听推送数据的事件创建规则。常见的示例是侦听特定事件,该事件对应于event您推送的值。例如:

在此处输入图像描述

然后在规则的条件和操作中,您可以引用您制作的数据元素。例如,如果您想在event等于“event_value”(上图)和如果item2等于“item2_value”时触发规则,您可以添加这样的条件:

在此处输入图像描述

另一个示例,将 Adob​​e Analytics eVar1 设置为值的操作item2

在此处输入图像描述

于 2021-11-27T18:40:08.370 回答
0

我建议从您的平台代码中删除对 TMS 的任何依赖项并迁移以使用通用数据层。这样,您的开发人员将来在迁移 TMS 时不会遇到任何问题。

请参阅这篇关于通用数据层而非 TMS 提供商特定的文章:https ://dev.to/alcazes/generic-data-layer-1i90

于 2022-01-28T15:25:03.930 回答
0

好的,这比看起来要复杂一些。从技术上讲,这完全回答了您的问题:https ://experienceleaguecommunities.adobe.com/t5/adobe-experience-platform-launch/satellite-track-and-passing-related-information/mp/271467

但是!这将使跟踪只能由 Launch/DTM 访问。如果其他 TMS 甚至全局 env JS 也需要这些数据,它们最终将依赖 Launch。想象一下,五年后您想像现在使用 Tealium 一样从 Launch 迁移时会发生什么?你将不得不做同样不必要的事情。如果您的 Tealium 实施得到了更仔细的实施,那么您现在就不需要在此迁移上浪费时间了。

因此,我建议不要使用 _satellite.track()。我建议详细使用带有有效负载的纯 JS CustomEvents。Launch 本机具有本机 JS 事件的触发器以及通过 CJS 访问其详细信息的能力:event.details。但即使我需要在 GTM 中使用它,我也可以在 GTM 中部署一个简单的事件侦听器,它将所有精彩的 CustomEvent 重新路由到 DL 事件中,并将它们的有效负载放在整洁的 DL vars 中。

有了这个,当您需要为不同的 TMS 提供跟踪时,无论是迁移还是奇偶校验跟踪到不同的分析系统,您都不需要打扰前端开发人员。

于 2021-11-25T16:15:46.043 回答