---
title: "GA4 升級筆記 Part's 2 - 事件"
description: "GA4 升級筆記第二篇，說明 GA 與 GTM 的關係、四大事件分類，以及如何透過 gtag 傳遞電子商務事件與自訂維度到 Google Analytics 4。"
canonical_url: "https://blog.markkulab.net/post/upgrade-to-ga4-parts-2"
author: "Mark Ku"
author_url: "https://blog.markkulab.net/author/mark-ku"
site: "Mark Ku's Blog"
date_published: "2025-01-06 01:01:02 +0800"
category: "Google Analytics"
tags: ["ga4", "gtm", "google tag manager", "events", "ecommerce", "tracking"]
language: "zh-TW"
license: "CC BY 4.0"
license_url: "https://creativecommons.org/licenses/by/4.0/"
attribution: "轉載或引用請註明作者並附上原文連結"
---

# GA4 升級筆記 Part's 2 - 事件

## GA 與  GTM 的關係

### **Google Analytics (GA)**  
GA 是一款網站分析工具，主要用於收集並分析用戶行為數據。透過 GA，您可以深入了解網站訪問量、用戶行為、轉換率等數據。而 GA 的報表數據，通常是透過 Google Tag Manager (GTM) 傳送的。

### **Google Tag Manager (GTM)**  
Google Tag Manager (GTM) 是在 2012 年 10 月 1 日 正式推出的。它是 Google 為了解決網站標籤管理的複雜性而開發的工具，旨在讓行銷人員和網站管理員能更方便地管理追蹤代碼和標籤，而不需要頻繁依賴工程師修改程式碼，GTM 就像為網站開啟了一扇靈活的 JavaScript 後門。

## 在談到 GA 事件前，我們必須在網站先埋設追蹤代碼 
進入 GA4，按照以下路徑操作：
1. **設定** → **資料收集和修改** → **選擇資料串流**。
2. 點擊 **代碼設定** → **安裝操作說明** → 選擇 **手動安裝**，並將提供的程式碼嵌入網站。

![add tracking code](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-tracking-code.png)

#### **注意** GTM 的容器 ID 和 GA 的評估 ID 很容易混淆。

以下是兩者的比較：

| **特性**         | **GA 評估 ID**                        | **GTM 容器 ID**                   |
|------------------|---------------------------------------|-----------------------------------|
| **功能**         | 用於追蹤和分析數據                  | 用於管理和部署多個標籤            |
| **格式**         | `UA-XXXXXX-Y` / `G-XXXXXXXXXX`       | `GTM-XXXXXXX`                     |
| **直接部署方式** | 嵌入 GA 追蹤代碼                    | 嵌入 GTM 容器代碼                 |
| **靈活性**       | 僅能追蹤單一工具數據                | 支援多個工具的標籤管理            |
| **適用對象**     | 偏向技術人員或需求簡單的網站          | 適合需要頻繁調整標籤的行銷團隊    |

如果你的需求只是單純追蹤 GA 數據，且網站結構簡單，可以直接使用 **GA 評估 ID**；但如果需要管理多個標籤（如 GA、Facebook Pixel、AdWords 等），或經常進行測試與調整，使用 **GTM 容器 ID** 會更靈活。

## **GA4 的事件分類**
GA4 的事件分成四大類，我們可以根據需求選擇適合的事件類型。

### [1. **自動蒐集事件**](https://support.google.com/analytics/answer/9234069?hl=zh-Hant&ref_topic=9756175)
這類事件無需額外設定，只要嵌入 GA4，就會自動開始收集。例如：頁面瀏覽（Page View）。

### [2. **加強型測量事件**](https://support.google.com/analytics/answer/9216061?hl=zh-Hant&ref_topic=9756175)  
需要在資料串流中開啟「加強型測量」，啟用後會自動收集常見互動數據，例如：
  - 滑動捲動（Scroll）
  - 外部連結點擊（Outbound Clicks）
  - 站內搜尋（Site Search）> 依據 url 的參數 
  - 影片參與（Video Engagement）
  - 檔案下載（File Download）

![enable measurement events](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/enable-measurement-events.png)

### [3. **建議事件**](https://support.google.com/analytics/answer/9267735?hl=zh-Hant&ref_topic=9756175)
建議事件需要依照官方指引進行設定，並透過埋設程式碼將資料送到 GA。例如：
- 登入（Login）
- 登出（Logout）
- 訂購（Order）
- [電子商務事件（Ecommerce Events）](https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtag&hl=zh-tw)

針對電子商務網站，以下是常見的建議事件：
- `view_item_list`: 商品列表瀏覽  
- `view_item`: 商品詳情瀏覽  
- `add_to_cart`: 將商品加入購物車  
- `add_payment_info`: 填寫付款資訊  
- `purchase`: 完成購買  

詳細指引請參考 [官方文件](https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm&hl=zh-tw#view_item_details)。

### [4. **自訂事件**](https://support.google.com/analytics/answer/12229021?hl=zh-Hant&ref_topic=9756175)
如果預設事件和建議事件無法滿足需求，可以透過自訂事件來蒐集客製化數據，並生成符合業務需求的報表。

自訂事件的應用範例：
- 分析用戶喜歡點擊的按鈕類型。
- 追蹤用戶偏好的登入方式（例如 Google、Facebook、Email）。

## 接著，我們將 建議事件/自訂事件的參數透過 GTM 傳遞到 GA
### 1. 在網站前端透過 gtag 將商品傳遞參數至 GTM ，以 add_to_cart 為例
```
gtag('event', 'add_to_cart', {
  currency: 'USD', // 幣別
  value: 29.99, // 總價值
  items: [
    {
      item_name: 'Gaming Keyboard', // 商品名稱
      item_id: 'SKU12345', // 商品 ID
      price: 29.99, // 商品價格
      quantity: 1, // 商品數量
      item_brand: 'HYTE', // 品牌
      item_category: 'Peripherals', // 類別
      item_variant: 'Black', // 商品變體
    },
  ],
});
```


### 2. 接著，我們先訪問 [Google tag manager](https://tagmanager.google.com/)，設定變數 -> 變數 -> 新增 
依據傳入參數屬性，逐一建立變數，以傳遞給GA的事件參數
![add variable](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-variable.png)

### 3. 設定觸發條件 -> 觸發條件 -> 新增 
![add trigger](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-trigger.png)

### 4. 至代碼管理工具 -> 代碼 -> 新增 
![add code.png](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-code.png)

P.S. 在看GA4 範例時，會看到 gtag 與 dataLayer ，其實 dataLayer 是 gtag.js 的基礎，gtag.js 的運作基於 dataLayer，當你呼叫 gtag() 函數時，它實際上是將參數推送到 dataLayer 中，並傳遞到相關的 Google 工具。

## GTM　事件除錯
如果你想確認 JavaScript 是否正確傳送到 GTM，可以使用 **[Tag Assistant](https://tagassistant.google.com/)** 進行除錯。  

## 如果是自訂事件，接著回到 GA ，透過自訂維度，將事件接起來，這樣就可以在自訂報表中使用自訂的維度。

管理(左下角) > 資料顯示 > 自行訂義  > 建立自訂維度> 

![find add dimension in menu ](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/find-add-dimension-in-menu.png)

![add dimension](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-dimension.png)

## GA 除錯
回到GA > Analytic Debug view  -> 側邊欄 -> 管理(左下角) -> debugView 
![analytic debug view](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/analytic-debug-view.png)

## 額外補充 - 透過 GTM 加載第三方JS Clarity JS
**Microsoft Clarity** 是一個免費的用戶行為分析工具，能夠幫助你了解用戶如何與網站互動。以下是如何透過 GTM 加載 Clarity JS 的步驟：

### 步驟 1： 觸發條件 > 新增
在 GTM 中，建立一個觸發條件，例如「所有網頁」，或依據需求設定特定條件。如下圖所示：

![add trigger for load js](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-trigger-for-load-js.png)

### 步驟 2： 代碼 > 新增
![add code for load js](https://blog.markkulab.net/content/markku/posts/upgrade-to-ga4-parts-2/images/add-code-for-load-js.png)

```html
<script type="text/javascript">
(function(c,l,a,r,i,t,y){
    c[a]=c[a]||function(){
        (c[a].q=c[a].q||[]).push(arguments)
    };
    t=l.createElement(r); t.async=1; 
    t.src="https://www.clarity.ms/tag/"+i;
    y=l.getElementsByTagName(r)[0];
    y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "h6t6k0bky81");
</script>
```

注意：將 `h6t6k0bky81` 替換為你自己的 Clarity 專案 ID。

### **步驟 3：提交並發佈**
完成觸發條件和標籤設定後，進行以下操作：
1. 點擊 GTM 的 **提交** 按鈕。
2. 在變更說明中填寫「新增 Clarity 標籤」。
3. 發佈變更。

## 參考資料
* [Measure ecommerce](https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm)
* [Google Analytics 4 實現電子商務事件设定](https://www.haranhuang.com/google-analytics-4-implements-e-commerce-event-setup.html)
* [評估電子商務](https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm&hl=zh-tw#view_item_details)
* [Google 代碼 API 參考資料](https://developers.google.com/tag-platform/gtagjs/reference?hl=zh-tw#event)
* [新版 GA4 官方建議事件清單說明與教學，一次就上手！](https://www.turingdigital.com.tw/blog/ga4-recommended-events)

---

## 關於本文與作者

本文出自 [Mark Ku's Blog](https://blog.markkulab.net/post/upgrade-to-ga4-parts-2)

授權條款： [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) — 轉載或引用請註明作者並附上原文連結

### 關於作者

**[Mark Ku](https://blog.markkulab.net/author/mark-ku)** — Software Solution Provider

- 10+ 年資深軟體工程師，現為 AI 應用 Builder
- 專注大型平台架構設計，從北美電商到AI SaaS訂閱收費系統
- 結合 AI Agent 與自動化，打造高效可演進的產品技術基礎

### 作者開發的免費工具

以下工具皆可免費使用：

- [免費 PDF 簽名工具](https://blog.markkulab.net/tools/pdf-sign): 線上 PDF 簽名工具，瀏覽器內完成手繪、打字、上傳簽名，可拖曳放置、縮放、下載。所有處理都在你的裝置完成，檔案不會上傳。
- [VS Code Refactory](https://blog.markkulab.net/tools/refactory): Refactory 是一款 VS Code 重構擴充套件：34 個重構動作、37 條 code smell 檢查、Code Health 儀表板、18 種語言、534 支測試。懂你的專案慣例：介面放哪、DI 註冊寫在哪、'use client' 該不該加；還會用 git 修改頻率 × 複雜度排出「該先修哪個檔案」，並一鍵把壞味道交給你自己電腦上的 Claude Code 修。免費使用，原始碼不離開你的機器。
- [DB-Kit 資料庫管理工具](https://blog.markkulab.net/tools/db-kit): DB-Kit 是一個用 Tauri + Rust + React 打造的輕量跨平台資料庫管理工具，用單一一致的介面同時管理 MySQL、MariaDB、PostgreSQL、SQL Server、Oracle、SQLite、MongoDB、Redis、Kafka、Elasticsearch 與 RabbitMQ 十一種資料來源：連線密碼以 OS keychain 加密、SSH Tunnel、完整 CRUD、視覺化查詢建構器、多結果集同時顯示、跨連線資料傳輸與比對同步、Excel / CSV 匯入匯出、執行計畫視覺化、ER 圖、排程備份、SQL 壓力測試（p50～p99 延遲百分位）、15 條規則的 SQL 審查、Kafka 訊息瀏覽與監控告警；繁中 / 英文雙語介面，內建 AI 助手（自然語言生成 SQL、AI 審查與調校建議）與命令列工具 dbk。免費開源（MIT），提供 Windows / macOS / Linux 安裝檔。
- [VS Code Super Mermaid](https://blog.markkulab.net/tools/super-mermaid): Super Mermaid 是一款 VS Code 擴充套件：開箱即用的漂亮 Mermaid 圖表，自動上色、即時預覽、滑鼠平移縮放、PNG / SVG 高解析匯出，內建 21 種範本與多種主題。免費開源（MIT）。
- [React Super Mermaid](https://blog.markkulab.net/tools/react-super-mermaid): react-super-mermaid 是一個開源 React 元件庫：一行 <MermaidViewer> 即可渲染漂亮的 Mermaid 圖表，內建 colorful / sketch 主題、平移縮放、圖內搜尋、SVG / PNG 高解析匯出。輕量、SSR 安全、完整 TypeScript 型別。免費開源（MIT）。
- [Jira / Confluence Super Mermaid](https://blog.markkulab.net/tools/jira-super-mermaid): Atlassian Forge app：在 Jira issue 與 Confluence 內文直接寫 Mermaid 語法，畫流程圖、時序圖、狀態機與甘特圖。11 種圖表、SVG / PNG 匯出、明暗主題、完整中日韓文字支援。取得 Runs on Atlassian 資格：圖表存在你自己的站台，app 不呼叫任何第三方服務。免費，即將上架 Atlassian Marketplace。
- [Mermaid 線上預覽](https://blog.markkulab.net/tools/mermaid-preview): 在瀏覽器裡寫 Mermaid、即時看圖，整張圖表壓進網址就能分享。免註冊、不上傳伺服器，相容 mermaid.live 的分享連結。
- [React Intl Phone Number](https://blog.markkulab.net/tools/react-intl-phone-number): react-intl-phone-number 是一個開源 React 元件：framework-agnostic、不依賴 antd，提供 E.164 進出、可搜尋國旗 / 國碼下拉、可配置驗證等級（strict / mobile-strict / loose）、可主題化 CSS 與 i18n，電話邏輯由 google-libphonenumber 驅動。輕量、完整 TypeScript 型別。免費開源（MIT）。
- [Uptime Kuma Cluster](https://blog.markkulab.net/tools/uptime-kuma-cluster): 把單機版 Uptime Kuma 改造成高可用叢集：OpenResty + Lua 智慧負載平衡、MariaDB 共享狀態、健康檢查與自動 Failover，附叢集管理 REST API，一行 Docker Compose 啟動。免費開源（MIT）。
- [特教專案](https://blog.markkulab.net/education): 為特殊教育學生製作的學習教材

### 每日 Podcast

- [科技新鮮事](https://blog.markkulab.net/category/tech-news): 每日精選 AI 與科技趨勢，透過語音摘要快速掌握最新技術動態，涵蓋 AI 應用、軟體架構、DevOps 與工程實戰。 — RSS: https://blog.markkulab.net/feed.xml
- [AI股市蝦聊](https://blog.markkulab.net/category/ai-stock-chat): 每個交易日用 AI 分析台股盤勢，以雙人對話聊當天的盤中觀察與隔日預測。 — RSS: https://blog.markkulab.net/ai-stock-chat/feed.xml

### 電子報

[訂閱電子報](https://blog.markkulab.net/subscribe) — 第一時間收到新文章通知，無垃圾信、隨時可取消訂閱。
