Google Analytics中的referral

近來,先後有A、B兩位同事問我關於Google Analytics中的referral的事情。

首先,是A同事在問,在去年某段時間內,Google Analytics中所呈現公司網站自己本身的referral,為何數值大幅下降?回想了一下那個時間點所做的事情…當時為了提升網頁呈現效能,開始作了一連串的處理。跟流量或和此最有相關性的,莫過於cookieless domain。由於時間點一致,就以為referral數值大幅下降和那時的處理有關。

這幾天,B同事來問,為何公司網站自身會被計算成referral?我想說referral應該就是HTTP_REFERER,也因此,認為在Google Analytics中出現自己網站沒有什麼問題。不過,他覺得並非如此,並給了我份參考資料 - 為什麼我的網站會在報表中顯示為推薦網站? 。文中提到下列四點…
  1. Tracking across multiple domains or subdomains
  2. Redirects
  3. Splash Pages
  4. Frames

由於B同事的詢問,才知道B同事之前已經改用新的Google Analytics追蹤碼。配合該文章的解說,沒想到卻點出了A同事所提問題的真正原因。也就是因為當時B同事改用了新的Google Analytics追蹤碼,才讓referral大幅下降!(因為上述第一點)

另外,也由該文件的說明,讓我瞭解Google Analytics的定義和我所想的不同。因此,他覺得公司網站自身會被計算成referral,是否和Redirects有關?

為了回答B同事的疑問,我也很好奇Google Analytics怎麼計算referral?找了一下Google Analytics對於Redirects的判斷,在Google Analytics (分析) 如何處理重新導向的流量? 這份資料中有解釋。在文中,也提及要如何處理 - 因為Redirects導致referral 的改變。有興趣瞭解referral在判斷上為何會有差異?可以參考這份詳細的說明 - How Does Google Analytics handle 301 and 302 Redirects?

講到此,自然要提及何謂轉址?以及在http中是怎麼作的?http status 中301和302的定義上,差異又在哪?不妨參考下面的資料…
說穿了,一般在處理轉址時,如ASP中的response.redirect 或 PHP的 header('Location: http://www.mysite.com') ,都是 302 。

但,我所好奇ASP中server.transfer是怎麼作的?可惜的是…沒找到資料。


附註:
  1. server.transfer和一般轉址有何不同?可參考 這份資料
  2. 在找資料中,發現nginx在作轉址時和PHP類似。如果不特別指定301,預設就是就是302。

留言