如何了解访问者实际上是在看网页多久?

时间:2009-05-28 06:22:14

标签: web-applications user-tracking

当访问者访问网页时,我们如何知道访问者实际上是在页面上显示页面(而不是已经转到另一个标签页或应用程序)。

我们如何知道用户阅读页面的时长或页面保持打开的时长?

9 个答案:

答案 0 :(得分:11)

Google analytics是最好的免费分析AFAIK。它向您展示了您所需要的一切。

答案 1 :(得分:6)

安装摄像头并为视频计时。 :)

<rant>坦率地说,你为什么需要知道?我需要多长时间才能理解你所写的内容?我去吃午饭多久了?对访客的全面监控是一件好事(?)?

我已经给了你我的IP地址以及我确实访问了你的页面。我的内衣的大小和颜色真的那么重要吗?

作为网络冲浪者,我讨厌网络漏洞,收集JavaScript的数据以及任何类型的监控。如果我不想给你一些东西,那就不要试图从我那里偷走它。

全球各地的人们开始了解他们的隐私是多么珍贵和危害。犯罪分子提出了更多狡猾和更狡猾的想法来滥用某人收集的数据。当我在没有JavaScript的情况下访问网站时,网站开始崩溃。 NoScript告诉我“jdhsdg.com”想要在我的浏览器中运行一些东西。我该怎么办?允许?拒绝?好老的诚实怎么了?营销人员有什么隐瞒他们使用这样的名字?</rant>

[编辑]

如果您需要知道您的网站是否不好,请打电话给街道上的人并观看它们(因此“安装相机”)。通过这种方式,您可以询问他们的想法,而不是通过观察鼠标指针的作用来猜测。也许他们的宠物正在玩它?

不要在毫无戒心的受害者的野外这样做。只有当他们发现并且在互联网上,你的声誉是唯一有价值的东西时才会让他们发疯。

[EDIT2]要改进网站,请使用可用性实验室。使用二级人工数据进行猜测,这与你想要衡量的东西没有固定的关系,会欺骗你。你不能通过在月亮的夜晚观察灯光来分辨地球上的人。

至少除非你提取大量数据。通过收集大量数据并搜索模式,Google能够分辨出人们感兴趣的内容。他们确实将令牌附加到浏览器以跟踪个人的行为,但是为了进行分析,他们加入了数百万人的模式。

还要记住,这些数据可能对犯罪分子有价值。您的数据越有价值,他们就越有能力投入寻找从中赚钱的方法。他们可以破解您的着名网站以分发病毒,他们可能破解您的服务器以加密您的数据并敲诈您索要赎金,他们可以复制数据并将其出售给竞争对手,或者他们可能将其用于他们自己的计划之一。 / p>

全球各种犯罪组织每年都有数十亿人与互联网相关的犯罪行为。

从我的角度来看,你应该问自己:这些数据值多少钱?它有多准确?它会告诉我多少钱以及收集的风险有多大?愚弄我的计划有多容易?例如,我可以创建一个锤击您的服务的脚本,告诉它我正在积极阅读您的一些页面几个小时。或者我可以为您的网站禁用JavaScript,看它不起作用,只是走开,永远不会回来。

到目前为止,您只询问了的内容。开始考虑为客户提供什么,以及最坏的情况。

答案 2 :(得分:5)

除了GA之外,如果您需要详细的分析来分析人们浏览您的网页的方式,浏览菜单的方式,用户倾向于关注的区域以及所有与UED相关的内容,如鼠标热图,时间花费等,ClickTale是适合你的。

了解Google Analytics和ClickTale的用途完全不同。后者适用于frontend engineer,另一种适用于SEO或产品经理

从他们的博客预览:
alt text
(来源:clicktale.com

虽然有价格......

答案 3 :(得分:2)

我现在使用woopra有一段时间了,真是太棒了! 仍然是测试版,仍然是免费的但是像梦一样。 伟大的管理工具!

http://www.woopra.com/

答案 4 :(得分:2)

开源Google Analytics替代方案:Piwik。用PHP编写,JS;在MySQL上运行。

从他们的网站:

Piwik is a downloadable, open source (GPL licensed) 
web analytics software program. 
It provides you with detailed reports on your website visitors: 
the search engines and keywords they used, 
the language they speak, your popular pages ...

答案 5 :(得分:1)

在页面加载时,将当前时间保存在JavaScript中,并在页面卸载时(当用户关闭他/她的窗口时)向服务器发送Ajax请求,时间减去您记录的时间以获取持续时间。这可能是你最好的选择。至于发现窗口是否位于顶部,我认为没有任何可靠的方法可以做到这一点。

答案 6 :(得分:0)

我在想是否有些网站使用onmousemove或onscroll来调用函数,然后每1分钟使用AJAX将用户活动报告回服务器。

答案 7 :(得分:0)

这是Aaron的一个好点。你无法避免网络变得像现实世界一样......干扰(商业电话和其他统计数据)

Jian,您可以通过每4或5秒调用一个计时器来知道这样的事情,该计时器调用带有post或get字段的动态页面,其中包含来宾IP,页面名称和页面onrect的时间戳事件,并将其与现在进行比较。

你还应该看看像彗星的推送方法 ajaxian.com/wp-content/images/comet.png

答案 8 :(得分:0)

这是一个JavaScript库,用于计算用户在网页上的时长。它具有更准确(但并不完美)跟踪用户实际与页面交互的时间的额外好处。它忽略了用户切换到不同标签,闲置,最小化浏览器等的时间。建议的Google Analytics方法有缺点(据我所知),它只检查您的域处理新请求的时间。它将先前的请求时间与新请求时间进行比较,并调用“在您的网页上花费的时间”。它实际上并不知道是否有人正在查看您的页面,最小化浏览器,将标签切换到自上次加载页面以来的3个不同的网页等。

没有解决方案是完美的。但希望这个也能提供价值。

https://github.com/jasonzissman/TimeMe.js

其用法示例:

加载页面时

document.onload = function() {
  TimeMe.setIdleDurationInSeconds(30);
  TimeMe.setCurrentPageName("my-home-page");
  TimeMe.initialize();  
}

检索在网页上停留的时间,并在用户离开您的网页时将其发送到您的服务器:

window.onbeforeunload = function (event) {
    xmlhttp=new XMLHttpRequest();
    xmlhttp.open("POST","ENTER_URL_HERE",false);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    var timeSpentOnPage = TimeMe.getTimeOnCurrentPageInSeconds();
    xmlhttp.send(timeSpentOnPage);
};