GA4 事件追蹤 (Event Tracking)

在 Google Analytics 4 (GA4) 中,「事件 (Event)」是數據收集的核心單位。與舊版通用分析 (Universal Analytics) 不同,GA4 不再區分 Page View、Social、Transaction 等不同類型的 Hit,所有數據全部都是 Event

徹底理解如何發送和自訂事件,是掌握 GA4 的關鍵。

GA4 事件的四種類型

GA4 的事件主要分為四種類型:

  1. 自動收集的事件 (Automatically collected events):只要裝了基本代碼就會自動追蹤。例如:page_view (網頁瀏覽), first_visit (首次造訪), session_start (工作階段開始)。
  2. 加強型評估事件 (Enhanced Measurement events):在庫存管理介面可以一鍵開啟的功能。包括:scroll (捲動), click (外連點擊), file_download (檔案下載), video_start (影片播放) 等。
  3. 建議事件 (Recommended events):Google 針對特定產業(如電商、遊戲)定義好的標準事件名稱與參數。雖然需要手動寫程式碼觸發,但使用這些標準名稱可以讓你在 GA4 報表中獲得更好的支援。
  4. 自訂事件 (Custom events):完全自定義的名稱。如果你想追蹤的行為不在上述列表中,例如「點擊了選單按鈕」,就可以使用自訂事件。

發送事件的基本語法

使用 gtag.js 發送事件的語法結構如下:

gtag('event', '事件名稱', {
  參數名稱1: '值1',
  參數名稱2: '值2',
  // ...更多參數
});
  • 'event':這是固定的指令,告訴 gtag 我們要發送一個事件。
  • '事件名稱':這是你會在報表中看到的 Event Name。建議使用英文小寫與底線命名 (snake_case)。
  • { object }:這是一個選填的物件,用來攜帶這起事件的詳細資訊(事件參數)。

實作範例

假設使用者登入了你的網站,我們可以使用 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 優於 teamScoreTeamScore
  • 避免使用保留字:不要使用 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, // 是否已驗證
});

何時設定? 通常在使用者登入後,或是應用程式初始化並取得使用者資料時設定一次即可。

設定後,同樣需要到 GA4 後台的「自訂定義」>「自訂使用者屬性」進行註冊,才能在報表中作為篩選條件或維度使用。

多重目的追蹤

還記得我們在安裝設定篇提過,可以同時 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 追蹤的基礎。記住三個原則:

  1. 優先使用 自動收集建議事件
  2. 需要特殊分析時才使用 自訂事件,並記得去後台註冊自訂維度。
  3. gtag 程式碼綁定在正確的 JavaScript 觸發點(如點擊、表單送出)上。