笔记 by 车东

基于鼠标点击跟踪的用户点击行为分析

内容摘要: 在像网站首页这样的资源比较集中的页面中,那些栏目最经常被用户点击?居左居右对广告的点击率的影响是什么?“一切用数字说话”:以上问题都可以通过跟踪浏览器客户端的鼠标行为,按区块对页面进行点击行为的分析。

页面点击统计系统设计

输出

页面上不同区域的点击量统计。

数据采集

原理:通过JAVASCRIPT的鼠标触发事件,动态将当前鼠标的坐标,客户端的分辨率传递到统计服务器上。

如果要往服务器端发请求,做计数器,插入一个图片是最简单的方法,这里是一个简单的例子:

/* (C) 2003 - 2004 www.chedong.com
 * Free for all users, but leave in this header
 * click based user analysis:
 * usage: touch a empty click.gif or create a static page on at server
 * including following script into your html page
 */

document.onclick = clickStat;

function clickStat() {
    // create a new empty element
    var image = document.createElement("<img></img>");
    
    // record client screen size and mouse coordinate
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
    image.src = "http://www.chedong.com/click_stats.php?width=" + screen.width + "&x=" + tempX + "&y=" + tempY;
    image.height = 0;
    image.width = 0;
    
    //send request to stat server
    document.body.insertBefore(image);
    return true;
}

通过全局的onClick事件,每次向统计服务器发一个请求:http://www.example.com/click_stat.php?width=1024&x=345&y=567 其中:1024x768是屏幕分辨率,345是鼠标X坐标,567是鼠标Y坐标。点击统计程序click_stats.php会将以上信息记录到日志文件中。

数据输出

从WEB日志中将相应统计提取出来。然后针对不同页面建立配置文件,将页面区块按照以下格式建立配置文件:

#X1 Y1 X2 Y2 comments
0 0 1024 100 navigator
0 100 1024 200 top_story
...

再利用统计脚本根据指定区域的配置,将各个区域的点击量进行汇总。