GA4 可以追蹤 A/B 測試結果嗎?
GA4 可以追蹤 A/B 測試結果,前提是每一次實驗曝光、版本分配與轉換事件都有被正確送進 GA4。它適合做版本比較與行為分析,但不負責分流,也不會自動替你完成統計顯著性判斷。
GA4 在 A/B 測試流程中負責哪一段?
在 GA4 A/B 測試追蹤裡,分流通常由網站程式、GTM、CMS、實驗工具或後端邏輯處理;GA4 負責接收「使用者看到了哪個版本」以及「後續做了什麼」。最基本的追蹤鏈是:實驗曝光、版本識別、互動事件、轉換事件、報表比較。
| 流程階段 | 主要負責工具 | GA4 的角色 |
|---|---|---|
| 分配版本 A / 版本 B | 網站程式、GTM、A/B 測試工具 | 不負責分流,只接收結果資料 |
| 記錄實驗曝光 | GA4 event、dataLayer | 記錄 experiment_view 與版本參數 |
| 記錄轉換 | GA4 事件、GTM 觸發條件 | 把 signup_submit、purchase 等事件納入比較 |
| 比較版本表現 | GA4 探索報表 | 用 variant_id、轉換事件、使用者數分析差異 |
| 判斷能否採信 | 分析人員、統計工具 | 提供資料基礎,不直接保證實驗結論 |
什麼情況適合用 GA4 看實驗結果?
如果你的問題是「版本 B 是否帶來更多表單送出、購買、CTA 點擊或更好的參與品質」,GA4 很適合。它能把版本資料和流量來源、裝置、頁面、轉換事件一起看,對行銷頁、SEO 內容頁、電商漏斗與 B2B 官網都實用。
我的判斷是,GA4 最適合回答「哪個版本的行為表現比較好」,但不適合單獨回答「這個版本一定是真正贏家」。前者是報表問題,後者是實驗設計與統計判斷問題。
什麼情況不應只靠 GA4 判斷?
如果樣本量很小、版本分流不穩、流量來源差異過大,或轉換週期很長,只看 GA4 實驗結果很容易誤判。特別是高單價 B2B、長決策週期 SaaS、需要業務追蹤的表單名單,GA4 的轉換率只能當第一層訊號,不能直接取代後續成交品質分析。
追蹤 A/B 測試前,先定義實驗資料模型
GA4 A/B 測試追蹤不能只看 page_view。至少要先定義實驗名稱、版本 ID、版本名稱、曝光事件、轉換事件與分群條件,否則報表裡只會看到總流量,看不出版本 A 和版本 B 的成效差異。
最少要追哪些欄位?
最少欄位不是越多越好,而是要能穩定回答三個問題:使用者參與哪個實驗、看到哪個版本、後來有沒有完成目標行為。以下欄位足以支撐大多數 GA4 實驗結果分析。
| 欄位 | 建議值範例 | 用途 | 建議範圍 |
|---|---|---|---|
| experiment_id | landing_page_test_2026 | 識別是哪一個實驗 | 事件參數 |
| variant_id | control、variant_b | 區分版本 A / 版本 B | 事件參數或使用者屬性 |
| variant_name | 原始版、短表單版 | 讓報表更容易閱讀 | 事件參數 |
| event_name | experiment_view | 記錄使用者被實驗曝光 | GA4 事件 |
| conversion_event | generate_lead、purchase | 判斷實驗是否帶來目標成果 | GA4 轉換事件或關鍵事件 |
| traffic_source | google / cpc、google / organic | 檢查版本成效是否受來源影響 | GA4 預設維度 |
版本資料應該放在事件參數還是使用者屬性?
如果你要分析某次曝光或某次互動,版本資料應放在事件參數。若同一位使用者在整個實驗期間都固定看到同一個版本,且你要用使用者層級觀察長期行為,可以搭配使用者屬性。
實務上,我會先用事件參數處理 experiment_id、variant_id、variant_name,因為 A/B 測試的核心是「這次事件發生時屬於哪個版本」。使用者屬性適合補強,不適合取代事件層級資料。
轉換事件要先定義,否則版本比較沒有意義
版本比較不能只看瀏覽量。若沒有明確的 conversion_event,版本 B 看起來流量高,可能只是吸引比較多低意圖點擊。GA4 轉換事件可以是表單送出、加入購物車、開始結帳、完成購買、預約諮詢、下載白皮書或 CTA 點擊。
用 GA4 事件與參數記錄實驗版本
GA4 要看懂 A/B 測試,關鍵是把實驗曝光和後續轉換都用事件送入,並在事件參數中帶上 experiment_id、variant_id、variant_name。這樣探索報表才能依版本切分成效。
建議事件一:experiment_view
experiment_view 用來記錄使用者實際被分配並看見某個版本。這個事件不應該在每次小互動都重複觸發,否則曝光數會膨脹。通常在頁面載入且版本確定後觸發一次。
| 事件名稱 | 參數 | 範例值 |
|---|---|---|
| experiment_view | experiment_id | landing_page_test_2026 |
| experiment_view | variant_id | control |
| experiment_view | variant_name | 原始版 |
建議事件二:conversion_event
conversion_event 可以用既有的 GA4 建議事件,也可以用自訂事件。電商常用 purchase、add_to_cart、begin_checkout;B2B 常用 generate_lead、form_submit、book_demo。重點是轉換事件也要能和版本資料連上,否則只知道有人轉換,卻不知道是受哪個版本影響。
建議參數:experiment_id、variant_id、variant_name
experiment_id 應保持穩定,variant_id 應保持短而可機器判讀,variant_name 則給人閱讀。不要把 variant_id 寫成過長句子,也不要每次發布都改名稱,否則後續報表會分裂成太多值。
範例命名:landing_page_test_2026、control、variant_b
一組乾淨的命名可以長這樣:experiment_id 使用 landing_page_test_2026,variant_id 使用 control 與 variant_b,variant_name 使用原始版與短表單版。這樣行銷、工程、PM 在看同一份 GA4 探索報表時,不會各自解讀不同。
透過 GTM dataLayer 傳送版本資料
若網站使用 Google Tag Manager,可以在版本決定後推送 dataLayer,再由 GA4 event tag 接收參數。事件名稱可固定為 experiment_view,參數由 dataLayer 變數帶入。
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'experiment_view',
experiment_id: 'landing_page_test_2026',
variant_id: 'variant_b',
variant_name: '短表單版'
});
這段資料送出後,GTM 需要建立對應的 Data Layer Variable,再把它們放進 GA4 事件標籤的 event parameter。這裡最常見的錯誤是 dataLayer 有值,但 GA4 標籤沒有把值帶出去。
在 GA4 建立自訂維度,讓版本可以進報表
GA4 收到事件參數,不代表你立刻能在標準報表或探索報表中使用它。要把 experiment_id、variant_id 等事件參數註冊成自訂維度,報表才有辦法依實驗與版本切分。
事件範圍自訂維度怎麼設定?
到 GA4 管理區的 Custom definitions 建立自訂維度,Scope 選 Event,Event parameter 填入 experiment_id 或 variant_id。Google Analytics 說明中心也指出,自訂事件參數若要進報表分析,通常需要建立對應的自訂維度,可參考 GA4 事件範圍自訂維度說明。
| 自訂維度名稱 | Scope | Event parameter | 用途 |
|---|---|---|---|
| Experiment ID | Event | experiment_id | 依實驗切分報表 |
| Variant ID | Event | variant_id | 比較版本 A / B |
| Variant Name | Event | variant_name | 讓分析表格更易讀 |
哪些參數應該註冊成自訂維度?
應優先註冊報表會拿來分組、篩選、比較的參數,例如 experiment_id、variant_id、variant_name。不要把每個細節都註冊成自訂維度,尤其是 URL、時間戳、使用者 ID 這類高變動值,容易讓報表變得難讀,也可能碰到系統限制。
為什麼 DebugView 有資料,但報表沒有?
DebugView 能確認事件與參數是否即時送達,但不代表自訂維度已經可用於一般報表。常見原因包括尚未建立自訂維度、建立後需要等待處理時間、參數名稱大小寫不一致,或事件實際送出的參數和 Custom definitions 填的名稱不同。
用 GA4 探索報表比較 A/B 測試版本
GA4 探索報表適合用來比較版本 A 和版本 B 的轉換率、事件數、使用者數與參與品質。核心做法是把 variant_id 放進列或欄,把轉換事件與使用者指標放進值,再用 experiment_id 篩選單一實驗。
自由形式報表應該放哪些維度與指標?
自由形式報表不要一次塞太多維度。初版配置只要能回答「哪個版本帶來更好的目標行為」即可,之後再加入來源、裝置或頁面做分群。
| 探索報表區塊 | 建議設定 | 用途 |
|---|---|---|
| 列 | variant_id 或 variant_name | 比較版本表現 |
| 欄 | traffic source、device category | 檢查來源或裝置差異 |
| 值 | 總使用者、事件數、轉換事件、參與時間 | 觀察流量與行為品質 |
| 篩選器 | experiment_id 等於指定實驗 | 避免不同實驗混在一起 |
| 區隔 | 版本 A 使用者、版本 B 使用者 | 比較不同版本後續行為 |
如何用區隔比較版本 A 與版本 B?
可建立兩個使用者區隔:一個條件是 variant_id 等於 control,另一個條件是 variant_id 等於 variant_b。若你的實驗是以事件曝光為基礎,也可以用事件區隔,但分析後續跨頁行為時,使用者區隔通常更直覺。
建議觀察指標:轉換率、事件數、總使用者、參與時間
轉換率是核心,但不能單看。事件數能看互動量,總使用者能看樣本規模,平均參與時間能看頁面品質。對內容頁來說,版本 B 的表單轉換少一點,但參與時間與 CTA 點擊更高,可能代表它在上層漏斗仍有價值。
如何避免只看轉換數而誤判?
只看轉換數會忽略分母。版本 B 轉換數比較高,可能只是分到更多流量;版本 A 轉換數較低,可能是樣本量不足。至少要同時看使用者數、轉換率、流量來源、裝置分布與測試期間,才有判斷基礎。
不同網站情境的 A/B 測試指標怎麼選?
GA4 A/B 測試的指標要跟網站任務對齊。內容站不應只看購買,電商不應只看停留時間,B2B 官網不應只看表單數;每種網站都要分主要轉換與輔助指標。
SEO 內容站:捲動、停留、CTA 點擊
SEO 內容站常見測試是標題、導言、CTA 位置、內容模組順序。主要指標可用 CTA 點擊、訂閱、下載或表單送出;輔助指標可看 scroll、engagement_time、內部連結點擊。我的經驗是,內容站若只看停留時間,很容易高估「看很久但不行動」的版本。
電商:add_to_cart、begin_checkout、purchase
電商測試要沿著漏斗看,不要只看 purchase。版本 B 可能提高 add_to_cart,卻讓 begin_checkout 下降,這代表吸引力提高但購買阻力仍在。若客單價差異明顯,也要搭配 revenue、items purchased 或平均訂單價值觀察。
B2B 官網:表單送出、預約諮詢、下載
B2B 官網要注意名單品質。版本 A 表單送出較少,但若後續業務判定有效名單較高,未必輸給版本 B。GA4 可先追 generate_lead、form_submit、download,再把 CRM 或業務回饋接到後續分析。
廣告落地頁:主要 CTA、二次互動、跳出品質
廣告落地頁的 A/B 測試通常受流量來源影響很大。主要指標是 CTA 點擊、表單送出、購買或預約;輔助指標可看二次互動、頁面參與、scroll 與跳出品質。若 Google Ads 流量在兩個版本的關鍵字意圖不同,GA4 報表中的版本差異就需要拆開看。
| 網站類型 | 主要轉換事件 | 輔助指標 | 判讀重點 |
|---|---|---|---|
| SEO 內容站 | cta_click、newsletter_signup | scroll、engagement_time、internal_click | 確認內容是否帶來下一步行動 |
| 電商 | add_to_cart、begin_checkout、purchase | revenue、item_view、cart_remove | 沿漏斗檢查哪一段改善或流失 |
| B2B 官網 | generate_lead、book_demo、form_submit | download、pricing_view、case_study_click | 表單數量要搭配名單品質 |
| SaaS | sign_up、trial_start、demo_request | feature_click、pricing_view | 註冊後活躍度比單次點擊更重要 |
| 廣告落地頁 | lead_submit、purchase、cta_click | scroll、secondary_click、engaged_session | 需依廣告來源與關鍵字拆解 |
GA4 追 A/B 測試最常見的資料錯誤
GA4 實驗結果不準,常見原因不是工具壞掉,而是事件重複、版本參數遺失、內部流量沒排除、跨網域造成 session 斷裂,或 UTM 把來源污染。這些問題要在判讀前先排除。
DebugView 有沒有收到 experiment_id 與 variant_id?
先用 DebugView 檢查 experiment_view 是否有觸發,並確認 experiment_id、variant_id、variant_name 都有值。若 DebugView 只看到事件名稱,沒有看到參數,通常是 GTM 變數設定、dataLayer 時機或 GA4 event parameter 對應錯誤。
同一位使用者會不會被分到多個版本?
同一位使用者在同一個實驗期間應盡量固定看到同一版本。若使用者今天看到 control,明天又看到 variant_b,GA4 報表會把後續行為混在一起,版本比較就失去意義。這類問題常發生在 cookie 過期、登入前後 ID 不一致或分流邏輯未固定。
轉換事件是否被重複觸發?
表單送出、購買完成、預約成功頁最容易重複觸發。使用者重新整理感謝頁,或 GTM 同時用 click 與 page_view 觸發同一個事件,都會讓 conversion_event 膨脹。實驗報表中若某版本轉換率異常高,第一步應先查重複觸發。
內部測試流量是否已排除?
內部團隊反覆測試版本會污染 GA4 A/B 測試追蹤。發布前後若有行銷、工程、客戶端一起驗收,內部流量可能集中在某個版本,導致早期報表偏斜。至少要用內部 IP、測試參數或測試環境區分,避免和正式流量混在一起。
跨網域或付款頁是否造成 session 斷裂?
電商、預約系統、第三方付款頁常有跨網域問題。若使用者從版本 B 進站,結帳時跳到另一個網域再回來,GA4 可能把 session 或來源拆開。這會影響轉換歸因,也會讓版本比較失準。
| 錯誤類型 | 可能症狀 | 檢查方式 | 修正方向 |
|---|---|---|---|
| 版本參數遺失 | 報表只有總轉換,沒有版本 | DebugView 檢查參數 | 修正 dataLayer 與 GA4 event parameter |
| 重複事件 | 某版本轉換率異常高 | 檢查觸發條件與感謝頁刷新 | 限制觸發一次或改用成功事件 |
| 分流不固定 | 同一使用者出現在多版本 | 用使用者區隔回查事件序列 | 固定版本分配邏輯 |
| 內部流量污染 | 剛上線數據波動過大 | 看地點、IP、測試參數 | 排除內部流量 |
| UTM 污染 | 來源媒介不合理 | 檢查 campaign、source、medium | 統一 UTM 規則 |
| 跨網域斷裂 | 付款或表單後來源改變 | 檢查 referral 與 session | 設定跨網域追蹤 |
如何判斷 GA4 裡的 A/B 測試結果能不能採信?
GA4 裡的 A/B 測試結果能不能採信,要看樣本量、測試期間、版本分流、流量來源、轉換定義與資料品質。數字較高不等於版本勝出,必須先確認比較基礎公平。
結果可以採信的條件
當版本分流穩定、測試期間涵蓋完整週期、主要流量來源相近、轉換事件定義清楚,且沒有明顯重複觸發或版本遺失,GA4 實驗結果才適合拿來做決策。若還能搭配統計顯著性工具或 BigQuery 原始資料驗證,可信度更高。
結果需要重跑的情況
若測試中途改版、廣告預算突然調整、某版本追蹤壞掉、內部流量大量進入,或同一使用者被分到多個版本,這次結果通常需要重跑。硬把壞資料解讀成結論,是 A/B 測試裡最常見也最昂貴的錯誤。
結果只能當方向參考的情況
樣本量不足、轉換事件太少、測試期間太短,或版本差異很小時,GA4 報表只能提供方向參考。這種情況可以用來產生下一輪假設,例如「短表單可能改善手機端填寫率」,但不適合直接永久替換原版本。
GA4 報表與統計顯著性工具如何搭配?
GA4 負責提供版本、使用者、事件與轉換資料;統計工具負責判斷差異是否可能只是隨機波動。比較穩健的做法是先用 GA4 探索報表確認資料乾淨,再把每個版本的樣本數與轉換數拿去做統計檢查。
| 判斷結果 | 條件 | 建議動作 |
|---|---|---|
| 可以採信 | 分流穩定、樣本充足、轉換定義正確、資料無明顯錯誤 | 可進入上線或擴大測試決策 |
| 需要重跑 | 追蹤故障、版本混亂、測試中途條件大幅改變 | 修正設定後重新開始實驗 |
| 只能參考 | 樣本偏小、期間太短、轉換太少、結果差距不穩 | 保留觀察,設計下一輪測試 |
GA4、BigQuery、Looker Studio 在 A/B 測試分析中的分工
GA4 適合快速查看版本表現,BigQuery 適合保留與查詢原始事件,Looker Studio 適合把固定指標做成跨團隊儀表板。三者不是互相取代,而是放在不同分析深度上。
GA4:快速檢查版本表現
GA4 適合日常檢查,例如版本 B 是否有收到 experiment_view、轉換事件是否正常、不同版本的使用者數與轉換率是否合理。對多數行銷團隊而言,GA4 探索報表就是第一層實驗檢查台。
BigQuery:保留原始事件並做深度查詢
當你需要回查使用者事件序列、處理跨天轉換、排除重複事件,或把 GA4 資料和 CRM、訂單資料合併,BigQuery 會比介面報表更適合。它不是每個網站都必備,但對高流量或高決策成本的實驗很有價值。
Looker Studio:固定儀表板與跨團隊溝通
Looker Studio 適合把實驗 ID、版本、轉換率、樣本數、主要 KPI 和輔助指標固定成儀表板。它的價值在於讓行銷、PM、主管看到同一套定義,減少每次開會都重新截圖、重新解釋報表的成本。
| 工具 | 適合任務 | 不適合任務 |
|---|---|---|
| GA4 | 快速看版本成效、DebugView、探索報表 | 複雜統計檢定、深度資料清洗 |
| BigQuery | 原始事件查詢、跨資料源分析、重複事件排查 | 給非分析團隊直接日常操作 |
| Looker Studio | 固定儀表板、跨團隊同步、週報月報 | 即時除錯、精細事件序列分析 |
GA4 A/B 測試追蹤設定檢查表
GA4 A/B 測試上線前後要檢查事件、參數、自訂維度、DebugView、探索報表、轉換事件與流量排除。只要其中一段漏掉,GA4 實驗結果就可能看得到數字,卻不能拿來決策。
發布前檢查
- 已定義 experiment_id,且命名不會和其他實驗混淆。
- 已定義 variant_id,例如 control、variant_b,避免使用容易變動的文字。
- 已定義 variant_name,方便行銷與 PM 閱讀報表。
- experiment_view 只在版本確定且曝光時觸發。
- 主要 conversion_event 已確認,例如 generate_lead、purchase、signup_submit。
- GTM dataLayer 變數已正確對應到 GA4 event parameter。
- GA4 Custom definitions 已建立 experiment_id、variant_id、variant_name。
- 內部測試流量已有排除或標記方式。
發布後 24 小時檢查
- DebugView 能看到 experiment_view 與所有版本參數。
- Realtime 或事件報表能看到實驗曝光事件。
- 版本 A 與版本 B 都有流量,不是只有單一版本進資料。
- 轉換事件沒有明顯重複觸發。
- 探索報表可以用 experiment_id 篩選指定實驗。
- variant_id 可放進列或欄進行比較。
- 流量來源與裝置分布沒有明顯異常。
實驗結束前檢查
- 測試期間沒有中途大幅改動頁面、表單或分流邏輯。
- 同一位使用者沒有大量跨版本曝光。
- 主要轉換事件定義在整段期間保持一致。
- 跨網域追蹤沒有造成付款頁或表單頁 session 斷裂。
- UTM 規則沒有讓版本流量來源失真。
- 樣本量與轉換數足以支撐初步判斷。
- 已把 GA4 報表結果和統計顯著性檢查分開處理。
- 已記錄實驗假設、版本差異、測試期間與最後決策。
GA4 可以直接做 A/B 測試嗎?
GA4 不適合當作完整 A/B 測試分流工具。它可以記錄實驗曝光、版本參數與轉換事件,也可以用探索報表比較版本成效,但版本分配通常要由網站程式、GTM、CMS 或第三方實驗工具處理。
GA4 可以追蹤 A/B 測試結果嗎?
可以。只要把 experiment_id、variant_id、variant_name 透過事件參數送進 GA4,並把重要參數註冊成自訂維度,就能在 GA4 探索報表中比較不同版本的轉換事件與使用者行為。
A/B 測試版本資料應該用事件參數還是使用者屬性?
多數情況先用事件參數,因為它能記錄每次曝光或互動當下屬於哪個版本。若使用者在整個實驗期間固定版本,且你要追蹤跨 session 行為,可以再搭配使用者屬性。
為什麼 GA4 DebugView 看得到參數,但報表看不到?
常見原因是還沒把事件參數建立成自訂維度,或自訂維度剛建立仍在處理中。也可能是參數名稱大小寫不一致、GA4 event tag 沒有帶出正確參數,或報表日期區間選錯。
GA4 探索報表怎麼比較版本 A 和版本 B?
建立自由形式探索,把 variant_id 或 variant_name 放到列,將總使用者、事件數、轉換事件、參與時間放到值,再用 experiment_id 篩選指定實驗。也可以建立版本 A 與版本 B 的使用者區隔做比較。
A/B 測試應該追蹤哪些 GA4 轉換事件?
要依網站目標決定。電商可追 add_to_cart、begin_checkout、purchase;B2B 可追 generate_lead、form_submit、book_demo;內容站可追 CTA 點擊、訂閱、下載或重要內部連結點擊。
GA4 的轉換率可以直接當作 A/B 測試勝負依據嗎?
不建議直接當作唯一依據。GA4 的轉換率要搭配樣本量、測試期間、流量來源、版本分流品質與統計檢查一起看。轉換率高可能是真的改善,也可能只是樣本不足或流量偏差。
實驗結果要跑多久才可以判斷?
沒有固定天數適用所有網站。至少要涵蓋完整流量週期,並累積足夠使用者與轉換數。若網站平日和週末行為差異大,只跑一兩天通常不足以判斷版本優劣。
GA4 追 A/B 測試時,最容易造成資料不準的原因是什麼?
最常見原因包括版本參數遺失、experiment_view 重複觸發、轉換事件重複、同一使用者跨版本曝光、內部測試流量未排除、UTM 污染,以及跨網域或付款頁造成 session 斷裂。
GA4、BigQuery、Looker Studio 哪一個適合看 A/B 測試結果?
GA4 適合快速檢查版本表現與建立探索報表;BigQuery 適合查原始事件、清理資料與做深度分析;Looker Studio 適合固定儀表板,讓團隊定期追蹤實驗結果。
如果使用第三方 A/B 測試工具,還需要把資料送進 GA4 嗎?
通常仍然需要。第三方工具可能看得到實驗結果,但把版本資料送進 GA4 後,才能和流量來源、裝置、頁面互動、轉換事件、Google Ads 或其他行銷資料放在同一套分析脈絡裡。
Google Optimize 停用後,GA4 還能看實驗資料嗎?
可以,只要新的分流工具、網站程式或 GTM 能把實驗 ID、版本 ID 與轉換事件送進 GA4,GA4 仍能用事件參數、自訂維度和探索報表分析實驗結果。差別在於分流與實驗管理要由其他系統負責。
以官方文件、實際設定與量測結果整理 SEO 數據、網站追蹤與分析方法,並標示資料來源與判讀限制。