深层链接和Google Analytics

sau*_*sel 2 google-analytics deep-linking

我在使用Google Analytics(分析)将深层链接作为单独的页面时遇到了一些麻烦.

该站点使用JQuery来处理选项卡和深层链接.以此页面为例:http: //www.albanyservices.com/compliance/#/ic_compliance/

"#"后面的URL部分是指页面中的特定选项卡.选择新选项卡时会更新此选项.

目前,Google Analytics不会将每个标签视为网站中的单独页面.由于它们都包含单个内容并且直接链接到整个网站,因此我需要找到一种方法让Google Analytics将每个"#"更改视为单独的页面.

任何帮助将非常感激.提前致谢.

小智 6

首先,你的"深层链接"的想法不是谷歌的.实际上,/ compliance /是一个单页,其中包含已加载的所有选项卡的内容,而#只是一个内联锚,它显示一些相应的内容并隐藏其余内容.这不是一个新的网页浏览,而是一个在页面上发生的事件.在大多数情况下,将每个jQuery选项卡作为新页面进行跟踪是不正确的,但我可以在这里看到您想要的原因.

你想要做的是每次切换标签时调用_trackPageview()函数.您可以将它放在选项卡的"更改"回调中(在您正在处理$ .address.title之后,该页面源的第143行).

这里唯一的问题是当页面加载时也会调​​用更改.因此,当页面加载时,你会有你的初始trackPageview(我们认为它没有做你想要的),然后是第二个选项卡.

所以我建议的是,在"制表符"是比物理页面更敏感的页面结构的页面上,你删除了这一行:

_gaq.push(['_trackPageview']);
Run Code Online (Sandbox Code Playgroud)

相反,在选项卡上的.change回调内部,调用:

var _gaq = _gaq || [];
 _gaq.push(['_trackPageview', document.location.pathname + document.location.hash]);
Run Code Online (Sandbox Code Playgroud)

现在还有一个问题.它会将网页浏览跟踪为/ compliance /#/ additional_risk_management /

同样,谷歌并不认为#意味着新页面,所以如果由于某种原因代码不起作用,您必须解决从您跟踪的任何页面中删除#,如下所示:

var _gaq = _gaq || [];
gaq.push(['_trackPageview', document.location.pathname +     document.location.hash.replace("#/","")])
Run Code Online (Sandbox Code Playgroud)