如何在发送到Google Analytics之前更改数据层中的数据?

时间:2016-06-29 05:00:07

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

我尝试在数据层到达我的Google Analytics(分析)帐户之前更改其中的某些值。

我使用自定义HTML标记来操作数据层。假设我想将我的房间数变量乘以3,

<script type="text/javascript">
(function() {
  var var7 = ({{DL_roomcount}})
  
  var7 = 3*var7
  dataLayer.push({
    'roomcount' : var7
  });
    
})(); 
</script>

显然,即使它在预览模式下显示数据层中的新值,新值也从未到达分析帐户。

我使用的触发器类型是 - 自定义事件&amp;事件名称为'gtm.load'。在预览模式下,datalayer将roomcount显示为3,但在分析帐户中,它仍为1。

我的GA-debug控制台也显示1而不是3。

对此有任何帮助将受到高度赞赏。

谢谢

2 个答案:

答案 0 :(得分:0)

您应该在推送roomcount的新值的同时将事件推送到dataLayer,以便您可以访问该新值:

// your other code
dataLayer.push({
   'event': 'update roomcount',
   'roomcount': var7
})

如果您触发标记在roomcount事件上触发,您现在可以访问新的update roomcount值。

答案 1 :(得分:0)

您需要查看何时读取这些值;让我举个例子。

  • 您点击该页面。
  • 这会导致数据层推送。
  • 这种推动导致谷歌分析能够发起一场活动。
  • 您可以使用自定义标记编辑数据图层变量。

在这种情况下,为时已晚。您已经错过了Google Analytics收到信息的时间点。

我建议您修改数据层推送,数据层变量或将信息发送到Google Analytics的标记。添加第四方只会让它更复杂。