用GTM將 GA – ClientID抓出來 GA4自訂維度 + 自訂JS

GTM教學 – 使用JS抓取ClientID|自訂維度多元分析

ClientID存放在網站裡面的Cookie 讓GA辨識裝置使用者。ClientID其實也可以在額外使用,像是將CID置入在GTM代碼裡面的參數。後續搭配使用GA4自訂維度,可以在GA4的自訂探索報表中,利用自訂維度-CID的來進行更多元分析。

比較常被容易搞混的 「user_id」,通常用於跨裝置的辨別。透過SQL系統資料庫,於使用者登入後給予一組固定的ID,藉由user_id可以知道使用者即使在不同裝置、不同工作階段,都能連接使用者的行為。因此Client_ID無法被用於紀錄跨裝置的使用者上,務必釐清。

快速區分這兩個的辨別方式:

  • ClientID:GA4辨識使用者。
  • User_id:辨識使用者跨裝置、跨工作階段。

Client_id

本篇文章會透過自訂JavaScript來進行抓取Client_id,另外需要注意的是ga.getALL並不是每一個網站都可以用ClientID主要為記錄使用者的瀏覽器、裝置資訊,後續可以透過Client_ID等其他資料,進行離線傳輸資料 – MP通訊協定。

如果想要於前端查看Client_ID,可以打開瀏覽器中F12,點選Application,找到_ga的Cookie名稱。

取得ClientID 方法1

用GTM將 GA – ClientID抓出來 GA4自訂維度 + 自訂JS

開啟GTM,在變數裡面找到自訂JavaScript,並輸入範例圖的JavaScript。

​function(){
var track = ga.getAll()[0];
return track.get(‘clientId’);
}

取得ClientID 方法2

如果以上的JS程式碼在你的網站不適用,你可以直接在GTM代碼中新增這個範本,來自國外GTM使用者開源的代碼 – GTAG GET API。裡面會直接讓我們可以勾選要回傳的內容,讀者再依照自己的情境勾選。觸發條件選擇All Pages即可。

設定完成後,你就可以看到這個DataLayer有對應的Cid, Sid,後續再透過變數撈取至GTM使用即可。

查看GTM除錯模式的資料

用GTM將 GA – ClientID抓出來 GA4自訂維度 + 自訂JS

進入Debug模式,查看每一個事件底下,是否有剛剛設定的CID以及對應的值。

將參數加入使用者屬性

用GTM將 GA – ClientID抓出來 GA4自訂維度 + 自訂JS

請參考範例圖,將使用者層級輸入。依照辨識輸入KEY值,Value請務必用剛剛新增的JS變數。
Key:gid
Value:{{gid}}​

另外自從GTM更新為GTAG後,已經有全域的事件設定功能。你也可以透過直接設定basecode中的使用者層級變數,來直接覆蓋全站的GA4事件。但經過多位使用者測試,如果這個方式不可行,那你只好也手動一個一個埋設至各個GA4事件。

GA4新增自訂維度

用GTM將 GA – ClientID抓出來 GA4自訂維度 + 自訂JS

1.前往GA4的設定
2.自訂定義
3.建立自訂維度
4.依照方框內輸入,範圍選擇「使用者」

自訂探索報表建立

GA4自訂探索報表建立

等待一天左右再去探索報表中,選擇維度中的「自訂」。發現裡面有前日新增的ClientID自訂維度,就可以拿出來與GA4的其他維度資料做分析。

對比這張GA4內建的探索報表 – 使用者多層檢視報表。裡面的有效使用者ID即Client_id,就是已經被固定,無法搭配其他維度進行分析。

總結

將Client_ID埋入至GA4的各個事件中,有些是不建議這樣埋設,因為會造成High-cardinality dimensions的問題產生。但有些人會想要利用ClientID進行探索報表中的其他分析。因此有些人建議這樣埋設、有些人則不建議這樣埋設,因此要做這樣的設定之前,務必好好考慮,是否利大於弊。

如果你選擇這個使用方式,未來可用這個維度,跟其他資料做混合使用,也可以搭配使用者多層檢視,來比對個別使用者的行為、來源

error: