使数据层变量和自定义java脚本变量在GTM中工作相同

问题描述 投票:0回答:1

您需要在 GTM 中为 javascript 变量编写代码,其工作方式与数据层变量类似。我当前的代码在 GSM 中不起作用,有什么问题吗?

function() {    
  var res = null

  if (dataLayer[dataLayer.length - 1] == undefined) {
    res = 'undefined'
  } else {
      res = dataLayer[dataLayer.length - 1]['eventCategory']
  }
  return res
}

任务:使数据层变量和自定义java脚本变量在GTM中工作相同

javascript google-tag-manager
1个回答
0
投票

有两种方法可以从数据层中的某个键获取最新值

1.

var latestValue = null;
for (var i = window.dataLayer.length - 1; i >= 0; i--) {
    if (window.dataLayer[i]['your_key'] !== undefined) {
        latestValue = window.dataLayer[i]['your_key'];
        break;
    }
}
console.log(latestValue);
var variableValue = google_tag_manager["GTM-XXXXXX"].dataLayer.get('your_key');
console.log(variableValue);

your_key
替换为您需要的密钥并尝试一下。

在第二部分,请记住将

GTM-XXXXXX
替换为您的 GTM 容器 ID。

但这两种方法应该与您通过

DataLayer variable
获得的方法完全相同。

您可以分享更多关于为什么我们需要从 JS 获取值的问题。

© www.soinside.com 2019 - 2024. All rights reserved.