Skip to content

GTM 使用 GA 自訂維度儲存網站 client ID

對於沒有登入網站的使用者來說, GA client id cookie 能夠最有效的區分出不同使用者, Google Analytics 也是使用此 cookie 來判別使用者在網站的行為;即便如此,在預設的情況下 client id 只能在使用者多層檢視報表使用,並沒有辦法在其他報表使用 client id 作為主要或次要維度,要解決這個問題,唯一的辦法就是手動儲存使用者 client id 並發送到 GA,這樣就能夠擁有完整的存取權;本篇文章將會教你如何透過 Google Tag Manager 將 client id 儲存為可自由使用的維度。

新增 Google Analytics 自訂維度。

Step 1: 前往 GA 內的管理,並點擊資源底下的自訂維度

Step 1: 前往 GA 內的管理,並點擊資源底下的自訂維度。

Step 2: 新增 client id 自訂維度,並依照需求選擇相應的範圍,這邊將以使用者範圍為例

備註:如果你還不了解 GA 的範圍架構,可以參考 GA 不同範圍的維度與指標介紹

Step 2: 新增 client id 自訂維度,並依照需求選擇相應的範圍,這邊將以使用者範圍為例。

Step 3: 記下自訂維度的索引編號

Step 3: 記下自訂維度的索引編號。

Step 4: 前往 GTM 並新增自訂 JavaScript 變數來存取 client id

Step 4: 前往 GTM 並新增自訂 JavaScript 變數來存取 client id。
function(){
 try{
   var track = ga.getAll()[0];
   return track.get('clientId');
 }catch(e){
   return false;
 }
}

這一段程式碼會回傳使用者的 client id,如果無法取得則會回傳false

Step 5: 新增一個事件來發送 client id 的值

因為範例使用的是使用者範圍的自訂維度,所以這邊使用單一事件來發送 client id 即可,如果自訂維度的範圍是工作階段或命中則可以在所有事件都發送 client id 的值。

Step 5: 新增一個事件來發送 client id 的值

設定說明注意事項:

  1. 為什麼不用網頁瀏覽來發送?因為網頁瀏覽使用的觸發器是網頁瀏覽觸發器,觸發時還沒有辦法存取 client id ,下面備註會說明。
  2. 由於事件是所有的頁面都會發送,非互動匹配要設定為 true 否則所有頁面的跳出率會變成 0%。
  3. 因為使用單一事件來發送 client id ,所以使用覆寫設定來添加自訂維度(先前記下的索引編號就填在這裡),如果每一個事件都要送則可以直接將自訂維度添加在 Google Analytics 設定變數內,兩者的差異可以參考這篇文章

備註:這邊使用的觸發條件為視窗已載入,因為視窗載入前變數還無法回傳 client id 的值。

DOM 就緒觸發時:變數回傳 false
DOM 就緒觸發時:變數回傳 false
視窗已載入觸發時:變數回傳正確的 client id
視窗已載入觸發時:變數回傳正確的 client id

Step 6: 檢查代碼是否正確

Step 6: 進入預覽模式檢查代碼是否觸發以及參數是否正確,確認無誤後即可發布版本。

進入 GTM 預覽模式檢查代碼是否觸發以及參數是否正確,確認無誤後即可發布版本。

開始收集數據後,即可在 GA 報表內自由使用自訂維度(client id):

自訂報表

自訂報表 - 使用 Client Id 作為主要維度
自訂報表 – 使用 Client Id 作為主要維度

標準報表

預設報表 - 使用 Client Id 作為次要維度
預設報表 – 使用 Client Id 作為次要維度

數據顧問服務

數據酷顧問團隊
提供企業專屬的數據解決方案

文章許願池

想看什麼文章主題?
我們會儘快為您安排

數據顧問服務

數據酷顧問團隊
提供企業專屬的數據解決方案

文章許願池

想看什麼文章主題?
我們會儘快為您安排

數據顧問服務

數據酷顧問團隊
提供企業專屬的數據解決方案

文章許願池

想看什麼文章主題?
我們會儘快為您安排

Scroll To Top