WA中您可能不知道的小技术(一)

Tags:

其实网站分析已经出现了很多年,它可以简单的分成主要3个步骤:

1.数据收集
2.数据报告
3.数据分析

本文章中我们先来讲第一点数据收集。

为什么要收集?很简单,收集数据后,才能出报告,才能得出洞悉(insights),(当然有些情况是什么洞悉也没有),然后才能分析嘛。

我们可以通过简单的解析数据收集的原理,去理解数据收集。

WA工具
我们一般理解的数据收集,是需要通过一些网站分析工具实现的,比如:
lGoogle Analytics (GA) – 国际免费工具
l百度统计 – 国内免费工具
lCNZZ统计 – 国内免费工具
lAdobe / Omniture Site Catalyst – 国外付费工具

我们把网站分析工具简称为WA工具,Web Analytics Tools。收集数据的原理是通过在网站的网页上预先埋好需要的JavaScript代码。有时候,我们会把添加JS监测代码叫做“埋点”。

JS监测最重要的好处是,它能把用户访问网页的行为记录,连很明细的行为也能记录,比如点击了那一个button,用了那一个下拉框,等。能收集到的数据会比较全面。

JS监测最麻烦的事情也是埋点,基础埋点一般不会有太大问题,但一旦需要对很明细的数据记录去做埋点,就会比较费工夫。而且,遇到紧急性的活动时,留给埋点设计和部署的时间往往会不够的,要不活动被延误,要不活动上线时埋点工作可能没法完全完成,导致数据记录不全。

Log日志
另一种比较老(或传统)的方式是通过网站Log日志收集数据。假如你网站是放在Linux服务器上,当一个用户通过Google搜索找到你的网页,然后访问你的网页,一条新记录会出现在你Linux服务器里的log文件,类似以下的一条记录。

192.168.22.10 – – [21/Nov/2003:11:17:55 -0400] “GET / HTTP/1.1” 200 10801 “http://www.google.com/search?q=china+seo&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”

当然,一般打开一张网页的同时,网页其他的元素也同时一并加载,比如图片,每张图片也会在log里成为一条记录。

Log的好处是,它能记录搜索引擎爬虫的访问,比如Googlebot访问过你网站的话,会有类似以下记录:

66.250.65.101 – – [21/Nov/2003:04:54:20 -0400] “GET /a.html HTTP/1.1” 200 11179 “-” “Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)”

Log的好处是,你无需要在你网站上预先埋点。

Log的问题是,它不能像WA一样去记录所有的用户明细行为(比如下拉框、搜索框、等比较细的交互行为)。

回来说WA
既然WA能收集大量的用户行为数据和比较适合现代的数据收集模式,我们回来讲WA。

为了比较容易说明,我们用Google Analytics (GA)的监测代码作为本文章的例子。以下GA以JavaScript方式收集数据的监测代码,它还是GA监测代码中叫做Universal Analytics版本的代码。

用最简单的方式说明GA的原理就是,首先把收集到的原始数据保存到Google的服务器上,处理过,之后生成报告,所以就是你平日在GA帐号界面里能看到的可视化报告。

第一部分的代码,其实是在调用一个GA默认而且很重要的JS文件:analytics.js

(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

})(window,document,’script’,’//www.google-analytics.com/analytics.js’,’ga’);

从代码里你可以看到这个analytics.js文件是放在Google的域名(服务器)上的。有些情况为了网页速度下载,有些国内网站也会把文件拷贝并放到本地服务器上,假设你网站域名是www.example.com,就会像这样做:

(function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

})(window,document,’script’,’//www.example.com/analytics.js’,’ga’);

GA代码里的第二部分是:

ga(‘create’, ‘UA-XXXXXXXX-Y’, ‘auto’);

UA-XXXXXXXX-Y是GA给你网站默认配置好的ID号。假如你在GA帐号里添加多个域名/网站,你的GA ID会有比如:

UA-XXXXXXXX-1

UA-XXXXXXXX-2

UA-XXXXXXXX-3

案例:WAW网站监测代码

比如WAW网站分析星期三网站(chinawaw.org)网页上的GA ID就是唯一的GA ID,跟你网站使用的GA ID并不一样。

代码看来有些跟默认的不一样,因为是WAW的代码里添加了一些通过custom dimension记录更明细的数据,本文章中我就暂时不展开了。

你会发觉你GA监测代码里的第二部分,用了一个’auto’的字段。

ga(‘create’, ‘UA-63334315-1’, ‘auto’);

假设你网站有多个二级域名,比如:
www.example.com
shanghai.example.com
beijing.example.com
shenzhen.example.com

有了这个’auto’字段,GA会理解这几个域名的cookie都需要被归类为一个网站的cookie。

如果没有添加’auto’的话,像一下,用户在访问每个二级域名的网页时,GA都会把用户浏览器中的cookie重置,这样网站的cookie,又即是UV数(唯一用户数)会被错误多算(重复计算)。

ga(‘create’, ‘UA-XXXXXXXX-Y’);

其实WAW网站,暂时并没有使用多个二级域名,所以’auto’暂时是不影响UV数的记录。

我们回来继续讲GA代码中的第三段,以下这行:

ga(‘send’, ‘pageview’);

意思基本上是说,把这个用户产生的浏览(Page View / PV)数据记录并传到Google指定的数据库里。

WA记录用户访问的最基础原理,我们刚完成说明了。

部署GA默认最基础的监测代码,基本上’out of the box’的 – 即Google已经把它最简单化过了,标准化过了。一般情况下,部署是不会出什么大错误的。

就算你不懂JavaScript,就算你在读过本文章前并不懂怎样安装GA监测代码,你现在应该可以有足够信息去尝试自己安装GA代码了。

自己动手尝试

当一位Web Analyst,其实早晚也需要自己动手干。

手痒的话,可以自己到Google Analytics官网上,开个GA帐号,获取GA代码。
http://www.google.com/analytics

当然你需要先注册一个域名(domain name),购买一个网站空间(web host)。比如在Godaddy.com上,你可以注册一个自己的域名,并买个空间。再到Wordpress.org上,下载一套Wordpress CMS,按照说明安装到你购买好的空间上。安装上GA。

作者简介
蔡维东Gordon Choi,E-Bizcamp联合创始人