如何从 dataLayer 对象中获取值

Rak*_*rma 5 javascript jquery google-tag-manager google-datalayer

我想从 google 标签管理器的 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"
  }
]
Run Code Online (Sandbox Code Playgroud)

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

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

Mor*_*itz 7

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

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

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


小智 6

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

在此输入图像描述

然后您可以使用dataLayer[XXX]asXXX作为index的值Linker


far*_*har 0

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