久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Google Analytics之工作原理和應(yīng)用技巧

 HiLinz 2016-02-22
PDF版本

大型網(wǎng)站以及高流量網(wǎng)站中,,數(shù)據(jù)分析無疑是非常重要的一個環(huán)節(jié),,通過數(shù)據(jù)分析,,我們可以了解到網(wǎng)站的流量、流量來源,、哪些頁面訪問最高,、哪些頁面需要提升,哪些回頭用戶,,哪些用戶瀏覽之后沒有轉(zhuǎn)換成目標(biāo)用戶,,轉(zhuǎn)換的目標(biāo)用戶是通過那些頁面進入交易頁面的、等等,。對于任何一個商業(yè)網(wǎng)站,,這些數(shù)據(jù)都非常重要,不但對于網(wǎng)站的用戶體驗,、搜索引擎優(yōu)化(SEO)有很大幫助,,并且對于網(wǎng)站的用戶和收入都非常重要。在眾多的免費流量統(tǒng)計軟件中,,Google Analytics (谷歌分析)無疑是相當(dāng)優(yōu)秀又易用的一款,。因此,我們在這里打算開始一系列Google Analytics的相關(guān)經(jīng)驗總結(jié),,以供大家參考,。

Google Analytics的工作原理

首先,我們來看一下Google Analytics的基本工作原理,。Google Analytics通過在網(wǎng)頁中嵌入一段GA的JS代碼,,然后這段GA的JS代碼會收集相關(guān)信息發(fā)送到Google Analytics的服務(wù)器以完成數(shù)據(jù)統(tǒng)計。

在頁面中,,如果調(diào)用了_trackPageview函數(shù),,GA就會向Google的服務(wù)器發(fā)送統(tǒng)計信息,這個是如何實現(xiàn)的呢,?
因為,,我們知道跨域的AJAX請求是受限制的,GA通過向Google服務(wù)器發(fā)起一張1像素的gif圖片來發(fā)送相關(guān)的信息給Google的服務(wù)器,。

如圖所示:

Google Analytics 原理

主要參數(shù)解釋:

  1. utmac:GA賬號ID
  2. utmcc:當(dāng)前頁面GA所需的所有Cookie值,,這個很關(guān)鍵。
  3. utmcs: 瀏覽器的編碼
  4. utmdt: 頁面的標(biāo)題
  5. utmn:  gif的隨機ID,,以免圖片緩存,。
  6. utmr: 頁面的referURL

此外還有一些其他的電子商務(wù)相關(guān)的參數(shù)等。

不只一張圖片
GA并不只是發(fā)送一張gif請求,,有些時候GA會發(fā)送多張gif請求,,如下圖所示,我們執(zhí)行了一個電子商務(wù)的track,,通過Firebug觀察,,GA一共發(fā)送了4個請求,。
Google Analytics電子商務(wù)追蹤

Google Analytics代碼的基本設(shè)置

Google Analytics目前分為異步版本和非異步版本,我們推薦最好使用異步版本的代碼,。

傳統(tǒng)代碼(非異步)

<script type="text/javascript">// <![CDATA[
   var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
// ]]></script><script type="text/javascript">// <![CDATA[
   try{ var pageTracker = _gat._getTracker("UA-xxxxxx-x"); pageTracker._trackPageview(); } catch(err) {}
// ]]></script>

傳統(tǒng)代碼中,,pageTracker是GA追蹤代碼的主要對象,如果我們見到pageTracker就可以認(rèn)定它是非異步的傳統(tǒng)GA代碼,。

異步代碼

 var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);
 
  (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);
  })();

異步代碼中,,_gaq是GA用于追蹤的主要對象,_gaq在剛開始是一個javascript數(shù)組,,在GA的完整的js加載之后_gaq就成為了一個GA的完整實例,。

_gat 對象
在GA中,有一個全局對象_gat,,官方的GA文檔中描述,,_gat應(yīng)該僅僅用于創(chuàng)建跟蹤對象,而不應(yīng)該用它來做其他的追蹤,。因此,,我們應(yīng)該通過_gaq的push方法來追蹤其他任何操作。

但是,,這里有一點需要注意,,通常情況下我們會把GA的js代碼放在頁面的末尾,如果我們需要在頁面加載的時候就用如下代碼追蹤一個用戶動作(如:電子商務(wù)交易),,

var _gaq = _gaq || [] ;
_gaq.push(['_addTrans',
    txID,           // order ID - required
    'Acme Clothing',  // affiliation or store name
    '11.99',          // total - required
    '1.29',           // tax
    '5',              // shipping
    'San Jose',       // city
    'California',     // state or province
    'USA'             // country
  ]);
  _gaq.push(['_addItem',
     txID,           // order ID - required
    'DD44',           // SKU/code - required
    'T-Shirt',        // product name
    'Green Medium',   // category or variation
    '11.99',          // unit price - required
    '1'               // quantity - required
  ]);
  _gaq.push(['_trackTrans']);

上面的代碼不會起作用,,原因是調(diào)用_trakTrans前必須先調(diào)用_trackPageview。因此,,最佳的實踐是把GA的追蹤代碼和GA的JS加載代碼分開,。
把這部分放在頂部

// <![CDATA[
    var _gaq = _gaq || [];  
   _gaq.push(['_setAccount', 'UA-XXXXX-X']);  
   _gaq.push(['_trackPageview']);  
 // ]]

把JS的加載放在頁面的尾部

  (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);
  })();

這樣,在頁面的HTML中,,如果調(diào)用需要調(diào)用任何的GA函數(shù),都不會有任何問題,。

Drupal中有一個Google Analytics的模塊,,但是該模塊沒有把兩個代碼分開,所以我們建議還是手動修改一下這個模塊,,或者通過手動加載Google Analytics代碼到頁面中,,這樣能更好的發(fā)揮GA的異步追蹤的特性。

關(guān)于異步代碼加載位置,,請參考博文:正確使用 Google 統(tǒng)計代碼的異步加載特性

Google Analytics的其他高級特性會在后續(xù)文章中陸續(xù)討論,。


聲明: 本站所有文章歡迎轉(zhuǎn)載,,所有文章未說明,,均屬于原創(chuàng),轉(zhuǎn)載均請注明出處,。 
本文有效鏈接: http://www./2012/04/google-analytics-mechanism/ 
版權(quán)所有: Drupal與高性能網(wǎng)站架構(gòu) http://www.


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多