深层链接和Google Analytics

时间:2010-08-23 10:07:36

标签: google-analytics deep-linking

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

该网站使用JQuery来处理标签和深层链接。以此页面为例: http://www.albanyservices.com/compliance/#/ic_compliance/

“#”后面的URL部分是指页面中的特定选项卡。选择新选项卡时会更新。

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

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:5)

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

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

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

所以我建议的是,在“标签”是比物理页面更敏感的页面结构的页面上,你删除了这一行:

_gaq.push(['_trackPageview']);

而是在选项卡上的.change回调内部,调用它:

var _gaq = _gaq || [];
 _gaq.push(['_trackPageview', document.location.pathname + document.location.hash]);

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

同样,Google并不认为#意味着新页面,因此如果由于某种原因代码无效,您必须决定从您跟踪的任何网页中删除#,如下所示:

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