我一直在努力为此寻找解决方案,但没有看到任何有用的谷歌周围。问题可能在于我使用的术语具有其他含义。
我的网站对访客和会员使用了相同的网址。为了正确跟踪访问次数和目标,我需要一种方法来判断访问者是登录用户还是访客。
我能想到的最简单的方法是,如果我只是在我的网址前加上类似的东西 /构件/
我想也许我可以通过添加以下内容在Google跟踪代码中执行此操作:
_gaq.push(['_trackPageview'], '/member' + window.location.pathname);
完整的代码是:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'xxxxxxxxxx']);
_gaq.push(['_trackPageview'], '/member' + window.location.pathname);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
然而,这不起作用,也在阅读谷歌分析文档,这似乎是一种添加“额外”页面视图的方法。
我可以更新服务器代码,使用/ member /作为url的前缀,然后在处理控制器的路径之前将其删除,但我宁愿不冒险破坏即将上线的稳定系统。
有人知道在跟踪普通网址之前如何在JS中完成此操作吗?
谢谢, 丹
答案 0 :(得分:3)
您的_trackPageview
来电时出现轻微的语法错误。
应该是这样的:
_gaq.push(['_trackPageview', '/member' + window.location.pathname]);
请注意,/member+
部分现在位于数组内,而不在数组之外。
您正在做的是传递_trackPageview
函数名而不使用第二个参数作为其参数(默认情况下,它将页面视图跟踪为location.pathname+location.search
,然后传递字符串/成员+窗口.location.pathname到数组,什么也没做。
将自定义URL作为数组中的第2项传递将使其正常工作。
答案 1 :(得分:1)
除了您可能不应在Google Analytics中使用相同的网址结构进行目标跟踪之外,我还可以提出几种方法来解决问题。请注意,这并未解决您提出的别名跟踪问题,但提供了一些替代方法。
<强> 1。将查询字符串参数附加到成员或来宾的目标页面
有点破解,但如果您的用户没有登录,那么添加?guest=true
参数应该是微不足道的。这将是一个小的改动,不应该影响您的业务逻辑或网站操作。
然后,您可以在GA中设置不同的目标,以查找包含或不包含URL参数的成功页面。
<强> 2。在Google Analytics中为成员和访客设置自定义变量
这是更正确的解决方案。
使用会话级自定义变量来区分不同会话的访问者体验。 例如,如果您的网站为用户提供登录功能,则可以使用作用于会话级别的自定义变量来获取用户登录状态。通过这种方式,您可以对登录成员与匿名访问者的访问进行细分。
然后,您可以使用高级细分细分您的目标开始和完成情况,细分用户登录状态: