最近公司的在線運營網站要加大市場分析力度,因此公司想要網站的力量統計,包括用戶來源分布統計,功能使用率統計等,為了這就來研究下google
Analytics
了,一開始沒做過,上網搜了搜,看見一篇不錯的文章就照著整了,等過段時間看看統計效果咋樣,這里轉載文章大家看看,寫的不錯,自己也就先不寫啥了,最近
在啃他的api ,api地址:
http://code.google.com/intl/zh-CN/apis/analytics/docs/gaJS/gaJSApiBasicConfiguration.html
當然要想用的更好就需要去研究下他的api,包擴一些新特新,和一些統計的api。這篇文章是關于豆瓣網的使用經驗,后面還附加了點評網的代碼。
???內容如下:
豆瓣從今年開始也加入 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 代碼。
文章來自:http://fairyfish.net/2009/06/30/google-analytics-in-douban/
----------------------------------------大眾點評網的的代碼,主頁的
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-464026-1");
pageTracker._addOrganic("soso", "w");
pageTracker._addOrganic("sogou", "query");
pageTracker._addOrganic("yodao", "q");
pageTracker._addOrganic("bing", "q");
pageTracker._addOrganic("gougou", "search");
pageTracker._initData();
pageTracker._trackPageview("home/beijing_all");
</script>
?????
???這個是子頁面search/category/2/10/g328
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-464026-1");
pageTracker._addOrganic("soso", "w");
pageTracker._addOrganic("sogou", "query");
pageTracker._addOrganic("yodao", "q");
pageTracker._addOrganic("bing", "q");
pageTracker._addOrganic("gougou", "search");
pageTracker._initData();
pageTracker._trackPageview("dp_searchpv_card");
pageTracker._trackPageview("dp_searchpv_promo");
pageTracker._trackPageview("search/beijing_food_category/g328");
</script>
可以看出其中的pageTracker._trackPageview("。。。");是動態的也就是頁面的,我們可以動態的賦值,這樣就可以顯示正確的地址了。
?
我新近申請的 Google Analytic 生成的代碼有點變樣,所以我根據目前的代碼,寫成如下的方式:
<script type="text/javascript">
//Google-Analytics
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-5377249-2']);
_gaq.push(['_trackPageview']);
_gaq.push(['_addOrganic','soso', 'w']);
_gaq.push(['_addOrganic','sogou', 'query']);
_gaq.push(['_addOrganic','yodao', 'q']);
_gaq.push(['_addOrganic','bing', 'q']);
_gaq.push(['_addOrganic','gougou', 'search']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
用 push 增加數組元素的方式。
??大家如果有什么這方面的經驗可以一同分享下。