首页 文章

深层链接和Google Analytics

提问于
浏览
2

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

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

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

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

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

1 回答

  • 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/

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

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

相关问题