GA4 事件追蹤 (Event Tracking)
在 Google Analytics 4 (GA4) 中,「事件 (Event)」是數據收集的核心單位。與舊版通用分析 (Universal Analytics) 不同,GA4 不再區分 Page View、Social、Transaction 等不同類型的 Hit,所有數據全部都是 Event。
徹底理解如何發送和自訂事件,是掌握 GA4 的關鍵。
GA4 事件的四種類型
GA4 的事件主要分為四種類型:
- 自動收集的事件 (Automatically collected events):只要裝了基本代碼就會自動追蹤。例如:
page_view(網頁瀏覽),first_visit(首次造訪),session_start(工作階段開始)。 - 加強型評估事件 (Enhanced Measurement events):在庫存管理介面可以一鍵開啟的功能。包括:
scroll(捲動),click(外連點擊),file_download(檔案下載),video_start(影片播放) 等。 - 建議事件 (Recommended events):Google 針對特定產業(如電商、遊戲)定義好的標準事件名稱與參數。雖然需要手動寫程式碼觸發,但使用這些標準名稱可以讓你在 GA4 報表中獲得更好的支援。
- 自訂事件 (Custom events):完全自定義的名稱。如果你想追蹤的行為不在上述列表中,例如「點擊了選單按鈕」,就可以使用自訂事件。
發送事件的基本語法
使用 gtag.js 發送事件的語法結構如下:
gtag('event', '事件名稱', {
參數名稱1: '值1',
參數名稱2: '值2',
// ...更多參數
});
'event':這是固定的指令,告訴 gtag 我們要發送一個事件。'事件名稱':這是你會在報表中看到的 Event Name。建議使用英文小寫與底線命名 (snake_case)。{ object }:這是一個選填的物件,用來攜帶這起事件的詳細資訊(事件參數)。
實作範例
發送建議事件 (Recommended Event)
假設使用者登入了你的網站,我們可以使用 login 這個建議事件。
HTML 範例:
<button id="loginBtn">登入</button>
<script>
document.getElementById('loginBtn').addEventListener('click', function () {
// 執行登入邏輯...
// ...
// 發送 GA4 事件
gtag('event', 'login', {
method: 'Google', // 登入方式
});
});
</script>
使用建議事件的好處是,GA4 已經預先定義好 method 這個參數的意義,系統能自動理解。
其他常見的建議事件
以下列出非電商類網站也常用的建議事件:
搜尋 (
search):當使用者進行站內搜尋時。gtag('event', 'search', { search_term: '慢跑鞋', });分享 (
share):當使用者分享內容時。gtag('event', 'share', { method: 'Facebook', content_type: 'article', item_id: 'A_123', });註冊 (
sign_up):當使用者完成註冊時。gtag('event', 'sign_up', { method: 'email', });選擇內容 (
select_content):當使用者使用篩選器或標籤時。gtag('event', 'select_content', { content_type: 'filter', item_id: 'price_low_to_high', });
發送自訂事件 (Custom Event)
假設你想追蹤使用者切換了網站的「深色模式」開關,這沒有標準定義,所以我們自取名稱為 toggle_dark_mode。
JavaScript 範例:
function onDarkModeToggle(status) {
// status可能是 'on' 或 'off'
gtag('event', 'toggle_dark_mode', {
mode_status: status,
page_location: window.location.href,
});
}
mode_status),GA4 不會自動產出報表。你必須到 GA4 後台的「管理」>「數據顯示」>「自訂定義 (Custom Definitions)」,將 mode_status 註冊為 自訂維度 (Custom Dimension),之後才能在探索報表中使用這個參數。自訂事件命名最佳實踐
- 使用蛇形命名法 (snake_case):例如
team_score優於teamScore或TeamScore。 - 避免使用保留字:不要使用
click,error,scroll等 Google 自動收集的事件名稱作為自訂事件名稱。 - 長度限制:事件名稱最多 40 個字元,參數名稱最多 40 個字元,參數值最多 100 個字元。
設定使用者屬性 (User Properties)
除了追蹤「發生了什麼事 (Event)」,我們有時也想知道「是誰做了這件事」。使用者屬性 (User Properties) 用來描述使用者的靜態特徵,例如會員等級、偏好語言、或是否為付費別戶。
與事件參數不同,使用者屬性會跟隨該使用者的所有後續事件。
設定方法
使用 gtag('set', 'user_properties', ...) 指令:
gtag('set', 'user_properties', {
membership_tier: 'Gold', // 會員等級
favorite_category: 'Sports', // 喜好分類
is_verified: true, // 是否已驗證
});
何時設定? 通常在使用者登入後,或是應用程式初始化並取得使用者資料時設定一次即可。
多重目的追蹤
還記得我們在安裝設定篇提過,可以同時 config GA4 和 Google Ads 嗎?當你呼叫 gtag('event', ...) 時,預設會同時傳送給所有已經 config 的目標。
這非常方便!但如果你只想傳送特定事件給特定 ID 呢?可以使用 send_to 參數:
gtag('event', 'sign_up', {
method: 'email',
send_to: 'G-XXXXXX', // 只傳送給這個 GA4 ID,不傳給 Google Ads
});
常見的事件參數 (Event Parameters)
除了你自己定義的參數外,gtag 也接受一些特殊用途的參數:
value(數值):事件的價值,例如300。currency(字串):幣別代碼,例如'TWD'。通常和value一起使用。transaction_id(字串):交易編號,用於電商去重。debug_mode(布林值):設為true時,此事件會進入 DebugView。
範例:追蹤一個「產生準客戶」(generate_lead) 的價值
gtag('event', 'generate_lead', {
currency: 'TWD',
value: 500, // 假設每個潛在客戶價值 500 元
lead_type: 'contact_form',
});
總結
發送事件是 GA4 追蹤的基礎。記住三個原則:
- 優先使用 自動收集 和 建議事件。
- 需要特殊分析時才使用 自訂事件,並記得去後台註冊自訂維度。
- 把
gtag程式碼綁定在正確的 JavaScript 觸發點(如點擊、表單送出)上。