在线统计 vs 日志分析 ( Page Tagging vs Log Analysis )

网站流量分析(Web Analytics)的工具分为两大类, 一类是以Google Analytics为代表的在线统计系统, 英文称Page tagging。国内的武林榜,51yes,国外的Hitbox, Nielsen NetRatings, OneStat 都属于此类。这一类的重要特点是,分析时需要在里页面嵌入代码,这也是Page Tagging这个词的由来。 另一类就是日志分析,英文称Log Analysis, 特指web服务器的日志分析就是Web Log AnalysisNihuo Web Log Analyzer, awstats, analog 都属此类,这一类的特点是不用在页面嵌入代码,而是靠分析web 服务器产生的日志来生成统计报表。

经常有人问起这两种方法哪个更好,解释次数多了,自己都烦了,现在在这里统一回答一下。涉及到两类产品的比较时,就分别以Google Analytics( http://www.google.com/analytics/ )和Nihuo Web Log Analyzer( http://www.loganalyzer.net/ )为例了。

网站流量分析机制的差异

在线网站流量统计(Page tagging)的实现机制

Google Analytics需要在所有需要统计的页面中插入如下的Java Script统计代码,只有插入了代码的页面才能被统计,


这段Java script做的工作如下:

  • 判断用户是不是第一次访问这个网站。它是通过cookie来判断, 如果特定Cookie不存在它就会认为是新用户,它会种一个用户标识的cookie,并在cookie中记录下用户第一次访问时的Refrrer,即来源网站。 如果是从搜索引擎过来的,它还会分离出用户搜索用的关键词并记录下来
  • 判断用户是不是新的访问(New Visit),并获取当前浏览的页面URL,标题,Referrer(来源网址),客户端信息(如屏幕分辨率,语言,flash版本,是否支持java )
  • 创建一个image对象,调用http://www.google-analytics.com/__utm.gif,把上面所有的信息作为图像文件的参数传回去。这个图像文件其实就是1个像素的gif文件,而且这个像素还是透明的,在页面中是看不到的。

其他的在线统计系统与Google Analytic有些细微的差别, 比如Nielsen NetRatings要求嵌入的javascript代码中还包含有如下代码:

这确保了在javascript被禁止的客户端,用户的访问也能被统计。当然,这种情况下能统计的信息很有限了。关于这些在线系统实现方法上的一些细微差别做过专门研究,说起来就很长了,哪天有时间会单独写个文章讲这个话题。

日志分析(Web Log Analysis)的实现机制

Web服务器在工作时会把所有用户发过来的请求和相应情况记录在文件里,这个文件就是日志文件。下面就是从http://www.loganalyzer.net/log-analysis-tutorial/log-file-sample-explain.html 找到的一行日志:

111.111.111.111 – – [08/Oct/2007:11:17:55 -0400] “GET /support.html HTTP/1.1” 200 10801 “http://www.google.com/search?q=log+analyzer&ie=utf-8&oe=utf-8 &aq=t&rls=org.mozilla:en-US:official&client=firefox-a” “Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7”

在这一行里包含了客户端IP(111.111.111.111),时间([08/Oct/2007:11:17:55 -0400] ),请求方法(Get),请求文件(/support.html ),HTTP协议版本(HTTP/1.1),返回状态码(200,表示成功),文件大小(10801 ),Referrer信息(”http://www.google.com/search?q=log+analyzer&ie=utf-8&oe=utf-8 &aq=t&rls=org.mozilla:en-US:official&client=firefox-a”),Agent信息”Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7″)。具体如何详细解读日志会另文阐述,在这里只是展示一下日志中都包含什么信息。

Nihuo Web Log Analyzer就是靠读入日志文件在本地进行统计计算而得出最终报表的。在大部分Web日志文件中,都是靠IP来判断访问者。Nihuo Web Log Analyzer也可以通过Cookie识别用户,但需要在日志中首先输出Cookie信息。

在线统计日志分析的优缺点比较

上面费比较多的笔墨说两者的实现机制,就是为了大家能更好理解这一段,因为两种方法的优缺点都是由他们的实现机制决定的。

在线网站流量统计(Page tagging)的优点

  • 通过Cookie识别访问者,比依靠IP识别要更准确。因为通过IP识别用户在遇到很多用户通过代理服务器(比如网吧)时就会不准确。而且当用户过几天后再访问时,通过Cookie能很好的识别这是已经来过的用户。而日志分析以IP识别用户时,因为用户每次上网拨号可能会被动态分配不同的IP,就会比较难准确判断返回用户。
  • 能通过javascript搜集到一些通过日志不能搜集到的客户端信息,屏幕分辨率,语言,flash版本,是否支持java 等
  • 使用方便,只要在所有页面插入了统计代码,以后每次直接看报表即可
  • 可以做第三方统计, 比如你在blogspot.com开了一个blog,而blogspot是不可能把他们的web日志提供给你的,这时候没有别的选择,只能是用在线统计系统。

在线网站流量统计(Page tagging)的缺点

  • 当客户端禁止Javascript或禁止Cookie时,都会影响统计结果,要么是完全统计不到,要么是出现错误的统计
  • 存在一定误差,因为在线统计是通过javascript把客户端信息搜集起来再传回服务器实现统计,有时因为网络的延迟,会出现没有统计到的情况。而且和页面的载入速度也有关系,把代码加在页面代码顶部或尾部统计结果都是会有差异的。
  • 不能统计用户对图像,视频,音频等文件的访问,因为这些文件不能插入统计代码
  • 不能统计带宽信息
  • 统计信息被第三方掌握,有安全上的危险

日志分析(Web Log Analysis)的优点

  • 没有网络延迟的问题,统计准确
  • 可以统计网络蜘蛛(spider ,bot)的访问,这对于做SEO比较重要
  • 能够统计非页面文件,如图像,flash文件等等
  • 客户端禁止了Javascript和Cookie也不影响统计的结果
  • 能够采用丰富的过滤器(Filter)进行数据挖掘(Data mining),可以从多角度分析网站流量和用户的访问行为。一些在线统计也支持Filter, 比如Google Analytics,但是一旦应用过滤器最终数据就被改变,原始数据是找不回来的。
  • 可以多域名的日志放在一起分析,在线统计系统对用户的标识是基于Cookie的,而Cookie是不能跨域名的,在这方面日志分析有天然的优势。
  • 安全,分析数据是由你自己掌握的

日志分析(Web Log Analysis)的缺点

  • 使用比较麻烦,每次要分析日志,而且有的还要配置web服务器以输出合适的日志。
  • 用IP追踪用户不如Cookie准确。 不过这个问题可以通过在Web服务器上添加插件或模块来解决。Apache需要添加mod_usertrack模块,并在日志中输出cookie信息。IIS可以装ISAPI的插件(自己用VC6写了一个,可以从http://www.doyj.com/downloads/cookiefilter.dll 下载,不过这个当时只是写来测试的,出了什么问题可别怪我 )。也可通过javascript,php,asp等语言给客户端种植cookie,这讲起来就长了,大家可以google相关资料看看。
  • 搜集的客户端信息不如Page Tagging丰富,象flash版本,是否安装java之类从日志是看不出来的
  • 日志的存储管理也是挺头痛的事,尤其是当每天都产生几十G日志的时候。

经常有人问这两种方式哪个更好,应该选择哪种,这让我很难回答。 因为这两种方式都各有所长各有所短,只用一种方法很难准确完整的了解网站流量的的全貌,我自己做分析时两种工具都使用的,两个报告互相参考着看,也推荐大家采用这个方式。

注:这篇文章借鉴了一些 http://www.kichus.in/2006/09/23/log-file-analysis-page-tagging/ 的内容

网站流量分析 (Web analytics) 水平分级

记得自己最早的网站流量分析Web analytics) 是1997年左右的时候,当时网易开放40M免费个人网页空间的申请,自己也申请了一个,再去网上找了个免费的计数器挂上去。 然后每天看着计数器的跳动激动不已,其实一大半是自己刷出来的。这就算是最早的网站流量分析了吧。

开发日志分析软件这些年来,接触了不少国内的网站,对国内网站的流量分析有个大致的了解。下面据此对网站流量分析的水平划分出几个等级,大家可以对照看看自己属于哪个等级。

菜鸟级的网站流量分析 (No web analytics)

这个水平的就是什么统计分析都不做, 自己站点的访问量大约是什么数量级都不知道。对uv, pv, unique ip这些基础概念都一问三不知。一些个人站点这样还情有可原,可很多企业,政府网站居然也这样就说不过去了。

入门级的网站流量分析 (Junior web analytics)

到了这级已经知道了网站流量统计的基本概念,已经懂得在自己网页上插入武林榜( http://www.50bang.com ), 51yes ( http://count.51yes.com )之类的在线统计代码,或者隔三岔五看看虚拟主机用开源软件(比如awstat( http://awstats.sourceforge.net ), analog( http://www.analog.cx ), webalizer( http://www.mrunix.net/webalizer )) 分析出来的日志分析报表。这一级别的人知道光看pv不行,还要看uv和unique ip。 懂得看Referrer(来源网站)报表,研究Search Phrase(搜索关键词)报表。他们能根据看到的报告,及时调整自己网站的内容及经营策略。比如发现uv少了,就加大推广力度;发现搜索引擎过来的人少了,就做SEO;看地域统计报告,发现广东过来人少了,就赶紧安排一些针对广东的弹窗广告之类。国内的网站大都是这个级别。

高手级的网站流量分析 (Master of web analytics)

这个级别和入门级最重要的差别在于, 入门级的人关心有多少人到了自己的网站, 而高手级的人还懂得关心,甚至更关心:人们到自己的网站都干了什么。也就是说他们懂得用户行为分析 (Visitor behavior analysis) 的重要性。使用的工具中,国内那些简单的在线统计网站早就被剔除了,使用的是Google Analytics( http://www.google.com/analytics/ ),及收费的Nielsen NetRatings( http://www.nielsen-netratings.com/ )等在线统计系统, 同时还采用Nihuo Web Log Analyzer( http://www.loganalyzer.net/ )等专业的日志分析器,做到在线统计与日志分析相结合 。 他们分析的也不只是流量,而是包括网站内容,网站链接结构,SEO等多方面的数据;做的不再只是网站流量分析 (web traffic analytics) 而是进化成整体的网站分析 (web analytics)。他们关注用户的访问路径;关注每个关键词过来的流量在登录页面,Bounce rate弹出率),停留时间,访问路径等等指标上的细微不同;对一些重要页面进行单独的Tracking(跟踪),关注这些页面的每个细节; 他们还能熟练使用各种filter过滤器),能在几M到上百G的日志中进行数据挖掘工作,从中挖掘出有价值的数据;他们能轻易判断报表上反映的问题是技术问题,还是网页设计问题,还是网站推广问题。 他们的眼睛能透过报表上纷繁的数字,看到数字背后的真相。

专家级的网站流量分析 (Expert of web analytics)

专家级的人已经不满于现有的各种工具和指标,他们会针对自己的网站特点,提出一些很有针对性的新指标,他们会为自己的网站开发极有针对性的分析系统,甚至开发自己的日志系统。他们不只是看到数据背后的真相,而是会自己主动发掘新的数据,并把自己的网站变成数据驱动Data Driven)型的网站。网站的每个设计,每个推广活动,每个决策,不是拍脑子想出的结果,不是开无聊会议的结果,而都是有强大的分析数据来支持。 每个决策的效果又能及时统计分析,变成数据再反馈回来,让网站及时调整决策,乃至改进整个数据分析的流程和方法。

最高级 – 仙级的网站流量分析 (God of web analytics)

他们从专家级中走过来,从网站分析 (web analytics) 中看到的已不只是对过去的总结,还能从中能看到将来变化的趋势,并帮助网站提前把握这种趋势;他们不只是看自己网站的分析,还看竞争对手,同行业乃至整个互联网的情况,并根据掌握的这些情况对自己网站的流量做出更合理的分析解释,并做相应调整;他们有广博的知识,能把其他方面的知识应用到分析中来,了解社会及自然界发生的一些事情可能对网站流量的影响;他们对网站流量分析有着自己独到的见解;他们在公司里是传播分析思想与方法的中心人物;他们不只是对分析技术,而且对整个网站的机制和涉及到的技术都有深入的理解;他们是一个网站走向成功的重要保证。

国内这方面的水平还比较低。在国外很多公司在招专业的网站分析员Web analyst),而在国内的51job( http://www.51job.com )找不到这个职位的招聘。 国内很多网站把网站流量分析当作是网管附带的工作,不要说专职的部门,连专职的分析人员也没有。有时还不止是缺乏数据分析的问题,不少网站还热衷于制造数据,比如alexa( http://www.alexa.com )排名之类,对这些网站说重视数据分析,说从流量数据分析中挖掘出金矿无异于对牛弹琴。

但有理由对将来保持乐观,将来一个网站如果要成功,没有好的网站分析员是不可想象的。已经在国内见到有专家级甚至快成仙得道的大侠,见到过国内网站内部开发的超强统计分析系统,而且看到这样的大侠和这样有远见的网站有越来越多的趋势。国内将来不仅会有成批专职的网站分析员,而且这个职业可能成为下一个热门高薪职业。 登陆Google Analytics( http://www.google.com/analytics/ )的时候会看到有Analytic Authorized Consultant的标志,全世界已经有了很多获得这个认证的分析顾问( http://www.google.com/analytics/support_partner_provided.html ),其中中国已经有了一家,相信会越来越多。

发现了Google的又一个新功能

在google中搜索”LogFormat“发现了第二个结果旁边有下面用红框标志的东西, 很好奇. 我看到的时候VIsit还是2, 时间几十分钟前的时间, 等我用打开了那个搜索结果后, 再刷新搜索页面, Visit就变成了3, 时间也变成了我打开那个搜索结果的时间. 当logout google account以后, 这个统计消失. 看来显示的是我这个google账号访问搜索结果的统计.

在另一台机器上, 用另一个google账号登陆, 访问中文google没看到这个功能

又到中秋

现在是凌晨4点45, 坐在窗口旁, 俯瞰着整个小区。路灯静静得亮着,远方的工地偶尔传来一些机械的声音,旁边闷闷的电脑风扇声。又一个中秋开始了。

测试用Writely 来写blog ,感觉不错。在线Office 2007的测试帐号没申请到,只好先用用google。已经越来越喜欢上google的线上软件,微软做的能有这么好么?

update: Writely写的blog还是有些问题, 标题是空的,更新后又生成一个新的post. 看来还是要先用微软的Live writer

Google发布了新的搜索引擎

http://www.searchmash.com 悄无声息的发布了,有一些有趣的新特性。用户可以移动搜索结果,搜索文字会同时搜索图像,搜索结果中暂时没有Adwords广告。 mash是麦芽汁的意思,但google发布这个搜索引擎是什么意思却让人琢磨不透。难道是为了试验由用户主动参与来改进搜索结果? 还是以后google一些新的搜索技术会先在这个引擎尝试?

推荐Google Reader

今天Google Reader升级了, 界面改成下面的样子。比原先又方便了很多。

前一阵在朋友圈里做了个调查,居然很多人都不用RSS Reader,更少人用在线的Reader。其实用Google Reader来看朋友们的blog会方便很多,再也不用隔几天挨个去朋友们的blog查看更新了, 也不用担心会漏过blog上的精彩文章。 大家只要去 http://www.google.com/reader/ 用自己的gmail登陆即可, 然后找到别人的RSS Feed,在Google Reader里选择Add subscription即可。 以后只要每天看一眼Google Reader就能知道所有自己关注的blog有没有新的文章。

我的blog的RSS Feed是 http://www.doyj.com/feed/,欢迎大家订阅smile_nerd

我的blog也开始挣钱了:)

作了近1个月的google adsense, 终于挣到了1.20美刀. Adsense的大牛们别笑,自己很知足了:D。

大家谁要感兴趣也去 google adsense 申请个帐号吧。 不过中文的 adsense 市场比英文要差很多(从我的站点看,中英文adsense要差10倍以上),大家要有心理准备。 要么就是写给老外看的英文blog, 王健硕的blog主要就是英文内容, 据说收入一个月在5000人民币左右。

下面是一些真正挣钱的blog

http://www.boingboing.net/ 年收入100万美元的blog

http://www.techcrunch.com/ 月收入6万美元的blog

http://www.huffingtonpost.com/ 获VC 500万美元的blog