【发布时间】:2010-11-22 20:47:53
【问题描述】:
如何捕捉网站上的用户互动?用户点击了多少链接。用户来自哪里。我想创建自己的逻辑。我不想使用任何统计工具。我怎样才能做到这一点?
提前致谢
【问题讨论】:
标签: javascript ajax seo
如何捕捉网站上的用户互动?用户点击了多少链接。用户来自哪里。我想创建自己的逻辑。我不想使用任何统计工具。我怎样才能做到这一点?
提前致谢
【问题讨论】:
标签: javascript ajax seo
用户来自的地方可以通过referer(document.referrer)获得。
如果您有某种会话或标记用户(通过 cookie),则可以通过捕获 onclick 事件来检查单击了哪些链接。但是不要在每个链接上都点击,只需使用事件捕获技术。在 jQuery 中,这将是:
$('a')
.livequery('click', function(event) {
alert('clicked');
return false;
});
如果您想在消失时捕获点击的链接 - 您应该放置 onunload 事件,该事件会将有关点击链接的数据发送到您的服务器。
【讨论】:
我知道有两种方法:
创建服务,并在您要跟踪的每个事件上使用 GET 方法调用它。
这是这样的:
service.php?event=pageview&time=127862936&userId=70®istered=true
这样您的服务可以处理数据。
我知道的第二种方法,我自己使用的是调用我服务器上的一些虚拟图像,将 GET 查询链接到它,然后在服务器端分析对图像的请求。每个请求都经过处理和记录,然后我构建报告。
同样,您需要知道要抓取哪些事件,它们是预定义的,并且需要在它们发生时捕获并发送它们。您的客户端可以放置一个 1-script js 文件,但此脚本需要添加事件侦听器。假设您想知道用户何时退出页面。为 onbeforeunload 事件添加一个事件监听器,如下所示:
window.onbeforeunload = function(){
sendStats({event:'onbeforeunload'});
}
然后 sendStats 函数分解 JSON 并构建一个查询以发送到服务器,如下所示:
function sendStats(statsJSON){
var url = [];
for (var key in statsJSON) {
// make sure that the key is an actual property of an object, and doesn't come from the prototype
if( statsJSON.hasOwnProperty(key) ){
var sign = (!url[0]) ? '?' : '&';
url.push(sign);
url.push(key + '=');
url.push( encodeURI(statsJSON[key]) );
}
}
var time = new Date().getTime();
url.push('&time=');
url.push(time);
var stat = new Image();
stat.src = clientHost + 'stats.gif' + url.join('');
}
【讨论】:
从网络服务器日志文件开始,深入研究它的格式,尝试一些简单的统计数据。然后,您可能需要通读 awstats 等统计工具的代码,以增强您对此的认识。
【讨论】:
我是一名 asp .net 开发人员。但我认为这种技术将一直有效。如果您想了解用户从何处访问您的站点,您可以使用某种跟踪查询字符串变量 www.mysite.com?IMFrom=something。因此,当您在某些第三方网站上发布链接时,例如说谷歌。将链接发布为 www.mysite.com?google=traficfromgoogle。您可能有来自其他网站的流量。每个都有不同的查询字符串变量。您还可以为所有向您发送流量的网站使用某种唯一 ID。现在创建将跟踪此查询字符串变量的跟踪函数。使用此函数,它将在每个请求期间被调用。 您现在可以为每个具有此类查询字符串的请求添加一些自定义逻辑。
【讨论】:
我认为您不需要捕获它,因为它很可能已经由 Web 服务器本身在 Web 服务器日志中捕获。您只需要找到可以分析日志并为您提供一些不错的指标的软件。那里有很多包。
【讨论】:
我知道它不会创建您自己的逻辑,但如果您决定不想解析您的服务器日志,您可以尝试一项新服务,该服务正在尝试整合谷歌分析:http://mixpanel.com/。这是实时分析,他们有一个免费的受限帐户,因此您可以在升级之前尝试一下。
我还没有尝试过他们的 api 来获取信息,但我想您可以让他们从您的站点收集数据,并在您获取数据后用它做一些有趣的事情。
【讨论】:
使用 Google 分析并使用其 API 关联网站元素。
【讨论】:
录制和回放网络https://www.rrweb.io/
这可用于: - 在浏览器中记录用户交互/事件 - 仅在出错时才将录音发送到您的后端
【讨论】: