最近開始在仔細的學 google analytics 了,ga 雖然已經用了很久
之前都是簡單的看一下數字的增減,然後看曲線圖......挖 流量提高了好高興 end
但是沒有去了解數字與數字間的關係,還有對網站來說背後有什麼意義,更不用講分析
既然要學習就要先從名詞定義開始了解!
我發現網路上 google analytics 的文章一狗票,但還是要用自己的方式整理學得比較快
如果忘記了也可以隨時回來複習,所以有了這一篇
在正式開始之前,先來了解一下 GA 的運作方式
這篇有目錄,可以直接點連結到相對應的內容
平均工作階段時間長度 (Avg. Session Duration)
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
如果有沒在裡面的參數可以來官網這邊查
看完 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 官方論壇裡面的強者所舉的例子:
-------------------------------------------------------------------------------------------------
網友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一打開,總覽看到的一些名詞解釋與意義
希望接下來不會懶到沒有第二篇