Google 分析哈希

Google Analytics hash

我正在使用以下代码跟踪 googleanalytics 中的变化:

$(window).on('hashchange', function(){
  ga('send', 'pageview', {'page': location.pathname + location.hash});
})

它可以工作,但它还会发送主题标签后面的参数。

如果 URL 看起来像

www.example.de/somepage/#myhashtag?parm1=this&param2=that&param3=foo

Analytics 中跟踪的 URL 看起来像

somepage/#myhashtag?parm1=this&param2=that&param3=foo

但我想要

somepage/#myhashtag

我做错了什么? :)

{'page': + window.location.hash}); // 或“/”+ window.location.hash 我明白了,尝试仅对哈希进行子串处理,使用 hash.lenght 然后从路径等

中进行子串处理

你没有做错任何事;这就是 location.hash 的工作方式。你可以试试这个:

ga('send', 'pageview', {'page': location.pathname + location.hash.split("?")[0]});

我发现另一种选择是在属性中告诉 Analytics 忽略特定参数。

除了@nyuen 所说的之外,如果您尝试将此网站作为单页应用程序进行跟踪,您应该阅读 developer guide for tracking single page applications

当涉及到您要尝试做的事情时,有几个陷阱,因此 link 可能会对您有所帮助。例如,他们以您现在正在做的方式。如果稍后发送事件,它将与错误的页面相关联,因为当散列更改时您没有更新跟踪器对象。