Google跟踪代码管理器 - 计算网页浏览量

时间:2017-10-30 13:51:00

标签: javascript local-storage google-tag-manager

我在Google跟踪代码管理器中创建了一个事件,该事件在加载特定页面时触发。 Event标签是我的用户定义变量SearchCounter的值,其类型为:Custom JavaScript。

enter image description here

在'SearchCounter'中我有以下JS:

  function(){
  var counter;
  if(localStorage.getItem("count_search") === null || localStorage.getItem("count_search") === 'undefined'){
    localStorage.setItem("count_search", "1");
    return localStorage.getItem("count_search");
  } 
  else{
    counter = parseInt(localStorage.getItem("count_search"));
    counter = counter + 1;

    localStorage.setItem("count_search", counter);
    return localStorage.getItem("count_search");
  }

return localStorage.getItem("count_search");
}

enter image description here

如果我的本地存储空间中没有该项目,它仍然会给我7而不是1.然后我会按F5:count_search = 17,再次f5:27。CTRL-F5给了我37 。 enter image description here

它应该是1,2,3,4,5等。

我希望有人可以帮助我在Google跟踪代码管理器中实现类似的功能,这样我就可以在达到目标后向GA发送搜索量。因此,当有人点击特定按钮时,想要获得count_search的值,以便在事件中将其发送给GA。 非常感谢。

2 个答案:

答案 0 :(得分:0)

首先,默认情况下,谷歌分析会给出这个指标,所以我不明白为什么你试图将它存储在其他地方。如果你不想谷歌使用的平均值,你只需在会话级别存储自定义维度,使用sessionID和自定义报告中的自定义维度按网页浏览量打开会话。 Here is info about it.

另一方面,如果你坚持按照自己的方式去做,我认为即使这样做也不是最好的方法,你会得到一个更好的结果,将计数器存储在“会话”级别的自定义维度中。 (它会在给定的会话中每次覆盖该值,并且最终会发送最后一个会话)

希望它有所帮助。

答案 1 :(得分:0)

您需要做的是更改保存在localStorage中的参数的名称。我不知道为什么,但是count_search不起作用。我测试了您的设置,并遇到了count_search项累加为天文数字的相同怪异效果。使用thisIsMyPageViewCounter之类的其他名称也可以! count_search可能被文档或窗口中的另一个对象访问,并且您设法从中偶然获得了一个价值。

如果要将页面浏览量添加到事件中,除了创建用于设置计数器的自定义HTML标记和返回计数的自定义JS变量外,我看不到其他任何方法。

这是要添加到每个页面视图的自定义HTML脚本:

<script>
   (function() {
     if(localStorage.getItem("thisIsMyPageViewCounter") === null || localStorage.getItem("thisIsMyPageViewCounter") === 'undefined') {
       localStorage.setItem("thisIsMyPageViewCounter", 1);
  } else {
    var counter = 0;
    counter = parseInt(localStorage.getItem("thisIsMyPageViewCounter"));
    counter = counter + 1;

    localStorage.setItem("thisIsMyPageViewCounter", counter);
  }
})();
</script>

这是要添加为事件值的自定义JS变量:

function() {
    pageviewCounter = parseInt(localStorage.getItem("thisIsMyPageViewCounter")); 
    return pageviewCounter;
}
    

我希望这会有所帮助!