javascript - GTM dataLayer .push 创建一个新对象,而不是将其添加到现有 dataLayer

标签 javascript angularjs debugging google-tag-manager google-datalayer

我正在尝试为我的网站创建一个数据层,但遇到了这个问题。 据我了解:Google 跟踪代码管理器 dataLayer 就是这样工作的,因此您拥有一个包含所有数据变量的 dataLayer 对象。每次您使用 dataLayer.push 时,它都会向您的 dataLayer 对象添加更多数据。 就我而言,它创建单独的对象。这是它的外观截图: enter image description here

所以第一个对象是我的数据层,这里是代码:

enter image description here

第四个对象是用 dataLayer.push 创建的另一个 dataLayer,如果我理解正确的话,它应该添加到现有的 dataLayer 中。

enter image description here

因此,我不再拥有一个对象,而是拥有 2 个对象,如果我添加更多 .push 方法,我将拥有更多对象。

那么我如何将所有 dataLayer.push 推送到我的主 dataLayer 而不是创建额外的对象?

enter image description here

如果我遗漏了一些重要的东西,请看一下并指出,我对此很陌生,无法理解为什么我最终没有一个完整的 dataLayer 对象。

最佳答案

I'm new to this and can't understand why don't I have one complete dataLayer object in the end.

因为这就是 dataLayer 和 GTM 的工作原理:) 在您的屏幕截图上一切看起来都很好。每个dataLayer.push应该添加额外的对象(datalayer是一个对象数组)。

关于javascript - GTM dataLayer .push 创建一个新对象,而不是将其添加到现有 dataLayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39153614/

相关文章:

javascript - 我正在使用 JSON.stringify(the_data) 在 localstorage 中设置对象数组,现在如何重用此数据?

.net - 如何获取 CLR 加载的类型列表?

javascript - 直接使用 children prop 和使用 React.Children.toArray 方法的区别

javascript - 无法将 header Content-Type 更改为 application/json

javascript - angularjs 选中复选框时隐藏具有特定类的对象

javascript - 链接点击不重新加载 Controller

angularjs - angularjs中包含的主要用途是什么

windows - 从 Windows 用户模式转储文件中识别主机

java - 鼠标点击监听器不触发

javascript - 使用 Javascript 提取 a href 路径的一部分