更新時間:2025年7月14號
在實務上,企業常會遇到需要將同一個網站的資料同步傳送到多個GA4資源的需求,例如:
- 總公司與子公司共用網站
- 客戶與代理商需要各自擁有GA4資料
- 正在進行新版GA4測試
- 跨國網站需要分別管理不同市場數據
那麼,如何讓同一個網站同時向多個GA4評估ID發送資料呢?
本文將介紹三種常見做法:
- 使用gtag.js的group功能
- 使用Google代碼(Google Tag)
- 使用GTM
方法一:使用gtag.js的group功能
如果網站是直接安裝gtag.js,而非透過GTM管理,可以利用groups功能將資料同步發送到多個GA4資源。
假設需要同時發送到:
- G-STREAM1
- G-STREAM2
範例程式碼如下:
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Stream1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-Stream1', { 'groups': 'group1' });
gtag('config', 'G-Stream2', { 'groups': 'group1' });
</script>
- 適用情境:網站直接安裝 gtag.js、不使用GTM、需要手動控制事件發送邏輯
- 優點:彈性高、可精細控制事件流向
- 缺點:設定較複雜、維護成本較高
方法二:透過Google 代碼(Google Tag)
如果網站已使用新版Google Tag,設定會更簡單。
在GA4的網頁串流詳情中點擊「進行代碼設定」——「管理」——「管理 Google 代碼」:
點擊「+目的地」——「選擇目的地」,然後選擇另一個GA4評估ID,之後網站收集到的資料便會同時發送到兩個GA4資源。
- 優點:不需要修改網站程式碼、官方推薦方式、維護成本低
- 缺點:無法細緻控制不同事件的發送邏輯
方法三:使用GTM
如果網站是透過GTM安裝GA4,建議直接建立兩組Google代碼。
在GTM中,點擊「代碼」——「新增」——「請選擇代碼類型以開始設定…」——「Google 代碼」,命名為“Google Analytics 4 Basic Tracking”,增加cookie_prefix設定,如:
為避免兩個GA4資源共用相同Cookie,建議設定不同的cookie_prefix。
三種方法比較
| 方法 | 難易度 | 推薦程度 | 適用對象 |
|---|---|---|---|
| gtag.js group | ★★★★☆ | ★★★☆☆ | 開發人員 |
| Google Tag | ★☆☆☆☆ | ★★★★★ | 大部分網站 |
| GTM | ★★☆☆☆ | ★★★★★ | 使用GTM的網站 |
常見問題(FAQ)
一個網站可以連接多少個GA4資源?
技術上可以同時向多個GA4評估ID發送資料,但過多追蹤代碼可能影響網站效能,因此建議只保留必要的資源。
多個GA4資源會互相影響資料嗎?
不會。
每個GA4資源都是獨立儲存資料,只要設定正確,資料不會互相覆蓋。
是否需要建立兩套事件?
不需要。
事件只需觸發一次,即可同步發送至多個GA4資源。
使用Google Tag還需要GTM嗎?
不一定。
Google Tag可以直接在GA4後台管理資料發送目的地,不一定需要透過GTM。
總結
當網站需要同時向多個 GA4 資源發送資料時,可以根據實際架構選擇不同方案:
- 直接安裝 gtag.js:使用group功能。
- 使用新版Google Tag:新增目的地即可。
- 使用GTM:建立多個Google代碼,並建議設定不同的
cookie_prefix。
如果是新專案,建議優先使用Google Tag的「新增目的地」功能,設定最簡單,也最符合Google目前的產品架構方向。
