我在Google跟踪代码管理器中创建了一个事件,该事件在加载特定页面时触发。 Event标签是我的用户定义变量SearchCounter的值,其类型为:Custom JavaScript。
在'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");
}
如果我的本地存储空间中没有该项目,它仍然会给我7而不是1.然后我会按F5:count_search = 17,再次f5:27。CTRL-F5给了我37 。
它应该是1,2,3,4,5等。
我希望有人可以帮助我在Google跟踪代码管理器中实现类似的功能,这样我就可以在达到目标后向GA发送搜索量。因此,当有人点击特定按钮时,想要获得count_search的值,以便在事件中将其发送给GA。 非常感谢。
答案 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;
}
我希望这会有所帮助!