如果你已經裝好 GTM,那麼用 GTM Meta 像素 的方式安裝,比直接改網站原始碼更聰明:所有像素代碼集中在容器裡管理,日後要新增事件、調整觸發時機,都不用再麻煩工程師。
這篇會帶你用 GTM 完成兩件事:把 Meta 像素基礎程式碼 裝在全站,並把「預約送出」這類動作送成 Lead 標準事件,全程不動原始碼。
你需要:已安裝好的 GTM 容器(GTM-XXXXXXX)、Meta 的 像素 ID(在 事件管理工具 取得),以及對 GTM 預覽模式的基本操作。
步驟一:在 GTM 放 Meta 像素基礎程式碼
基礎程式碼要在每頁載入並送出 PageView。在 GTM 用「自訂 HTML」代碼放它最直接。
- 1
新增自訂 HTML 代碼
在 GTM 點「新增代碼 > 代碼設定」,選「自訂 HTML」。
- 2
貼上基礎程式碼
把 Meta 事件管理工具提供的基礎程式碼整段貼入,記得確認裡面的
fbq('init', '你的像素ID')已是正確的 像素 ID。 - 3
設定觸發條件為所有頁面
觸發條件選「All Pages(所有頁面)」,讓每頁都載入像素並送出
PageView。命名為Meta Pixel - 基礎碼後儲存。
GTM 的「社群範本庫(Template Gallery)」有 Facebook/Meta 像素的官方或社群範本,填入像素 ID 即可,比手貼 HTML 更不易出錯,推薦新手使用。
步驟二:建立『預約送出』的觸發條件
接著要追蹤轉換。以「健身體驗報名」按鈕為例,我們用點擊來觸發事件。
- 1
開啟點擊變數
到「變數 > 設定內建變數」,勾選
Click Element、Click Text、Click URL等點擊類變數。 - 2
用預覽模式抓按鈕特徵
進入預覽,點一下報名按鈕,從 Tag Assistant 看這次
gtm.click的Click Text(如「立即報名」)或Click Classes,找出能唯一辨識它的條件。 - 3
建立觸發條件
新增一個「僅某些點擊」的觸發條件,例如:
Click Text等於立即報名。命名為點擊-體驗報名後儲存。
用按鈕點擊觸發,代表「按了」就算一次,未必等於「真的送出成功」。若報名可能失敗,更可靠的做法是讓網站在成功時 push 一個 dataLayer 事件,再用它觸發。
步驟三:送出 Lead 標準事件
- 1
新增事件代碼
再建一個「自訂 HTML」代碼,內容為
<script>fbq('track', 'Lead');</script>。 - 2
綁定觸發條件
觸發條件選剛剛建好的
點擊-體驗報名。命名為Meta Pixel - Lead後儲存。 - 3
確認載入順序
若擔心事件比基礎碼早跑,可在事件代碼的「進階設定 > 代碼順序」設定它在
Meta Pixel - 基礎碼之後才執行。
| OMO 動作 | 建議標準事件 | 觸發方式 |
|---|---|---|
| 診所線上預約 | Lead | 預約成功 dataLayer 事件 |
| 健身體驗報名 | CompleteRegistration | 按鈕點擊或成功頁 |
| 餐廳線上訂位 | Schedule | 訂位完成頁 |
步驟四:驗證並提交
- 1
GTM 預覽確認觸發
用預覽模式走一次流程,確認
Meta Pixel - 基礎碼在每頁 Fired、Meta Pixel - Lead在按鈕點擊後 Fired。 - 2
用 Pixel Helper 與測試事件交叉驗證
開啟 Meta Pixel Helper 看是否偵測到
PageView與Lead,同時在事件管理工具的「測試事件」確認伺服器有收到。 - 3
提交發布
一切正確後,回 GTM 點「提交」建立版本,追蹤才會對所有訪客生效。
常見問題
用 GTM 裝 Meta 像素和直接貼原始碼,效果一樣嗎?
追蹤效果一樣,但 GTM 更好維護:新增事件、改觸發條件都在後台完成,不用每次改網站原始碼,也有版本控管可還原。
為什麼 Pixel Helper 顯示重複觸發 PageView?
通常是基礎碼被裝了兩次,例如原始碼和 GTM 都各放了一份。請擇一保留,避免事件重複計算與資料失準。
GTM 也能裝 Meta 的轉換 API(CAPI)嗎?
瀏覽器端像素用網頁版 GTM 即可;CAPI 屬伺服器端,需搭配 Server-side GTM 或後端整合。兩者並用並做事件去重,追蹤最完整。
用按鈕點擊觸發,會不會算不準?
可能會。按下不等於送出成功。若流程可能失敗,最可靠的是請網站在成功當下 push 一個 dataLayer 事件,再用它觸發像素事件。