您需要在 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中工作相同
有两种方法可以从数据层中的某个键获取最新值
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 获取值的问题。