7

我想从谷歌标签管理器的 dataLayer 对象中获取一些值。在 chrome 标签帮助中,我得到了这样的值

[
  {
    "gtm.start": 1503053374849,
    "event": "gtm.js",
    "gtm.uniqueEventId": 0
  },
  {
    "event": "gtm.dom",
    "gtm.uniqueEventId": 1
  },
  {
    "event": "gtm.load",
    "gtm.uniqueEventId": 2
  },
  {
    "Linker": "_ga=53655374"
  }
]

我需要获取“链接器”值。我试过dataLayer[3].Linker但它给了我“未定义”或空白也相同dataLayer[1].event(它是空白不是返回值=“gtm.dom”)当我尝试dataLayer[0].event它返回正确'gtm.js'

请帮助我如何获得“链接器”值

4

4 回答 4

10

您可以通过谷歌标签管理器 javascript-api 访问推送的数据。可变部分将是您的 GTM 容器的容器 ID。确保您使用正确的地址。

google_tag_manager['<container-id>'].dataLayer.get('gtm.start');
//result e.g.: 1210115541132

结果将是数据层状态的最后一个值

于 2019-02-14T09:23:33.453 回答
2

在表格中打印数据层console.table(dataLayer);并记下index它将显示的值Linker

在此处输入图像描述

然后你可以使用dataLayer[XXX]asXXX作为 的indexLinker

于 2017-08-21T05:42:17.043 回答
0

我一直在寻找类似问题的答案,发现您还没有找到明确的解决方案。

我发现Simo Ahava 的这篇文章强调了从 GTM 访问对象变量时 vanilla JS 和 GTM 之间的区别。

所以根据那篇文章,你应该能够使用它并获得价值:

dataLayer.3.Linker

于 2021-09-28T21:08:51.820 回答
0

最好的方法是使用谷歌标签管理器本身,这就是它的设计目的。为此,请转到 GTM 界面 (tagmanager.google.com) 并创建一个dataLayer 类型的变量。然后,您可以在您选择的标签中使用此变量,将其值传递给第 3 方系统。

于 2017-08-20T05:02:48.790 回答