有問題可以在文章底部留言

如何使用 dataLayer.push 進行事件追蹤?

Google Analytics Haran 3年前 (2023-02-06) 7325次瀏覽 0條留言

更新時間:2026年6月8號

如果你希望在GTM中追蹤按鈕點擊、會員登入、表單送出、購物車操作等互動事件,dataLayer.push是最推薦、也是最穩定的做法之一。

相較於直接透過CSS Selector或DOM元素判斷事件,dataLayer.push不受網頁版型變動影響,因此更適合大型網站、SPA(單頁式應用程式)以及電商網站。

本篇將一步一步教你如何:

  • 了解dataLayer.push的運作原理
  • 撰寫dataLayer.push程式碼
  • 在GTM建立Data Layer Variable
  • 建立自訂事件觸發條件
  • 將事件送至GA4
  • 在GA4建立自訂定義

完成後,你便能將任何網站互動事件穩定傳送到GA4。

什麼是dataLayer.push?

dataLayer.push是GTM最常使用的資料傳遞方式。

當網站發生某個事件(例如按鈕點擊、登入成功、加入購物車等),網站會透過JavaScript將資料推送到Data Layer(資料層)

GTM偵測到Data Layer中新增的資料後,就會依照設定的觸發條件,自動執行對應的Tag,例如GA4 Event、Google Ads Conversion或Meta Pixel。

整個流程如下:

使用者操作網站 → JavaScript 執行 dataLayer.push → GTM 接收事件 → 觸發 Tag → 資料送至 GA4

哪些情境適合使用 dataLayer.push?

dataLayer.push 幾乎適用所有事件追蹤,尤其推薦以下情境:

  • SPA(Single Page Application,單頁式應用程式)
  • PWA(Progressive Web App,漸進式網頁應用)
  • 自訂互動事件追蹤
  • 電商行為追蹤
  • AJAX 動態載入內容
  • 前後端分離架構網站

 

使用dataLayer.push的優點

相較於 Click Element 或 CSS Selector 等追蹤方式,dataLayer.push 有以下優勢:

  • 追蹤資料較精準且穩定
  • 不受 HTML 或 DOM 結構變動影響
  • 可自由傳送多個事件參數
  • 易於維護與擴充
  • 特別適合 SPA、PWA 與大型網站

使用 dataLayer.push 的缺點

雖然 dataLayer.push 十分穩定,但仍有一些限制:

  • 需要網站工程師協助埋設程式碼
  • 前後端需先溝通事件規格
  • 開發與測試成本較高

不過,若網站有長期經營規劃,仍建議優先採用 dataLayer.push,而不是依賴 DOM 點擊判斷。

dataLayer.push 基本語法

以下是最基本的 dataLayer.push 寫法::

dataLayer.push({
  'event': 'customize',
  'color': 'red',
  'conversionValue': 50
  
});

各欄位說明如下:

參數 說明
event 事件名稱(必要)
color 自訂事件參數(可選)
conversionValue 自訂事件參數(可選)

其中,event是GTM判斷是否觸發Tag的依據,因此一定要設定。

其餘欄位則可依實際需求自由命名。

實作範例

假設要追蹤使用者點擊某個按鈕。

如何使用 dataLayer.push 進行事件追蹤?

當使用者點擊按鈕時,網站執行:

dataLayer.push({
 'event': 'datalayer_push_method',
  'color': 'red',
  'clickValue': 1    });

參數說明:

參數
event datalayer_push_method
color red
clickValue 1

事件名稱與參數名稱都可以依照需求自行定義。

 

Step 1:請工程師加入dataLayer.push程式碼

首先,需要由網站工程師在指定互動發生時執行:

dataLayer.push({
    'event': 'datalayer_push_method',
    'color': 'red',
     'clickValue': 1    });

當程式執行後,資料便會推送至 Data Layer,等待 GTM 接收。

 

Step 1:建立資料層變數(Data Layer Variable)

接著需要在GTM中建立對應的資料層變數。

在GTM中點擊「變數」——「新增」——「請選擇變數類型以開始設定…」——「資料層變數」,命名為 “dlv-color”, 然後做如下設定:

如何使用 dataLayer.push 進行事件追蹤?

 

同理設定 dlv-clickValue。

注意:dlv為Data Layer Variable的縮寫,是GTM常見的命名方式,有助於快速辨識變數來源。

 

Step 3:建立觸發條件

在GTM中點擊「觸發條件」——「新增」——「請選擇觸發類型以開始設定…」——「自訂事件」,命名為 “DataLayer Push”, 然後做如下設定:

如何使用 dataLayer.push 進行事件追蹤?

當dataLayer.push發送的event名稱符合設定值時,即會觸發標籤。

 

Step 4:建立GA4事件標籤

在GTM中點擊「代碼」——「新增」——「請選代碼發類型以開始設定…」——「Google Analytics (分析):GA4 事件」,命名為 “Event Tracking-DataLayer Push (dataLayer.push method)”, 然後做如下設定:

如何使用 dataLayer.push 進行事件追蹤?

 

Step 5:預覽與測試

完成設定後,建議先進行測試驗證

如何使用 dataLayer.push 進行事件追蹤?

若設定正確,可以看到事件如預期觸發。

 

Step 6:在GA4建立自訂定義

雖然事件已成功送至GA4,但GA4不會自動將自訂事件參數加入報表。

若希望在探索報表中分析這些資料,還需要建立自訂定義

這個事件有事件層級自訂維度和事件層級自訂指標:

  • color是事件層級自訂維度
  • click_value 是事件層級自訂指標

註冊color,在GA4中,點擊「管理」——「自訂定義」——「建立自訂維度」, 然後做如下設定:

如何使用 dataLayer.push 進行事件追蹤?

接下來註冊click_value,在GA4中,點擊「管理」——「自訂定義」——「自訂指標」——「建立自訂指標」, 然後做如下設定:

如何使用 dataLayer.push 進行事件追蹤?

 

完成後,GA4 便能在報表中分析這些事件參數。

提醒: 自訂定義建立後,通常需要等待約 24~48 小時,相關資料才會開始出現在 GA4 標準報表中。

 

常見問題(FAQ)

dataLayer.push 一定要有 event 嗎?

是。

event 是GTM判斷是否觸發的依據,若未設定event,GTM就無法透過自訂事件觸發對應的Tag。

 

event 以外的參數可以自由命名嗎?

可以。

除了event外,其餘事件參數(例如 color、clickValue、product_id、member_type 等)都可依專案需求自行命名。

 

dataLayer.push 適合哪些網站?

幾乎所有網站都適用,尤其推薦SPA、React、Vue、Angular、Next.js、Nuxt、電商網站、前後端分離網站

總結

dataLayer.push是GTM最推薦的事件追蹤方式之一。

透過 網站 → Data Layer → GTM → GA4 的流程,不僅能建立穩定且易於維護的事件追蹤架構,也能避免因網頁版型調整而導致追蹤失效。

若你的網站採用 SPA、PWA、React、Vue 或其他前後端分離架構,建議優先採用 dataLayer.push 搭配GTM與GA4,建立更可靠且可擴充的事件追蹤機制。


如果您在操作上仍有任何疑問,歡迎留言交流,或加入:Google Analytics 4交流社團發問
Like (0)
發佈我的留言
取消留言
表情 贴图 加粗 删除线 居中 斜体

Hi,*为發佈留言必須填寫。

  • 顯示名稱*
  • 電子郵件地址*
  • 個人網站網址