能否使用谷歌分析跟踪哈希链接(如页面)?

57

是否可以使用Google Analytics跟踪类似页面的哈希链接?

例如,我想让index.php/#1、index.php/#2和index.php/#3都显示为独立的页面点击,并显示独立的页面停留时间。

如果没有简单的方法可以实现此功能,我该如何在jQuery中将跟踪事件添加到onclick事件中?这样做仍然能够准确地获取“页面”信息吗?


你也在用单页应用程序来构建整个网站吗?它非常用户友好且快速,我真的很喜欢! - Dave
@Dave 我不会说它是“超级用户友好型”的...我只是因为我的网站工作方式没有其他选择才在使用它。 - markasoftware
我一开始以为戴夫在讽刺,直到我意识到他是在问问题 :) - Scott Weaver
5个回答

113

一般而言,您的代码可能如下所示

_gaq.push(['_trackPageview',location.pathname + location.search  + location.hash]);

你可以将该代码绑定到应用程序内每次哈希变更的事件上,或者你可以使用一个通用哈希变更插件,该插件使用HTML5 onhashchange,并在旧版浏览器中使用向后兼容的技巧,将该代码绑定到该事件上,以便每次哈希更改时都会触发。

使用该插件,你的代码可能如下所示:

$(window).hashchange( function(){
    _gaq.push(['_trackPageview',location.pathname + location.search  + location.hash]);

})

**更新于2014年:**

这是您在新的Universal Analytics中执行此操作的方法:


ga('set', 'page', location.pathname + location.search  + location.hash);
ga('send', 'pageview');

谷歌分析文档中有一条注意事项:

尽管send命令的页面视图点击事件技术上接受第三个可选参数page字段,但在测量单页应用程序时不推荐通过这种方式传递page字段。

如果你正在使用Google Tag Manager中的Google Analytics,则可以按照以下方式进行设置:

  • 进入宏设置
  • 将URL宏更新为“片段”

3
您可以使用这个很棒的扩展程序在Chrome上实时查看它发送到您的帐户的过程。这是由Google Analytics团队制作的。https://chrome.google.com/extensions/detail/jnkmfdileelhofjcijamephohjechhna - Yahel
@Yahel - 感谢您的回复!很抱歉,我应该解释得更清楚。目前,Google通用分析已经插入到了GTM中。您知道我如何使用Google Tag Manager进行调整吗? - KingOptimizer
如果您不需要指定其他参数作为标题,则一种简写方式可以是ga('send', 'pageview', location.pathname+location.search+location.hash); - Nicolas Renon
1
这个答案并没有明确说明这是否是一个“黑客”行为,而原始方法使用了一堆下划线前缀的东西,这通常是无意中使用的迹象。但至少在新的“通用分析”片段的情况下,谷歌已经有文档记录:https://developers.google.com/analytics/devguides/collection/analyticsjs/single-page-applications - natevw
1
虽然技术上,pageview hits的send命令接受第三个可选参数作为页面字段,但在测量单页应用程序时不建议通过该方式传递页面字段。这是因为通过send命令传递的字段不会设置在跟踪器上——它们仅适用于当前的hit。如果您的应用程序发送任何非页面查看的hit(例如事件或社交互动),而不更新跟踪器,则会导致问题,因为这些hit将与创建跟踪器时的任何页面值相关联。 - jkupczak
显示剩余4条评论

5

2

好问题。要跟踪哈希链接,你必须为指向该哈希的每个链接跟踪事件或页面浏览量。对于页面浏览量,以下是一段示例代码:

onclick="_gaq.push(['_trackPageview','/page/hashLink1']);"

注意: 该方法创建了一个虚拟的页面视图,它会累加到您网站页面的计数中。如果您的网站是由大型HTML文件组成并带有锚点(也许有一个滑块链接到这个页面),此方法将给出用户与您的“内容”交互的估计值。

2
Google Analytics允许您跟踪自定义事件,例如AJAX页面加载。
(在执行此操作时应注意常规警告 - 希望有非JavaScript方式来访问相同的数据 :))

5
这不是Custom Events的使用方式。它们用于非页面行为。如果您的网站使用哈希更改来执行常规页面加载所做的操作,应该使用虚拟页面视图。Custom Events用于跟踪不符合传统页面浏览范式的事物。 - Yahel

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接