如何用 GTM 「對照表」管理不同的 GA4 ID(例:測試站與正式站)

有些較大型規模的公司網站,會在本地端或是用一個子網域(sub-domain)建立一個測試站,用來作為網站正式上線之前的功能測試用,通常都是用來給公司內部人員,例如行銷部門或是外部合作的數據追蹤廠商使用,確認一切沒問題之後,才會將網站正式上線。

或是多語言的網站,整體網頁架構都相同,只有語言不同,也可以的同樣的方式來做管理,否則每一個語言要做一個 GTM 容器或是針對各語言網站設定一個 Google Tag 代碼,同樣的動作要重複做好幾次,相當沒有效率。

因為雖是不同語系網站,但基本上卻是完全一樣的網站結構(Html Class, ID, URL 結構等),所以我們可以使用同一個 GTM 容器代碼來管理這些網站,因為要追蹤的代碼跟觸發條件基本上都會是完全一樣的

(當然你要用各自的 GTM 容器也可以,只是一樣的代碼要重複做一遍,有幾個網站就重複幾遍)。

假設在這樣的情況下,我不希望各站(例如:測試站跟正式站)之間的 GA4 數據如觀看次數、事件、轉換等參數混在一起,我可以怎麼做?

(這邊不是指單除排除內部流量而已,當前狀況意指有一個測試站專屬的 GA4,一個正式站專屬的 GA4,但只用一個 GTM 容器,該如何透過這個 GTM 管理兩個 GA4 代碼?)

因此運作流程就會變成下圖:
當網站為測試站,給予測試站專用的 GA4 ID
當網站為正式站,給予正式站專用的 GA4 ID

用 GTM 對照表 Lookup Table

新增對照表類型的變數

GTM 左側面板選擇「變數」 > 下方使用者定義的變數區塊選擇「新增」 > 選擇「對照表」

數入變數選擇 Page Hostname

這邊是抓取主機名稱來判斷使用者現在所在位置是在哪個網站,然後透過對照表比對後,GTM 中我們設定的Google Tag 代碼就會使用相對應 GA4 評估 ID。

在對照表中給予相對應值

「輸入」欄位給予主機名稱,這也就是為什麼上面的輸入變數會選擇 {{Page Hostname}} 的原因,左邊「輸出」欄位給予相對應的 GA4 評估 ID。

預設值可做可不做,但建議放入全站總覽的 GA4 ID,以一個全球多語言網站來說,你應該是會有一個 GA4 資源是用來看全球流量表現的,那這邊的預設就可以放入該資源 ID。

設定完畢之後儲存,準備新增 Google Tag 代碼。

新增/修改 Google Tag 代碼 ID

將原本放置 GA4 代碼 ID 的位置,改成剛剛設定的對照表變數,其它設定都可以不用變,觸發條件依然是 All Page,如此一來,未來 GTM 就會依照網域名稱的不同,啟動不同的 GA4 ID,搞定!

對照表 V.S 一樣的代碼重複做

假設我們今天不用對照表,而是針對不同網站給予不同的 GTM 容器或是使用同樣的 GTM 容器但是設定不同的代碼搭配不同的 Page Hostname 作為觸發條件,試想當網站數量(32 國語言的網站?)一多起來的時候,這代碼量會相當可觀,管理上也為變得非常困難。

用對照表的好處,在於未來如果有新的語言網站或是公開測試站之前的內部測試站加入,我們只要回到對照表變數中新增一列並填入相對應的輸入以及輸出的值就可以了,相較起來方便許多。


延伸閱讀

如果你很喜歡這篇文章並且覺得內容有幫助到你,又剛有些多餘時間,歡迎你看看其它文章,繼續探索(這坑?這地獄?這片樂土?)

同時,如果對於內容有疑問或是建議,也歡迎你留言告訴我們,感激不盡:)