什麼是Client ID

當用戶首次訪問你的網站時,Google會根據用戶的Cookie生成一個特殊的用戶標示ID,我們稱之為Client ID。Client ID會用來記錄用戶與你的網站是如何交互的,包括用戶何時訪問你的網站、產生了多少次session(會話)、發生了什麼事件、是否最終轉化等。在用戶不清除Cookie的情況下,Client ID的值會持續兩年不變,但在個別情況下,Client ID會發生變化。比如,當用戶通過不同的瀏覽器訪問你的網站時,此用戶會有兩個不同的Client ID。如果你有兩個不同域名的網站,當用戶垮網站訪問時,此用戶也是會有兩個不同的Client ID, 這意味著對於你的網站來說,這是兩個用戶的訪問。

Client ID一般是以“_ga”開頭的格式存儲並在Cookie文件裡的,例如“GA1.2.519717908.1642398833”,點擊了解更多Client ID的介紹。你可以在裝有gtag或者GTM追蹤代碼的任何一個網站上,打開網站的控制台,點擊Application,選擇當前所在的頁面鏈接查看自己的Client ID,如下圖所示:

GA4或Universal Analytics使用Client ID的方式都是一樣的。不一樣的點在於,在GA4的項目設置中,Client ID也會被稱為Device ID。

在Universal Analytics的看板上,你不需要做任何的附加動作,就可以在User Explore裡獲取到用戶的Client ID的值,但是在GA4的看板上,你需要手動上報才可以獲取到Client ID的值,這邊文章會介紹如何在GA4看板上獲取到Client ID的值。

Client ID有哪些用處,使用場景是什麼呢?

1. 統計用戶類型

Client ID是GA數據口徑的統計基礎,因為它可以統計用戶第一次訪問你的網站的時間,因此才可以在GA的看板上分別出新用戶或是回流用戶(New Users vs Returning Users),有了這樣的統計口徑,我們才得以在GA4上觀察回流用戶的留存率。

2. 多渠道歸因(Multi-channel Attribution)

GA利用Client ID來區分用戶的來源和渠道。很多情況下,營銷活動會在同一時間、不同的媒體平台上推廣(比如同時在Facebook和UAC上買廣告),Client ID會將不同廣告渠道帶來網站交互關聯至同一個用戶上,進而構建出多渠道歸因報告,如下所示:

GA4的多渠道歸因

3. 跨域追蹤

文章最開始有提到,若用戶從網站A跳去網站B時,他的Client ID會發生變化,這意味著這個用戶在兩個網站上被標記成為了兩個不同的用戶。

如果你有超過1個以上的網站,並且這些網站之間在功能點上相互關聯的話,那麼一定需要做好跨域的追蹤。GA是通過將用戶的_ga值從A網站透傳到B網站的方式來做跨域追蹤的,在GTM上簡單的做allowLinker的配置就可以實現,可以參考以下的邏輯圖。

如何利用allowlinker在GA上做跨域追蹤?

4. 垮設備追蹤

跨設備追蹤一直是一個行業難題,用戶從你的網站跳去Appstore下載了你的App,追蹤就會發生斷層。但是我們可以通過關聯Client ID與UID(註冊後的用戶ID),借助MMP Onelink的能力來實現跨設備追蹤。後續我會專門輸出一篇文章,獨家講解跨設備追蹤的方案構思。

為什麼要在GA4看板上展現Client ID?

1. 你可以根據Client ID進行用戶分組,深入分析和挖掘轉化路徑和用戶行為

2. 你可以利用Client ID做用戶分組後,將這些用戶包關聯到Google Ads上做定向投放,如果出現了潛在的高價值用戶,你可以在GA4的面板上匹配Client ID來查詢他訪問過哪些頁面、做過哪些動作。   

3. 如果你之前關聯過Bigquery的話,在Bigquery SQL的數據表中,可以通過user_pseudo_id這個字短來獲取Client ID的值(兩個ID其實是一個值)。但是,在GA4的前端看板中拿到Client ID的值後,方便我們去對比GA4和Bigquery的數據,在數據異常時也方便我們去Debugg.

GA4上如何獲取Client ID

GA4上的數據統計默認是基於Client ID,但在GA4的前端面板上無法看到Client ID的值,面板上展示的都是聚合數據,接下來教你使用GTM從_ga Cookie裡提取Client ID的值,並將其上報至GA4的前端看板上。

1. 前往Google Tag Manager的面板https://tagmanager.google.com/,點擊右側欄裡的變量(Variable),選擇添加新的變量

2. 將新的變量命名為GA4-Client ID,變量類型選擇“1st Party Cookie”,Cookie Name填入“_ga”

3. Client ID有前綴,類似這樣“GA1.1”,在分析的過程中我們不需要這個前綴。所以我們需要創建一個Custom Javascript變量,在上報Client ID將其前綴隱藏。

//Extract Client ID from the cookir string

function(){
    retrun{{GA4 - Client ID}}.slice(6);
}

4. 接下來我們就可以將Client ID上報給特定的Property了。在GTM後台創建一個新的代碼(Tag),選擇Google Analytics:G4 Configuration,輸入目標Property的Measuremen ID(點擊了解如何獲取Measurement ID),在Property Name裡輸入client_id,Value選擇一步創建的”隱藏Client ID前綴“變量。記得觸發事件(Triggering)一定要選擇所有頁面(All Pages)。

5. 前往GA4https://analytics.google.com/analytics/web,在配置(configuration)->自定義緯度(custom dimension)創建新的自定義緯度,User Property輸入“client_id”(GA4上User Property的值需要與GTM上創建代碼時輸入的Property Name保持一致)。

6. 最後一步,在GTM與GA4的後台做debug驗證。打開GTM的預覽模式,查看創建的代碼觸發時,Client ID是否有成功攜帶

在GA4面板上,打開Debug mode驗證觸發的事件是否成功攜帶Client ID,Client ID會在橘色框裡出現。

聯繫我做問題解答

在對接任何廣告平台API時,若遇到無論是棘手的技術或者產品問題,歡迎聯繫我幫你解答查看我的履歷