2010-10-25 39 views
3
  1. 我有一個像例如一個頁面:http://www.stackoverflow.com/how-many-users-visited如何從谷歌分析讓我具體聯繫細節

  2. 我有一個頁面內那些已谷歌分析JavaScript的在我的UA-0000-1帳戶。

 

    

     var _gaq = _gaq || []; 
     _gaq.push(['_setAccount', 'UA-xxxxxx-1']); 
     _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); 
     })(); 

    
  1. 使用www.google.com/analytics網站工具,我可以看到有多少觀衆前來。到我的具體網址。

現在的問題:

我婉使用PHP或JavaScript這樣做,查詢從我自己找到這些信息,並將其渲染到自己的網頁。

如何從Google Analytics中使用我的帳戶獲取所有網頁?請善舉展示一些提示和示例,我嘗試過但不起作用。

例如:http://gdata-jsguide.appspot.com/static/analytics/samples/retrievedatacontent.js

回答

3

,以確保我明白你的問題:你希望能夠得到總計爲瀏覽過的網頁和獨特的訪問者,但要存儲自己的數據,而不是從GA服務器檢索它們。

所以這隻需要找出GA如何記錄每個頁面然後檢索這些值。

查看的頁面總數很容易 - 對於給定的頁面,只需記錄每次調用_trackPageview()並獲取總和。

獨特的訪客總數也很容易,但需要多一些步驟。

首先,您需要知道GA擁有這些數據的位置。

這是跟蹤像素(__utm.gif)的示例性請求頭:

http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com&utmcs=ISO-8859-1&utmsr=1280x1024&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r115&utmcn=1&utmdt=GATC012%20setting%20variables&utmhid=2059107202&utmr=0&utmp=/auto/GATC012.html?utm_source=www.gatc012.org&utm_campaign=campaign+gatc012&utm_term=keywords+gatc012&utm_content=content+gatc012&utm_medium=medium+gatc012&utmac=UA-30138-1&utmcc=__utma%3D97315849.1774621898.1207701397.1207701397.1207701397.1%3B... 

標題的utmcc部分含有GA餅乾。在utmcc,是UTMA這是訪客Cookie

這個cookie是由六個字段,由」每個分隔。'

97315849.1774621898.1207701397.1207701397.1207701397.1 

這些字段是:

  1. 域散列(丟棄)

  2. 訪問者ID(從隨機數 發生器)這是一塊我們 要

  3. 初次訪問(UNIX時間戳)

  4. 前一交易日(也是UNIX時間 標記)

  5. 當前會話(也是UNIX時間 標記)

  6. 訪問總數(於具有 頁是GA賬號)

因此,當用戶訪問帶有GA標記的網站時,GA會查找其更新的Cookie;如果GA沒有找到它們,它會設置它們。

utmaa cookie中的字段是最重要的,也是您想要抓取的字段。這是'訪問者ID',它是由GA生成的隨機數,作爲每個訪問者的唯一ID。此Cookie在會話中持續存在,並自設定日期起兩年後過期。

此ID在GA Web Viewer中不可見,這意味着您需要以另一種方式捕獲它。也許最簡單的方法就是發送一個小的JavaScript函數來獲取這個字符串並將其綁定到一個變量,然後你可以只做它想要的(把它綁定到一個GA自定義變量,將它暫時放在一個隱藏的表單字段等)。因此,例如:

// takes three parameters: l-> target string; n -> start pattern; s -> end pattern 
// returns the visitor cookie (the entire cookie not just the second field) 
function vID(l, n, s) { 
    if (!l || l=="" || !n || n="" || !s || s="") return "-"; 
    var i, i2, i3, c="-"; 
    i=l.indexOf(n); 
    i3=n.indexOf("=")+1; 
    if (i > -1) { 
    i2=l.indexOf(s, i); 
     if (i2 < 0) { 
     i2=l.length; 
     } 
     c=l.substring((i+i3), i2); 
    } 
     return c; 
} 

var q = vID(document.cookie, '__utma=', ';'); 

一旦你做到了這一點,那麼你將有一個訪問者ID爲每個訪問者 - 指望他們,你會得到不重複訪客總數(受所有的固有瓦特/餅乾通常的和實質性的限制)。

+0

非常好。這也解決了Google Analytics在嘗試發送事件數據時遇到的嚴重問題。如果我有訪問者ID,突然一切都恢復正常。 – 2010-12-31 15:17:17