4

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

还有我们如何知道用户阅读了页面多长时间或页面保持打开多长时间?

4

9 回答 9

11

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

于 2009-05-28T06:26:50.987 回答
6

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

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

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

作为一名网络冲浪者,我讨厌网络漏洞、数据收集 JavaScript 和任何一般的监视。如果我不想给你一些东西,那就不要试图从我这里偷走它。

世界各地的人们开始明白他们的隐私是多么珍贵和危险。犯罪分子想出更狡猾、更狡猾的想法来滥用某人收集的数据。当我在没有 JavaScript 的情况下访问网站时,网站开始崩溃。NoScript 告诉我“jdhsdg.com”想在我的浏览器中运行一些东西。我该怎么办?允许?否定?善良的老实人怎么了?营销人员必须隐藏什么他们使用这样的名字?</rant>

[编辑]

如果您需要知道您的网站是否不好,请从街上召集人们并观看他们(因此“安装摄像头”)。这样,您可以询问他们的想法,而不是通过观察鼠标指针的动作来猜测。也许他们的宠物在玩它?

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

[EDIT2] 要改进网站,请使用可用性实验室。使用与您要测量的内容没有固定关系的二级人工数据进行猜测会欺骗您。你无法通过在月球上看夜晚的灯光来判断地球上的人在做什么。

至少不会,除非您提取大量数据。谷歌能够通过收集大量数据并搜索模式来判断人们对什么感兴趣。他们确实将令牌附加到浏览器以跟踪个人的行为,但为了进行分析,他们加入了数百万个人的模式。

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

全球各种犯罪组织每年通过互联网相关犯罪赚取数十亿美元。

从我的观点来看,你真的应该问自己:这些数据值多少钱?它可以有多准确?它会告诉我多少以及收集的风险有多大?欺骗我的计划有多容易?例如,我可以创建一个脚本来锤击你的服务,告诉它我正在积极阅读你的一些页面几个小时。或者我可以为您的网站禁用 JavaScript,发现它不起作用,然后干脆走开,再也不会回来。

到目前为止,你只问你有什么。开始思考对您的客户有什么好处以及最坏的情况。

于 2009-05-28T07:15:27.460 回答
5

除了GA,如果您想要详细的分析来分析人们如何浏览您的页面、如何遍历菜单、用户倾向于关注的区域以及与UED相关的所有内容,例如鼠标热图、时间花费等,ClickTale就是您的理想之选。

了解 Google Analytics 和 ClickTale 的用途截然不同。后者用于前端工程师,另一个用于 SEO 或产品经理

从他们的博客预览:(来源:clicktale.com
替代文字

虽然是有代价的...

于 2009-05-28T06:44:30.020 回答
2

我现在使用 woopra 有一段时间了,它很棒!仍然是测试版,仍然是免费的,但工作就像一个梦想。很棒的管理工具!

http://www.woopra.com/

于 2009-05-28T08:52:06.923 回答
2

开源谷歌分析替代品: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 ...
于 2009-05-28T09:01:50.537 回答
1

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

于 2009-05-28T06:25:57.243 回答
0

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

于 2009-05-28T07:18:55.330 回答
0

这是一个很好的观点亚伦。你无法避免网络变得像现实世界......侵入性(商业电话和其他统计数据)

简,您可以通过每 4 或 5 秒调用一次计时器来知道这样的事情,该计时器调用一个动态页面,其中包含包含访客 IP、页面名称和页面 onload 事件时间戳的 post 或 get 字段,以及和现在比较。

您还应该查看诸如comet
ajaxian.com/wp-content/images/comet.png 之类的推送方法

于 2009-05-28T07:28:23.627 回答
0

这是一个 JavaScript 库,用于计算用户在网页上停留的时间。它还有一个额外的好处,那就是更准确(虽然不是很完美)跟踪用户实际与页面交互的时间。它忽略了用户切换到不同选项卡、闲置、最小化浏览器等的时间。建议的谷歌分析方法有一个缺点(据我了解),它仅在您的域处理新请求时检查。它将先前的请求时间与新的请求时间进行比较,并将其称为“在您的网页上花费的时间”。它实际上并不知道是否有人正在查看您的页面,是否已最小化浏览器,自上次加载您的页面后是否已将选项卡切换到 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);
};
于 2015-02-01T13:30:43.910 回答