gpt4 book ai didi

javascript - Adobe DTM 和具有不同数量元素的数组

转载 作者:行者123 更新时间:2023-12-03 09:44:32 25 4
gpt4 key购买 nike

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

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

每个元素对应标签ID。

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

有人知道这是否可能吗?我们是否希望创建一个数据元素 block ,并将每个数据元素分配给一个数组索引?

最佳答案

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

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

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

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

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

关于javascript - Adobe DTM 和具有不同数量元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com