雅酷SEO论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 950|回复: 2
打印 上一主题 下一主题

Google Analytics与百度统计原理

[复制链接]

650

主题

0

好友

3575

积分

QQ游客

  • TA的每日心情
    奋斗
    2014-6-1 22:10
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    跳转到指定楼层
    楼主
    发表于 2012-11-8 23:06:51 |只看该作者 |倒序浏览
    Google Analytics与百度统计原理

    Google Analytics与百度统计的统计数据都是有差异的,而且差异非常大,其根本原因在于数据统计的原理和机制是不同的。下面分享一下两位博友李鑫和赵高欣对Google Analytics与百度统计做出的原理分析。



    百度统计的工作原理分析

    百度统计提供的JS,实质上是往页面中引入hm.baidu.com/h.js的这段代码,该代码的内容会根据后面的参数有所不同,h.js?后面的参数就是你在百度统计里的id。

    获取该h.js代码的同时,百度统计会往你的浏览器写入一个名字为“HMACCOUNT”的cookie,该cookie的过期时间为2038年,所以只要你没有清空浏览器cookie,基本就永不过期。

    h.js被下载后,便执行其脚本获取一些浏览器相关信息和访问来源,获取的信息包括屏幕尺寸、颜色深度、flash版本、用户语言等。

    从js代码中可以得到,所有参数包括这些:”cc,cf,ci,ck,cl,cm,cp,cw,ds,ep,et,fl,ja,ln,lo,lt,nv,rnd,sb,se,si,st,su,sw,sse,v”。这些参数的意义大致如下:

    cc: 不知道,一般为1

    cf:url参数hmsr的值

    ci:url参数hmci的值

    ck:是否支持cookie 1:0

    cl:颜色深度 如 “32-bit”

    cm:url参数hmmd的值

    cp:url参数hmpl的值

    cw:url参数hmkw的值

    ds:屏幕尺寸,如 ’1024×768′

    ep:初始值为’0′,时间变量,反映页面停留时间,格式大概是:现在时间-载入时间+“,”+另一个很小的时间值

    et:初始值为’0′,如果ep时间变量不是0的话,它会变成其他

    fl:flash版本

    ja:java支持 1:0

    ln:语言 zh-cn

    lo: 不知道,一般为0

    lt:日期 time.time(),如“1327847756”,在首次请求没有

    nv: 不知道,一般为1或者0

    rnd:十位随机数字

    sb:如果是360se浏览器该值等于‘17’

    se: 和搜索引擎相关

    si:统计代码id

    st:

    su:上一页document.referrer

    sw: 不知道,估计和搜索引擎有关,一般为空

    sse:不知道,估计和搜索引擎有关,一般为空

    v:统计代码的版本 ,目前该值为“1.0.17”

    当这些参数都设置完毕了(有些参数并没有赋值),筛选出已经赋值了的参数,并作为hm.baidu.com/hm.gif的参数拼凑出一个url,如:?cc=1&ck=1&cl=32-bit&ds=1366×768&ep=0&et=0&fl=11.0&ja=1&ln=zh-cn 。然后请求该图片。

    百度统计服务端,通过接收到这个请求,并从这个图片的网址附带的参数获取相关信息,记录访客访问记录;当页面被用户关闭的时候,同样会触发一次请求hm.gif的过程,但这个过程不是所有浏览器和所有关闭动作都支持。

    使用使用Wireshark(一款网络抓包工具)测试可以发现,浏览器总共向服务器端发送了4次请求:

    请求一段js脚本。

    加载完毕时候出发一次请求,并传递参数

    退出页面时候,发出一次请求,并传递参数,与上面对比,发现ep参数有变化。

    百度统计是基于cookie的,当请求js脚本的时候,会在你电脑里保存一个永久cookie,该cookie作为你的用户标识。同时发现,但退出时候参 数ep从最开始的0变为了“7289%2C115”,转义后是“7289,115”这是两个毫秒单位,即7.2秒和0.1秒的意思。同时前两次请求 hm.gif的时候lt参数(时间,javascript:(new Date).getTime())是不变的。rnd随机数每次都变。

    Google Analytics的工作原理

    当用户访问了一个包含Google Analytics统计代码的页面,这段代码会被用户的浏览器执行,而这段代码的作用就是用来收集这位访客的信息,比如浏览页面的URL、浏览器类型、操作系统、系统语言、屏幕分辨率等。

    GA统计代码随后将这些访客信息存储到Cookie中,Cookie是一段短小的文本,存放于本地,与访问的网站相关联,它被用来判断一个用户是初次访问还是多次访问,页面的推荐来源和随后的页面浏览信息等。

    最后,所有的被收集到的信息会被发送到Google Analytics的数据服务器上。这个过程比较巧妙,我们知道服务器的日志文件会记录每一次的文件请求信息,而Google Analytics收集数据的方式便是通过向服务器请求一个透明的1×1的GIF图片文件,这个文件请求以及请求时间会在服务器日志中被记录,而文件请求 信息包含了GA统计代码收集的数据和Cookie信息,这样,每当这个GIF图片收到请求申请时,访客的访问信息就会被Google Analytics数据服务器收集。

    不过Google Analytics只是发送一张gif请求,很多时候会发送多张gif请求。假如有一个gif图片无法统计,那么GA会发送其他gif请求,

    总结:

    网站分析大师Avinash曾经说过只要有数据有90%的准确度,那么就可以及时采取行动了。重要的是能够看出趋势,进而采取行动,然后进行测试,不断地优化。

    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    分享淘帖0 分享分享0 收藏收藏0 支持支持1 反对反对0
    回复

    使用道具 举报

    650

    主题

    0

    好友

    3575

    积分

    QQ游客

  • TA的每日心情
    奋斗
    2014-6-1 22:10
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    沙发
    发表于 2012-11-8 23:08:02 |只看该作者
    原来是这样。。。。。。
    回复

    使用道具 举报

    200

    主题

    0

    好友

    1万

    积分

    超级版主

    Rank: 8Rank: 8

  • TA的每日心情
    擦汗
    2019-6-28 11:16
  • 签到天数: 227 天

    连续签到: 1 天

    [LV.7]常住居民III

    板凳
    发表于 2013-4-10 20:53:32 |只看该作者
    重要的是能够看出趋势
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    百度SEO教程|谷歌SEO学术|百度SEO谷歌|网站SEO优化|雅酷SEO论坛  

    GMT+8, 2024-11-17 15:59

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部