具有用户范围的Google Analytics自定义维度使用情况
Google Analytics Custom Dimension usage with user scope
我计划为进入网站中某个目录的任何页面的任何访问者设置一个具有用户范围的自定义维度,将用户分为两组:
- 访问过上述目录中的部分的访问者
- 没有访问过上述目录中的部分的访问者
我读到这个关于类似问题的问题,它指出谷歌分析的自定义维度没有默认值,因此解决方案是始终发送默认值,并且只有在满足标准时才更改它,但这与谷歌分析文档中关于用户范围的变量如何获得其值的内容发生了冲突(据我说):简而言之,最后一次点击已保存。
因此,我考虑了以下方法,当用户访问该目录中的任何页面时,只设置具有用户作用域的自定义变量,并且在报告中使用包含/排除功能来分隔这两个组,但我担心我可能会遗漏一些内容。
- 考虑到如果这个自定义维度没有受到影响,谷歌分析不会在聚合中考虑它,这种方法会奏效吗
- 我如何设置自定义变量来捕捉这些用户,但如果他们访问了该目录之外的页面,就不会覆盖它
我认为您的方法是可行的,但您应该记住,任何没有为此自定义维度分配值的用户都将被排除在您使用该维度的任何报告之外。
我认为你最好设置一个cookie来跟踪用户是否访问过有问题的页面。这样你就可以一直发送一个值。下面我借用了w3schools.com上的cookie函数,因为我不习惯javascript cookie。我相信你可以找到一个更短的方法。
//Cookie functons borrowed from w3schools.com
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
//start of Standard code goes here
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXX-Y', 'auto');
//now check for cookie value
var everBeen = getCookie('everBeen');
if(everBeen != 'hasBeen'){
var path = window.location.pathname;
if(path.indexOf('/requireddirectory') != -1){
everBeen = 'hasBeen';
} else{
everBeen = 'neverBeen';
}
}
setCookie('everBeen',everBeen,1461);
ga('send', 'pageview', {
'dimension1': everBeen
});
相关文章:
- 在Widget代码中没有jQuery的情况下,用光标图像从左滑动到右
- 对于如何在没有modernizr的情况下用边界半径的功能检测检查来替换我的旧浏览器检查
- 如何在不使用插件的情况下用程序记录浏览器操作
- MIDI Javascript:如何在没有库的情况下用Javascript生成单个MIDI音符
- 你为什么要用!!在这种情况下的表达式中?AngularJS API.
- Javascript;Fabric-js:在这种情况下,如何在函数外调用对象
- 如何在没有jQuery的情况下用JavaScript打开JSON文件
- 用javascript计算内存使用情况
- 在没有一个表单的情况下用ENTER阻止提交
- 在不使用jQuery的情况下,用JavaScript将表转换为数组
- 如何在没有空函数的情况下用javascript实现对象组合
- 如何在没有for循环的情况下用JavaScript显示数组
- 如何在不使用JSON.stringify或JSON.parse的情况下用javascript克隆数组
- 在没有赋值的情况下用var在JavaScript中声明变量会消耗内存吗
- 如何在不刷新的情况下用javascript打开或关闭掩码/隐藏URL参数
- 在不影响其他元素的情况下,用Vue.js切换一个元素的类开/关最简单的方法是什么?
- 用2种情况找到一些变量的正确方法
- 如何在不影响其他模态的情况下用CSS改变模态的宽度?
- 为什么变量在一种情况下用单引号发送,而在另一种情况下不加引号
- 在Jquery's .unload已弃用的情况下,取消提交按钮文本设置的正确方法