認識 Google Analytics 4 的工作階段(Sessions)

Google Analytics Haran 3年前 (2022-04-14) 15128次瀏覽 6條留言

Google Analytics 4 雖然是基於事件驅動的,但裡面仍然有工作階段(Sessions),而且規則與GA3的有很大區別。

工作階段

下面是GA4工作階段的定義:

工作階段會在使用者執行下列操作時啟動:

  • 在前景中開啟應用程式
  • 瀏覽您的網頁或畫面且目前未啟用工作階段 (例如先前的工作階段已逾時)

根據預設,工作階段會在使用者閒置 30 分鐘後結束 (逾時)。工作階段沒有持續時間長度限制。

簡單來說,當有訪客進入網站,GA4 便會開始為訪客計算工作階段,GA4工作階段沒有持續時間長度限制。

 

工作階段的規則

GA4的工作階段數的計算方式與UA的不同:只要發生時間彼此相隔超過 30 分鐘,GA4才會建立新的工作階段

與UA(GA3)的對比如下:

GA4的計算規則 UA(GA3)的計算方式
不活動間隔超過30分鐘 閒置 30 分鐘後
時間到了午夜時
廣告活動變更

GA4是不活動間隔超過30分鐘,也就是發生時間彼此相隔超過 30 分鐘,GA4才會建立新的工作階段。這個30分鐘是可以調整的,調整的位置在串流詳情裡的「进行代碼設定」(Google代碼裡)——「全部顯示」——「調整工作階段逾時 」

而UA的,閒置 30 分鐘後、時間到了午夜時和廣告活動變更,都會建立新的工作階段。

所以,GA4工作階段數可能會低於通用UA工作階段數,可以看不同情形下,UA和GA4的工作階段數情況:

認識 Google Analytics 4 的工作階段(Sessions)

這是因為訪問超過30分鐘、時間到了午夜時和廣告活動來源在工作階段期間半途變更時,GA4 不會建立新的工作階段,但UA會建立新的工作階段。

Google Analytics 4 於 2021 年 10 月開始更新工作階段指標的計算方式,如果報表日期範圍涵蓋 2021 年 10 月之前的資料,GA4 則不會顯示任何資料。

 

工作階段的原理

工作階段開始時自動收集 session_start 事件,session_start 有事件參數工作階段 ID (ga_session_id) 和工作階段號碼 (ga_session_number)。

  • ga_session_id:也就是sid,與工作階段期間所發生個別事件相關聯的不重複工作階段 ID,工作階段數就是通過這去計算,但它是時間戳,所以不是唯一的,所以GA4裡的工作階段數是比實際的要小
  • ga_session_number:也就是sct,也叫做session count,與工作階段期間所發生個別事件相關聯的參數

 

這些信息都儲存在Cookie裡有一個名為_ga_<container-id>,它是用於用來維持工作階段狀態,如:

認識 Google Analytics 4 的工作階段(Sessions)

各部分說明如下:

認識 Google Analytics 4 的工作階段(Sessions)

其中尾部的0.0不確定是什麼。

這個Cookie的有效期默認是13个月,在GA4中,你可以通過「覆寫 Cookie 設定」去調整有效期,但一般不建議調整。

 

session_start

前面提到,GA4會在工作階段開始時自動收集 session_start 事件,原則上:一個工作階段,只有一個session_start

但實際上會出現,一個工作階段有多個session_start,有兩種可能:

  • 如果ga_session_id是不一樣的,那麼一般是CMP刪除Cookie _ga_[[Stream ID]] 導致的,有些CMP會刪除Cookie _ga_[[Stream ID]] ,如OneTrust。
  • 如果ga_session_id是不一樣的,經過測試發現,當在瀏覽器的打開另一個tab裡打開,也會產生一個session_start

 

認識 Google Analytics 4 的工作階段(Sessions)

延伸閱讀:『GA4』每訪問一個頁面,就產生一個session_start?

也有session_start為0,由於過午夜導致的,如使用者在1月1號晚上訪問網站,直接1月2號才離開,那麼對於1月2號來說,session是1,但session_start就是0;還有其他原因,雖然開啟了新的工作階段,但沒有發送session_start事件。

 

另外還有一種特殊情況:工作階段只有session_start一個事件,沒有其他的pageview事件。

 

延伸閱讀:解析Google Analytics 4裡的session_start原理

 

事件如何與工作階段建立關聯

GA4中事件是透過ga_session_idga_session_number和工作階段關聯,發送給GA4伺服器的請求上都會有ga_session_id和ga_session_number

認識 Google Analytics 4 的工作階段(Sessions)

 

ga_session_idga_session_number都是從Cookie中獲取的,更多請求上的參數,延伸閱讀:Google Analytics 4 傳遞參數說明

 

 

工作階段數的計算

GA4會估算不重複工作階段 ID 的數量,藉此計算在網站或應用程式上發生的工作階段數,由於工作階段ID是時間戳,可能會重複的,所以GA4裡的工作階段數是比實際的要小。

需要注意:GA4的工作階段是估算值,所以你有可能不同維度的工作階段數加總數不等於頭部的工作階段數,可能多了,如:

認識 Google Analytics 4 的工作階段(Sessions)

 也可能少了

認識 Google Analytics 4 的工作階段(Sessions)

延伸閱讀:Google Analytics 4 裡的工作階段數不相等?

與工作階段相關的指標

GA4中有工作階段相關的指標如下:

 

互動工作階段

互動工作階段是指使用者在一段時間內觸發的一系列事件。

符合下列任何一項條件就是互動工作階段:

  • 持續至少 10 秒:如果工作階段持續超過一定的時間,那麼該工作階段就是互動工作階段。系統套用的門檻是10秒,你可以調整,調整的位置在串流詳情裡的「更多代碼設定」——「調整工作階段逾時」——「調整互動工作階段的計時器」
  • 包含一或多個轉換事件:如果工作階段內發送轉化事件,那麼該工作階段就是互動工作階段
  • 包含至少 2 次網頁瀏覽:如果工作階段內瀏覽2個以上網站,那麼該工作階段就是互動工作階段

發送給GA4伺服器的請求上參數seg就表示是否為互動工作階段,1表示是,0表示不是。

 

每位使用者互動工作階段

每位使用者互動工作階段=互動工作階段數量/使用者人數

 

平均參與時間

是指網站或應用程式上互動工作階段的平均時間長度

 

參與度

參與度=互動工作階段數/工作階段數

如:

認識 Google Analytics 4 的工作階段(Sessions)

以Direct管道為例,參與率=122/352=34.7%。

 

在GA4還沒有推出跳出率的時候,有時候會用參與度去替代跳出率,但官方不推薦這樣做,因為定義不同。

 

 

跳出率

跳出率就是未參與互動工作階段的百分比,提供了一種更有用的方法來衡量客戶與您的網站或應用程序的互動程度。

它的計算方式是:跳出率=未互動工作階段數/工作階段數=1-參與率。

認識 Google Analytics 4 的工作階段(Sessions)

以Direct管道為例:34.7%+65.3%=100%。

延伸閱讀:認識 Google Analytics 4 的跳出率

 

 


如果您在操作上仍有任何疑問,歡迎留言交流,或加入:Google Analytics 4交流社團發問
Like (0)
發佈我的留言
取消留言
表情 贴图 加粗 删除线 居中 斜体

Hi,*为發佈留言必須填寫。

  • 顯示名稱*
  • 電子郵件地址*
  • 個人網站網址
(6)个小伙伴在留言
  1. 請問「session_start」事件跟「工作階段」是否是相同的,目前查看數據,「session_start」的數據會少於「工作階段數」。
    finn2022-10-16 15:58 回覆 Windows 10 | Chrome 106.0.0.0
    • 原則上每個作階段都會有一個session_start,但實際上,個別作階段是由多個session_start,也有是0。
      Haran2022-10-16 16:44 回覆 Mac OS X | Chrome 106.0.0.0
  2. Hello, 我對跳出率有點疑問, 希望得到解答, 以下用兩組例子去提問 如該使用者停留於同一網頁90分鐘, 而又有進行點撃等互動事件, a. 工作階段數 = 1 嗎? b. 如他/她沒有再點撃跳轉連接到同一網站的其他網頁並離開, 跳出率的計算是否只有一次? 還是會按工作階段次數或其他方式進行計算? c. 如他/她有點撃跳轉連接到同一網站的其他網頁繼續瀏覽, 那他/她的整個瀏覽過程是否不會再有跳出率的計算? 如該使用者停留於同一網頁90分鐘, 而又沒有進行任何點撃等互動事件, a. 工作階段數 = 1 嗎? b. 如他/她沒有再點撃跳轉連接到同一網站的其他網頁並離開, 跳出率的計算是否只有一次? 還是會按工作階段次數或其他方式進行計算? c. 如他/她於90分鐘後有點撃跳轉連接到同一網站的其他網頁繼續瀏覽, 那他/她的整個瀏覽過程是否不會以跳出率作為計算? 希望得到回覆, 非常感謝!
    NicoleLee2023-02-07 16:21 回覆 Windows 7 | Chrome 109.0.0.0
    • 如該使用者停留於同一網頁90分鐘, 而又有進行點撃等互動事件, a. 工作階段數 =2,因為間隔超過30分鐘後的訪問會開啟新的工作階段 b. 如他/她沒有再點撃跳轉連接到同一網站的其他網頁並離開, 跳出率的計算是否只有一次? 還是會按工作階段次數或其他方式進行計算? 沒這種說法,跳出率是基於工作階段數計算;可以針對特定用戶,或管道,如跳出率=未互動工作階段數/工作階段數,第一個工作階段是未互動,第二個也是未互動,跳出率=2/2=100% c. 如他/她有點撃跳轉連接到同一網站的其他網頁繼續瀏覽, 那他/她的整個瀏覽過程是否不會再有跳出率的計算? 同上,如果繼續瀏覽,那麼這次就是互動工作階段,根據跳出率=未互動工作階段數/工作階段數,第一個工作階段是未互動,第二個是互動,跳出率=1/2=50% 如該使用者停留於同一網頁90分鐘, 而又沒有進行任何點撃等互動事件, a. 工作階段數 = 1 b. 如他/她沒有再點撃跳轉連接到同一網站的其他網頁並離開, 跳出率的計算是否只有一次? 還是會按工作階段次數或其他方式進行計算? 第一個工作階段是未互動 跳出率=1/1=100% c. 如他/她於90分鐘後有點撃跳轉連接到同一網站的其他網頁繼續瀏覽, 那他/她的整個瀏覽過程是否不會以跳出率作為計算? 工作階段數是2,第一個是未互動,第二個是互動,跳出率=1/2=50% 希望得到回覆, 非常感謝!
      Haran2023-02-07 17:16 回覆 Mac OS X | Chrome 109.0.0.0