Adobe DTM和包含不同数量元素的数组

时间:2015-06-26 18:39:39

标签: javascript dynamic tags adobe adobe-analytics

在我们的网站上,我们有可以分配标签的页面,而我在解决如何使用Adobe DTM / Analytics处理此问题时遇到了问题。每个页面可以在数组中捕获1到n个标记。我可以在开发者控制台中看到它们就好了,例如:

> data.page.termIds 
< [513, 1787, 115, 4330]

每个元素对应于标记ID。

我一直在网上搜索但找不到真正帮助我的答案。 This博客帖子很接近,但看起来他们需要为数组中的每个元素创建一个单独的数据元素。我还在adobe论坛中发现了this问题,但它与博客文章类似。

有谁知道这是否可能?我们是否希望创建一个数据元素块,每个元素都分配给一个数组索引?

2 个答案:

答案 0 :(得分:1)

除非您想要定位顶级js对象/变量,否则不要使用 JS Object 选项。例如,foobar可以,但foo['bar']foo.bar不是。如果您想要“嵌套”任何目标,请跳过 JS对象并使用自定义脚本来检查并返回它。这是因为DTM在返回之前不能很好地解析或检查父节点是否存在。这基本上就是您在上面提到的博客链接中所说的内容。

至于数据元素返回的内容以及如何使用它...... 数据元素本身的返回值将与您返回的内容完全相同。因此,如果您返回一个对象,它将是一个对象。如果返回一个数组,它将是一个数组。诀窍(或警告或错误,取决于您希望如何看待它)是您在工具和规则中引用或使用数据元素的方式。

长篇大论是这样的:如果你打算使用%data_element_name%语法(例如在规则,配置设置等任何内置表单字段中)那么你应该只有你的数据元素会返回string类型值(这基本上是论坛帖子链接的问题,我假设您遇到的问题)。

如果您希望能够以其他类型(例如,数组或js对象)访问它,则需要使用_satellite.getVar('data_element_name')语法。显而易见的缺点是它基本上使得以“非编码器”方式使用DTM是无用的,因为你不能在规则中的任何内置字段中使用它。您只能在可以编写javascript的上下文中使用它,例如数据&gt;自定义键入条件 Javascript /第三方标记容器。

但有一个问题是,你最终使用的是数据元素?例如,如果此处的最终游戏是您希望使用逗号分隔的字符串填充propeVar或其他变量..那么只需在数据中返回您的数组元素,然后您可以使用%data_element_name%语法。

答案 1 :(得分:0)

捕获数据是一回事,格式化是另一回事。

我的问题是您如何在报告中看到这些数据?除非你知道你需要什么格式,否则捕获数组本身并不会做太多。你是否希望捕获这些ID并对它们进行分类?您想逐页查看数组列表吗?

您是否可以提供有关如何报告这些值的详细信息?