使用 Google 标签管理器操作数据层

Manipulate dataLayer using Google tag manager

是否可以从 dataLayer 获取一个值,修改它并将其推回 dataLayer?

我为此使用了这个习惯 HTML,但它 returns NaN(不是数字),想法?

<script type="text/javascript">
(function() {
  amsdataLayer.push({
    'roomcount' : 6*('roomcount').float()
  });
    
})(); 
</script>

如果 roomcount 当前在 dataLayer 中(为了精确起见:如果它在 dataLayer 中并且您通过 GTM 变量访问它)您需要使用双大括号来访问它,即 {{roomcount}}。目前,您正在将调用应用于文字字符串 "roomcount",它不会产生数字(另外,JS 中真的有一个用于数字的 float() 方法吗?目前我只能想到具有不同的 parseFloat语法)。

您还需要一个(本机或自定义)事件来使 GTM 了解数据层的更改。