【问题标题】:Manipulate dataLayer using Google tag manager使用 Google 标签管理器操作 dataLayer
【发布时间】:2016-06-22 10:04:13
【问题描述】:

是否可以从dataLayer中获取一个值,修改后推回dataLayer?

我为此使用了这个自定义 HTML,但它返回 NaN(不是数字),你想吗?

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

【问题讨论】:

  • roomcount 当前位于 dataLayer 中,其值为“1”。我尝试读取该值,将其乘以 6 并将其推回 dataLayer。
  • 如果你在那里只使用 6,它会覆盖当前值 1,并且 roomcount 将等于 6。

标签: google-analytics google-tag-manager google-datalayer


【解决方案1】:

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

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

【讨论】:

  • 亲爱的艾克,非常感谢!这行得通。 谢谢艾克!
  • 不需要float和parseFloat是在javascript中将字符串转换为float的正确方法,感谢Eike
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多