【问题标题】:Adobe DTM and arrays with varying numbers of elementsAdobe DTM 和具有不同数量元素的数组
【发布时间】:2015-06-26 18:39:39
【问题描述】:

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

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

每个元素对应一个标签ID。

我一直在网上搜索,但找不到任何真正帮助我的答案。 This 博客文章已关闭,但看起来他们需要为数组中的每个元素创建一个单独的数据元素。我也在adobe论坛找到this的问题,不过和博文差不多。

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

【问题讨论】:

    标签: javascript dynamic tags adobe adobe-analytics


    【解决方案1】:

    除非您想定位顶级 js 对象/变量,否则不要使用 JS 对象 选项。例如foobar 可以,但foo['bar']foo.bar 不行。如果你想定位任何“嵌套”的东西,跳过 JS 对象 并使用 Custom Script 来检查它并返回它,而不是。这是因为 DTM 在返回之前没有很好地解析或检查父节点是否存在。这基本上是你提到的博客链接中已经说过的。

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

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

    如果您希望能够以其他类型(例如数组或一般的 js 对象)访问它,则需要使用_satellite.getVar('data_element_name') 语法。这样做的明显缺点是它基本上使以“非编码器”方式使用 DTM 毫无用处,因为您不能在规则中的任何内置字段中使用它。您只能在可以编写 javascript 的上下文中使用它,例如数据 > 自定义 类型 条件Javascript / 3rd Party Tag 容器。

    但对您而言,一个问题是,您最终将 数据元素 用于什么目的?例如,如果这里的最终游戏是您希望使用逗号分隔的字符串填充 propeVar 或其他一些变量.. 只需在 数据元素中返回您的数组> 然后你可以使用%data_element_name% 语法。

    【讨论】:

      【解决方案2】:

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

      我的问题是,您需要如何在报告中查看这些数据?除非您知道需要它采用什么格式,否则捕获数组本身并没有多大用处。您是否希望捕获这些 ID 并对其进行分类?要分页查看数组列表吗?

      您能否详细说明您将如何报告这些值?

      【讨论】:

        猜你喜欢
        • 2015-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        • 2015-01-26
        相关资源
        最近更新 更多