最近開始在仔細的學 google analytics 了,ga 雖然已經用了很久

之前都是簡單的看一下數字的增減,然後看曲線圖......挖 流量提高了好高興 end

但是沒有去了解數字與數字間的關係,還有對網站來說背後有什麼意義,更不用講分析

既然要學習就要先從名詞定義開始了解!  

我發現網路上 google analytics 的文章一狗票,但還是要用自己的方式整理學得比較快

如果忘記了也可以隨時回來複習,所以有了這一篇

在正式開始之前,先來了解一下 GA 的運作方式

這篇有目錄,可以直接點連結到相對應的內容

GA 代碼的運作方式

__utm.gif 參數一覽

工作階段 (Session)

使用者 (不重複訪客)

瀏覽量 (Page View、PV)

% 新工作階段

單次工作階段頁數 (Page View/Session)

平均工作階段時間長度 (Avg. Session Duration)

跳出率 (Bounce Rate)

到達頁

跳出率的意義

減少跳出率的方法

 

GA 代碼的運作方式

1. 使用者用瀏覽器發出請求並訪問你的網站,請求的網頁中埋有我們設定的 GA 的追蹤碼

2. 追蹤碼裡面會建立一個名為 _gaq 的陣列,裡面包含了要追蹤的屬性,例如下面這樣

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxxx-1']);
  _gaq.push(['_trackPageview']);

3.  在立即函式中動態產生一個 script 標籤,以便進行非同步載入

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

4. 由上面建立的 script 載入了 //google-analytics.com/ga.js 

然後透過 document.getElementsByTagName('script')[0] 抓取 DOM 的第一個 script tag

然後把 ga 放到該子節點之前

5. 追蹤碼收集完數據之後,會透過一個 __utm.gif 向 google 傳遞網站的資訊

這個資訊可以在 chrome 開發工具裡面看到,請按 F12 切到 network 後重新整理收集

然後找到 __utm.gif,如下圖切到 headers,就可以看到傳遞資訊的連結

gif 網址後面的參數,就是傳遞到 GA 的網站資訊了

至於 Query String 裡面的參數是什麼作用,可以參考一下以下

__utm.gif 參數一覽

utmwv:追蹤碼的版本號

utms:工作階段的請求,每次進行 __utm.gif 請求時會進行更新,最大數量為 500

utmn:每個 gif 請求的唯一 ID,用來避免 gif 被 cache

utmhn:主機名稱

utmcs:瀏覽器語言編碼

utmsr:螢幕解析度

utmvp:實際檢視頁面的大小

utmsc:螢幕顏色深度

utmul:瀏覽器語系

utmje:是否支援 java,1 代表支援

utmfl:flash 版本

utmdt:網頁標題

utmhid:用來關聯 GA gif 請求與 adsense 的隨機數字

utmr:完整的網址

utmp:目前要求的網頁

utmht:時間標記

utmac:申請的GA帳戶

utmcc:cookie 值,utmcc 參數會傳遞目前頁面上 GA 的 cookies 

如果有沒在裡面的參數可以來官網這邊查

https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingTroubleshooting#gifParameters

看完 GA 在網站運作的傳遞資訊方式後,接下來進入正題啦! 來看一下各個名詞的定義

首先看下面這張圖的名詞

 

工作階段 (Session):

工作階段又稱作"造訪 visits",指的就是使用者跟你網站互動的這段時間

而一個工作階段中可能包含跟你網站的多種互動,例如你可能會瀏覽頁面、觸發事件、交易....等

例如像下面這樣,使用者可能在一個 session 裡做了那麼多事

有在寫網站的話,可以把它想像成你網站的 session (只是一個是網站與使用者,一個是GA 與使用者)

既然是 session 就會有預設 timeout 時間,而一個 session timeout 預設是 30 分鐘

 一旦超過預設的30分鐘,會被認為是另一個新工作階段,GA 預設於晚上的11:59:59秒會將工作階段逾時

所以若是在11:59分在網站內進行10分鐘的瀏覽行為,會被計算為2個工作階段

(當你每一次跟網頁互動都會重新計算逾時時間)

而工作階段的 timeout 時間可以去GA管理介面理變更,更改的位置在下面這邊

管理 -> 資源 -> js追蹤資訊 -> 工作階段設定

至於其他情境的 session timeout 計算方式,有興趣深入了解的話可以看官網的說明

https://support.google.com/analytics/answer/2731565?hl=zh-Hant

 

使用者 (不重複訪客):

又稱為不重複訪客,計算方式是利用 GA 在網站上放入的 cookie 來計算,cookie 名稱是 _utma

意思就是你只要刪掉_utma 這個 cookie,就又變成新使用者了,然後預設的逾期時間是 2 年 

而不重複訪客的意思,例如 A 使用者在 4/1~4/30 間,用同一個裝置來了你的網站共10次,使用者就為 1

用 cookie 來計算不重複人數是比較精準的,但是這個數字不一定是網站實際的不重複訪客人數

有以下幾種原因

1. 1st cookie(Google Analytics使用1st cookie)被禁用的比例約2%~5%

2. 有些使用者會有清除 cookies 的習慣

3. 有些使用者停用了 javascript 

4. 使用者不只用單一裝置瀏覽你的網站

不重複訪客會因為你所選擇的時間區間不同,而有不同的數字 (廢話)

 

瀏覽量 (Page View、PV)

瀏覽量指的是網頁被瀏覽的次數,是用來分析網站的一個重要指標,一個訪客瀏覽一個頁面就是一個 PV

如果使用者在一個頁面按下重新整理,那麼 PV 也會 + 1

正確的來說,一個 PV 指的是一次從網站下載一個頁面的請求

因此只要是發出了一個請求,無論你是否完全打開 (or 下載) 了這個頁面,都計入一次PV

(但是 GA 會排除網路爬蟲所造成的 PV)

這個數字是用來分析網站的指標之一,但是有些網站會故意將一篇文章分成好幾頁,藉以提高 PV 數字

但這種作法會讓 page view 變的不是那麼準確

例如下圖這樣:

假設一篇文章有 3 頁,有10000位使用者看完了這篇文章,那 page view 就是 3 x 10000 = 30000

有些廣告商會告訴你 PV 的數字,但要注意這個數字不代表客戶看到你商品的數字

以上例而言,實際數字應該是 10000,分的頁數越多看到的使用者其實越少

有關瀏覽量 : https://support.google.com/analytics/answer/1257084#pageviews_vs_unique_views

 

% 新工作階段

初次造訪所佔 % 的估算值

全部工作階段中,初次造訪所占的比例

 

單次工作階段頁數 (Page View/Session)

每個工作階段的平均網頁瀏覽量,這好像不用解釋....

就是一個 session 內平均的瀏覽頁數是幾頁

 

平均工作階段時間長度 (Avg. Session Duration)

又稱為 "平均造訪停留時間",一個 session 之內平均停留了多長的時間

計算的方式:所有工作階段的總時間長度 (秒) 除以工作階段數

要注意的是,所有工作階段的總時間長度,不包含最後跳出頁的停留時間

這是因為 GA 計算每頁停留時間的方式,是用載入該頁面的時間,減掉載入前一頁的時間

但是因為跳出頁沒有下一頁,所以沒有留下TimeStamp 所以該頁的停留時間就無法計算

因為你可能是直接關閉視窗或瀏覽器造成無法統計,這個情況會被歸類為跳出

(這篇上面有提到__utm.gif 網址後面的參數有一個 utmht 就是時間標記)

可以參考google 官方論壇裡面的強者所舉的例子:

https://www.zh.advertisercommunity.com/t5/%E5%A0%B1%E8%A1%A8%E8%88%87%E5%88%86%E6%9E%90/quot-%E5%B9%B3%E5%9D%87%E7%B6%B2%E9%A0%81%E5%81%9C%E7%95%99%E6%99%82%E9%96%93-quot-%E8%B7%9F-quot-%E5%B9%B3%E5%9D%87%E5%B7%A5%E4%BD%9C%E9%9A%8E%E6%AE%B5%E6%99%82%E9%96%93%E9%95%B7%E5%BA%A6-quot/td-p/29701

-------------------------------------------------------------------------------------------------

網友A假設在3個session中走過Page A, B, C共 3頁,10點入站,10:05 進入網頁D,10:10離開

平均工作階段時間長度 = 5/3 = 1.6分鐘,平均網頁停留時間 = 5/2 (C是跳出頁不算) = 2.5分鐘

-------------------------------------------------------------------------------------------------

但如果還是想要知道在跳出頁發生什麼事,可以利用事件追蹤

也就會影響到計算平均工作階段時間的計算方式

事件追蹤:https://developers.google.com/analytics/devguides/collection/analyticsjs/events

在官網的平均工作階段時間長度說明裡面,針對了有沒有在事件中加入"參與性點擊"兩種行為來看

連結在此:https://support.google.com/analytics/answer/1006253?hl=zh-Hant

有沒有造成參與性點擊,取決於有沒有在事件中加入 nonInteraction 參數

用這種事件方式可以讓你決定最後一頁的跳出率該如何計算

官網舉的例子是.....如果在首頁你點了影片播放,就不會被認為是跳出

這個再講下去就越來越深了.......有關事件留到之後再來好好研究

相關的資料可以看這裡:

https://support.google.com/analytics/answer/1033068#NonInteractionEvents

 

跳出率 (Bounce Rate)

跳出率也是一個分析網站的重要指標,但分析角度還是取決於你的網站類型

跳出率的官方說明:https://support.google.com/analytics/answer/1009409?hl=zh-Hant

比較再白話一點就是:跳出率指的是訪客進入"到達頁面"之後,被認定為沒有閱讀活動的比率

到達頁:

指的是訪客拜訪網站的起點,可能從搜尋引擎、其他網站連結、社群網連結.....等,到達你的網站

意思就是訪客到你網站的第一個頁面,而這個頁面在一個工作階段內被認定為沒有活動,就是跳出

所以 跳出率 = 沒有閱讀活動的人數 / 進入網頁的總訪客數

也因為跳出代表著沒有後續的動作 (到其他頁面),所以也就沒有下一頁的時間標記 (TimeStamp)

所以根據上面在講"平均工作階段時間長度"時所提到的.....只要是跳出,那"工作階段時間長度" 必為 0 秒

因為沒有下一頁的 TimesStamp 可以相減惹

跳出率的計算案列,官網的說明提供了一個例子給我們參考

以下官網提供的案例:

https://support.google.com/analytics/answer/2525491?hl=zh-Hant

==========================================

假設您的網站有網頁 A 到 C,每天只有一個工作階段,而且網頁瀏覽的順序如下:

星期一:網頁 A > 網頁 B > 網頁 C
星期二:網頁 B > 網頁 A > 網頁 C
星期三:網頁 A > 離開
網頁 A 的「內容」報表會顯示 3 次瀏覽量和 50% 的跳出率。您可能會以為「跳出率」是 33%,但網頁 A 在星期二的瀏覽量不會列入「跳出率」的計算。您可以這樣理解「跳出」:一個只有一次使用者互動的工作階段,而以工作階段為主的分析則會回答一個簡單的是非題:「這個工作階段是否包含多個網頁瀏覽?」如果答案為「否」,那麼考量哪一個網頁與這次跳出有關就很重要。如果答案為「是」,那重點就是工作階段中帶來其他網頁瀏覽的開始網頁。因此,只有在網頁開始了一個工作階段時,這個網頁的跳出率才有意義。

==========================================

上面的例子很好懂

網頁 A 有兩次是到達頁面,但是跳出一次 (星期三),所以跳出率是 1/2 也就是 50%

再來看第二個例子:

==========================================

星期一:網頁 B > 網頁 A > 網頁 C > 離開
星期二:網頁 B > 離開
星期三:網頁 A > 網頁 C > 網頁 B > 離開
星期四:網頁 C > 離開
星期五:網頁 B > 網頁 C > 網頁 A > 離開

網頁 A:0% (有 1 個工作階段由網頁 A 開始,但沒有單頁工作階段,因此沒有「跳出率」)
網頁 B:33% (「跳出率」低於「離開率」,因為有 3 個工作階段由網頁 B 開始,並發生 1 次跳出)
網頁 C:100% (有 1 個工作階段由網頁 C 開始,並發生 1 次跳出)

==========================================

這例子都很好懂就不解釋 

跳出率的認定有幾種方式:

1. 進入網的到達頁面,點選外部連結、或輸入其他網站網址在原視窗

2. 直接關閉網頁

3. 按下瀏覽器的上一頁

4. 工作階段結束 session timeout

跳出率的意義

跳出率是一個衡量網站頁面設計與使用體驗、內容編排的一個指標

跳出率偏高代表網頁沒有發揮吸引力把訪客留下來,雖然準確度無法百分之百,但值得參考

不過還是取決於你的網站類型,如果你的網站首頁是屬於一個入口,他通往許多頁面

例如商品的陳列、活動的曝光、商品的購買.....等,那跳出率高當然就不是好事

因為代表使用者沒有興趣逛你的網站,反之如果你經營的是例如本人的廢文部落格

流量來源幾乎都是從搜尋引擎而來,那跳出率高算是正常的

因為使用者是為了特定的內容,而訪問到你的文章,有沒有興趣看其他開箱文就隨緣了

因此在看跳出率來評估你的網站之前,首先要先清楚自己的網站類型

但有時跳出率高也不代表著你的網頁設計不良,或是內容沒有打到客戶的內心

例如:

1. 網站出現異常,點下一頁就錯誤,所以跳出率高

2. 你提供的內容非常好,所以使用者看到之後非常滿意,解決了問題於是就離開了

3. 經由搜尋引擎關鍵字搜尋而進來網站到達頁,但是文章內容跟關鍵字有點搭不上

因此在參考跳出率的同時,也要拿停留時間來做參考才行

根據第三種狀況,則是要調整你頁面內容的關鍵字

減少跳出率的方法

1. 加強網站的使用者體驗,不會讓人用到肚爛就離開了

2. 可以在進入網站的到達頁面之後,吸引訪客點選網站的其他連結

    盡可能在跳出率高的頁面,放置與該頁面內容有相關的連結,跳出率就有機會降低

    例如:相關文章的推薦

3. 寫code時不要使用 javascript:history.go(-1) 來回上一頁,因為這樣會被認定為跳出

4. 設計連結時,如果開啟非本站的連結就用新視窗開啟,如過是本站的連結,就在原視窗開啟

5. 訪客閒置時間過長時出現其他訊息,顯示訊息的同時其實已經開啟另外的頁面,所以解除了跳出的問題

    很多新聞媒體業都是用這種方法來降低閒置造成的跳出率

6. 檢查網頁的關鍵字設置,從搜尋引擎關鍵字搜尋到你的網頁,關鍵字與網頁內容主題要一致

7. 用上面說過的方式,將一篇文章內容拆成多頁,這方法雖然改善跳出率,但可能讓使用者不太爽

   (ex:我) 一篇文章好好的,到底是要點幾次才能看完

8. 最後就是要了解你的使用者族群比例,並且提供相對應的內容

   例如:你網站賣書,經過分析最龐大的族群是20 ~ 30 歲,但是首頁放一堆健康類的書當然就不太對了

   反之放職場相關、學習類的會比較吸引這些龐大族群,透過使用者分析來調整網站內容

 

以上就是GA一打開,總覽看到的一些名詞解釋與意義

希望接下來不會懶到沒有第二篇

 

arrow
arrow
    全站熱搜

    小雕 發表在 痞客邦 留言(1) 人氣()