浅析豆瓣的 Google Analytics 应用
2009年07月01日
大家好,我是owen,主要从事 Online marketing 方面的工作,平时主要专注于 SEM 和 Web analytics。这次很荣幸能够应 Denis 之邀,在我爱水煮鱼抛砖引玉,发表 Web analytics 方面的文章,希望以后能够在这里,与大家多多交流这方面的知识。今天首先给大家简单谈谈豆瓣网怎么应用 Google Analytics。
豆瓣 Google Analytics 代码加载模式
豆瓣从今年开始也加入 Google Analytics 的统计阵营。让我们通过它加载的 Google Analytics 源码,简单分析一下它都是怎么应用的。
我们先从豆瓣的源码来看看它的Google Analytics统计代码

豆瓣 Google Analytics 代码
我们知道一般默认的 Google Analytics代码如下:

默认 Google Analytics 统计代码
两相对比,我们就会发现豆瓣加载 ga.js 的方式与默认的方式有些不太一样,由于豆瓣并没有采用 https 加密访问,所以撇弃了默认的ga.js加载方式。
默认的统计函数,pageTracker 也被豆瓣改成了 _ga ,这个只是名称定义上的区别,并没有什么实质的改变。豆瓣的主要应用是下面两个函数:
使用 _ga._addOrganic 识别非主流搜索引擎
再来看豆瓣比默认 Google Analytics 代码增加的部分,那就是多了数个 _ga._addOrganic ,这是 Google Analytics 添加自定义搜索引擎的代码。尽管 Google Analytics 对于主流的搜索引擎都能自动识别,但毕竟能识别的是国外的主流搜索引擎,在国内,像搜狐的 Sogou,QQ 的 soso,网易的有道等搜索引擎,都不能被 Google Analytics 正确识别,而被当作推荐来源。这时候我们就可以利用_addOrganic 参数来识别这些非主流搜索引擎,如豆瓣的做法。
使用 _addIgnoredOrganic 忽略关键字
除了添加自定义搜索引擎,豆瓣在最后还添加了如下这些代码:
_ga._addIgnoredOrganic("豆瓣");
_ga._addIgnoredOrganic("douban");
_ga._addIgnoredOrganic("豆瓣网");
_ga._addIgnoredOrganic("www.douban.com");
这些代码用来把引号中的关键词从搜索引擎的关键词报告中排除,而当成直接点击量来源。
为什么要这么做?因为一个知名的大网站,来自这些品牌词的搜索流量都非常大,常常是排在前几位的搜索关键词来源,而这通常是因为搜索引擎养成现在的人都懒得记网址,直接搜索品牌名来记住域名。这些品牌词对于网站的关键词来源分析并没有很直接的帮助,所以在来自品牌词的流量很大的情况下,可以直接把这些关键词识别成直接点击量来源。
关于自定义 Google Analytics 搜索引擎和排除特定关键词为直接点击量来源的语法,可以参考 Google Code 上关于这方面的详细介绍。
通过 _setVar 识别用户
当我们登录豆瓣后,再来分析豆瓣的源码,会发现多了一个ga._setVar(”xxxx”)的 Google Analytics 参数。

豆瓣使用 Google Analytics 的._setVar参数来跟踪登录用户行为
_setVar() 函数是 Google Analytics 的用户定义函数,主要用于对特定来源的用户行为进行分类,例如可以对登录浏览的用户设置一个数值,然后在 Google Analytics 后台的访问者/用户定义 中查看其浏览属性。

Google Analytics 访问者/用户定义报告
分析豆瓣的源码可以知道,豆瓣对每一个登录后的用户,都赋以一个专门的 id 值,这样可以在用户定义报告里,看到整体的登录用户访问行为,乃至每个登录用户的浏览行为。通过这样设定后,豆瓣便可以轻易获取高忠诚度访问用户的访问行为。关于_setVar()的更多说明,请参阅 Google Analytics的技术文档
如何根据访问者在我的网站上访问的页面或在表单上做出的响应对其进行分类?在 Google Analytics 官方的帮助文件,也给出了另外一个应用案例
值得注意的是,原来在设置 _setVar() 函数的时候,整个网站的跳出率会出现重大的偏差,不过在最近的google analytics官方博客,指出该bug已经修正,客户在进行这方面设置的时候,还是要注意对比前后数据是否有重大偏差。
通过 _trackPageview 区分不同类型的评论
豆瓣上的书评,影评和乐评可以说是豆瓣网站的核心价值所在。一般评论的URL格式如下:

豆瓣上单条评论的URL
当我们查看该页面的网页源代码时,会发现有趣的现象:

豆瓣单条评论页的 Google Analytics 代码
我们知道,一般 Google Analytics 的_trackPageview() 括弧中的参数是留空的, Google Analytics 会自动捕获网址的 URL 参数,如果在 _trackPageview()括弧中输入特定的数值,那么在 Google Analytics 的报表中,URL 将是我们指定的参数,而不再是我们在地址栏看到的 URL。
如上面的例子,我们在 Google Analytics 中看到的URL将是/book/review/1946018/,而不再是我们在浏览器地址栏看到的/review/1946018/
当所在频道是电影或者音乐时,_trackPageview() 中的参数将根据所在频道的属性,变为/movie/xxxxx 或者 /music/xxxxx的数值。
豆瓣通过对的参数进行重新指定,主要有以下的好处:
保证了用户和搜索引擎看到的 URL 比较简短,达到 URL 对用户友好和对搜索引擎友好的目的;而在 Google Analytics 报告中,通过 内容/内容细目/ 报告,又能了解到各个频道总的浏览情况。
在GA的内容细目报告中,将会多出 /book/ /music/ /movie/ 这样的文件夹来,总而获得各个频道的合计浏览数据。
而如果只是使用默认 _trackPageview(),你将只能得到所有评论页面的浏览数据,而无法得到细分的各个频道的浏览数据。
关于_trackPageview()的具体的使用方法可参照 Google Code 的说明
注意事项:使用 _trackPageview() 参数重新指定 URL 之后,网站覆盖图的数据将受到影响。可参阅 Google Analytics 的官方帮助文件
除了豆瓣使用 _trackPageview() 来对URL进行重写,大众点评网也采用了类似的做法(应该是比豆瓣更早采用。。。因为是我在点评网任职时候实验的做法;那时候豆瓣还没有使用 Google Analytis 统计代码,呵呵),有兴趣的同学可以自己去研究点评的 Google Analytis 代码。
28 条评论 添加你的评论 →

1. Crazy Loong | 2009:07:01 - 01:05:22 | #
果然是研究深刻的主,相当NB。
2. XDash | 2009:07:01 - 01:16:56 | #
Google Analytics是一座大金矿,值得深刻挖掘。
3. 博译论 | 2009:07:01 - 09:20:50 | #
在用GA,还没摸透,这文章有用地了
发表个评论山路十八弯啊
4. oBlank/邓羽浩 | 2009:07:01 - 09:25:05 | #
研究的深入
对GoogleAnalytics的使用还停留在默认状态
5. Youwei | 2009:07:01 - 09:51:17 | #
这篇文章非常有用,收藏了
6. SHI | 2009:07:01 - 10:35:58 | #
哇哦,精品文章,學習了。感恩^^
7. rady huang | 2009:07:01 - 13:27:03 | #
非常精彩的分析,见识啊,原来还可以这样用!!学习了
8. moming25 | 2009:07:01 - 14:19:26 | #
研究得好深入,GA的功能还有待挖掘啊!
9. owen | 2009:07:01 - 14:43:04 | #
10. Denis | 2009:07:01 - 16:23:22 | #
以后常来啊!哇哈哈!
11. owen | 2009:07:01 - 16:24:12 | #
一定一定,哈哈
12. Leegorous | 2009:07:01 - 16:09:41 | #
值得收藏,好好研究!
13. 猪头 | 2009:07:01 - 16:34:17 | #
google analytics果然强大
14. Showfom | 2009:07:01 - 20:38:32 | #
额……GA如此强大……我只是用默认的代码的,也已经很强大了 囧
15. bollinlai | 2009:07:01 - 23:18:12 | #
很强大,很好的文章,收藏了继续研究,希望水煮鱼和Owen多出这么有养分的文章,最好是能就GA出一些总结性的非默认使用方法。
16. owen | 2009:07:01 - 23:39:30 | #
那我做个广告,请移步我的博客查看更多,哈哈
17. dupola | 2009:07:02 - 04:19:45 | #
好文。我先前还奇怪为什么豆瓣的 Analytics 代码会是那样的。现在有答案喽。
18. 抽风 | 2009:07:02 - 07:34:40 | #
ga确实强大
19. Chinalytics | 2009:07:02 - 10:59:15 | #
Interesting post mate! Would love to learn more about customizing GA code. Let me know if you want to share your insights at our Beijing Web Analytics events.
20. owen | 2009:07:02 - 23:27:38 | #
Thank you,but I am in Shanghai,Beijing is too far for me
21. iCream | 2009:07:03 - 00:30:42 | #
hi,你好,蛮实用的,我想引用到自己的blog中收藏,以备日后拿出来使用,可以吗?
22. Denis | 2009:07:03 - 01:16:53 | #
你可以收藏到 del.icio.us 百度书签,Google 书签,QQ 书签,你还可以下载到本地,等等,网络提供了你那么多很好的工具,你还是要转载到自己的博客,难道互联网就没有给你带来方便吗?就像你保存很多东西到硬盘,你日后会看吗?
23. 夏天嘞 | 2009:07:03 - 12:54:08 | #
没看懂,不过GA,我看行。
24. 蓝兔 | 2009:07:04 - 18:58:01 | #
Google Analytics 实在是很强大啊!
25. 我爱睡觉 | 2009:07:07 - 22:40:12 | #
虽然公司网站的GA是我提出加上的,但是除了定期的数据分析之外没有深入研究,看了这篇文章之后非常受益。谢谢分享!
26. ninikin | 2009:07:23 - 09:02:04 | #
受益匪浅。
27. zhang | 2009:08:05 - 13:49:22 | #
崇拜~~~
28. 思想鱼 | 2009:08:08 - 22:06:50 | #
问个问题,为什么豆瓣现在没有使用 _setVar() 函数了?是不是这个函数会带来一些问题?