Google分析使用技巧:给Analytics增加针对百度/soso等搜索来源统计代码
和AWStats一样,Google Analytics完全没有考虑中国的搜索引擎市场中更主要的2个搜索引擎来源:Baidu/3721/soso等搜索引擎的来源,而微软和电信的合作,有道引擎等,如果要计入统计方法也很简单hack一下urchin.js的部署代码即可:
_uacct = "YOUR_USER_ID";
_uOsr[121]="3721"; _uOkw[121]="name";
_uOsr[122]="baidu"; _uOkw[122]="word";
_uOsr[123]="soso"; _uOkw[123]="w";
_uOsr[124]="vnet"; _uOkw[124]="kw";
_uOsr[125]="yodao"; _uOkw[125]="q";**
urchinTracker();
搜索引擎定义编号最好从120开始:因为analytics对全球各地主要搜索引擎的定义还不断在更新中,目前(2007年12月)已经增加到了33个,
_uOsr[0]="google"; _uOkw[0]="q"; _uOsr[1]="yahoo"; _uOkw[1]="p"; _uOsr[2]="msn"; _uOkw[2]="q"; _uOsr[3]="aol"; _uOkw[3]="query"; _uOsr[4]="aol"; _uOkw[4]="encquery"; _uOsr[5]="lycos"; _uOkw[5]="query"; _uOsr[6]="ask"; _uOkw[6]="q"; _uOsr[7]="altavista"; _uOkw[7]="q"; _uOsr[8]="netscape"; _uOkw[8]="query"; _uOsr[9]="cnn"; _uOkw[9]="query"; _uOsr[10]="looksmart"; _uOkw[10]="qt"; _uOsr[11]="about"; _uOkw[11]="terms"; _uOsr[12]="mamma"; _uOkw[12]="query"; _uOsr[13]="alltheweb"; _uOkw[13]="q"; _uOsr[14]="gigablast"; _uOkw[14]="q"; _uOsr[15]="voila"; _uOkw[15]="rdata"; _uOsr[16]="virgilio"; _uOkw[16]="qs"; _uOsr[17]="live"; _uOkw[17]="q"; _uOsr[18]="baidu"; _uOkw[18]="wd"; _uOsr[19]="alice"; _uOkw[19]="qs"; _uOsr[20]="yandex"; _uOkw[20]="text"; _uOsr[21]="najdi"; _uOkw[21]="q"; _uOsr[22]="aol"; _uOkw[22]="q"; _uOsr[23]="club-internet"; _uOkw[23]="q"; _uOsr[24]="mama"; _uOkw[24]="query"; _uOsr[25]="seznam"; _uOkw[25]="q"; _uOsr[26]="search"; _uOkw[26]="q"; _uOsr[27]="szukaj"; _uOkw[27]="szukaj"; _uOsr[28]="szukaj"; _uOkw[28]="qt"; _uOsr[29]="netsprint"; _uOkw[29]="q"; _uOsr[30]="google.interia"; _uOkw[30]="q"; _uOsr[31]="szukacz"; _uOkw[31]="q"; _uOsr[32]="yam"; _uOkw[32]="k"; _uOsr[33]="pchome"; _uOkw[33]="q";
百度/3721搜索来源统计效果截图:2005年11月

国外的统计系统: WebAlizer/ AWStats等都缺乏对中国搜索引擎的统计,但是一般都提供了自定义的配置或者可以通过修改代码实现定义的扩展。
2005-11-29 今天收到了Google的回信,原来Urchin官方的自定义搜索引擎机制也是利用类似的方法:文档转载如下
如何使 Urchin 识别推介链接报告中的其他搜索引擎? 默认情况下,Google Analytics(分析)可跟踪来自 urchin.js JavaScript 文件 (http://www.google-analytics.com/urchin.js) 中所列的 20 种搜索引擎的推介链接。通过将以下行添加到跟踪代码中,还可将 Analytics 配置为识别来自其他搜索引擎的推介链接:
_uOsr[20]="search_engine_name"; _uOkw[20]="query_variable";
_uOsr 的值应为搜索引擎的名称,_uOkw 的值应为存储关键字的查询变量(分别替换上例中的 search_engine_name 和 query_variable)。方括号中的数字应从 120 开始,每添加一个其他搜索引擎时增加 1(121、122、123 等)。
例如,如果有人搜索"motorcycle",则搜索结果的网址为: http://www.google.com/search?q=motorcycle 您应将以下行添加到跟踪代码中: ```javascript
```javascript
//<!--
_uacct = "UA-xxxx-x";
_uOsr[20]="Google"; _uOkw[20]="q";
urchinTracker();
//-->
```</em>
2007年12月15日更新:
Google 分析的新版代码已经完全去除了Urchin的痕迹,而[增加搜索引擎定义的方法](http://www.google.com/support/googleanalytics/bin/answer.py?hlrm=en&answer=57046)也有所改变;
**```javascript
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write("\<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'>\<\/script>" );
var pageTracker = _gat._getTracker("UA-xxxx-x");
pageTracker._addOrganic("baidu","word");
pageTracker._addOrganic("soso","w");
pageTracker._addOrganic("vnet","kw");
pageTracker._addOrganic("yodao","q");
pageTracker._addOrganic("3721","name");
pageTracker._initData();
pageTracker._trackPageview();
```**
## 💬 历史评论
> 以下 10 条评论从旧版 Movable Type 博客迁移而来。
> 原始评论时间:2002–2016 年。
**Fenng** · 2005-11-28 11:11
妙. :)
这个思路值得学习
---
**Dash** · 2005-11-28 11:15
呵呵,看来analytics的扩展性很好
---
**POPOEVER** · 2005-11-28 13:02
我默认就有baidu啊,怎么回事啊你,google歧视你?告他们!
---
**rich** · 2005-11-28 16:34
车东: 部分同意你的观点, 反正我的统计里baidu远超过google, 其他几个倒是没见过.
---
**dowei** · 2005-11-29 14:47
有个问题,为什么偶的索英文的?
---
**悬翎** · 2005-11-29 20:17
那个js文件应该放在那里啊?谢谢
---
**YY** · 2006-02-20 10:51
有点困扰:
如果用前一种方法修改了urchin.js并本地部署,将来google修改升级了官方的urchin.js,我们就会得不到更新。
如果用后一种方法直接在跟踪代码里面加新的引擎,将来google修改了urchin.js,则会跟我们跟踪代码里_uOsr[xx]的序号产生冲突。不太会用javascript,不知能不能把跟踪代码里的序号直接从90开始呢?
---
**lu** · 2006-04-21 15:30
现在analytics可以识别来自百度的,但是不能显示是从百度搜索什么关键字来的,如何改进呢?
---
**blue1018** · 2006-07-06 09:19
想本地部署,担心google更新了这个文件我还不知道,呵呵
---
**笑容** · 2008-01-13 22:36
在 www.mikaa.net 上,应用了你的建议。 但是发现个问题,我自己写的 js 可以记录通过 301转址过去的 referer , google的新 ga.js 却不能记录这 301转址的 referer 不知道是怎么回事呢。。