我在 GTM(谷歌标签管理器)中创建了以下标签:
(function(window) {
if (typeof(dataLayer[dataLayer.length-1].count) !== "undefined"){
dataLayer.push({'count':dataLayer[dataLayer.length-1].count+1});
} else {
dataLayer.push({'count':1});
}
})(window);
最初,当没有 "count" 推送到 dataLayer 时,if 语句返回 false 并推送 { "count" : 1}。之后 count 的值应该随着每次推送而增加。我的目标只是计算某个按钮的点击次数。
但是,似乎“if”语句从未经过验证,因此每次单击按钮都会导致将“0”-s 推送到 dataLayer。我知道这不是最好的解决方案,但我仍然无法找出为什么这不起作用。顺便说一句,当我在浏览器控制台中运行此代码时它正在工作。