W whoops.tw

WordPress GTM + GA4 串接教學:從安裝到事件追蹤的完整數據分析實戰

在 WordPress 上串接 Google Tag Manager 與 GA4,最穩當的做法是三層分工:GTM 當容器統一發碼、用免費外掛 GTM4WP 把容器注入佈景主題、GA…

在 WordPress 上串接 Google Tag Manager 與 GA4,最穩當的做法是三層分工:GTM 當容器統一發碼、用免費外掛 GTM4WP 把容器注入佈景主題、GA4 負責收資料,而不是把 GA4 追蹤碼直接貼進主題檔案。根據 Google Analytics 說明中心的說明,GA4 的加強型評估功能預設會自動收集網頁瀏覽、捲動、站內搜尋、影片參與與檔案下載共五類事件,所以你不需要為了這些基礎事件再寫程式。整套架構裝好之後,未來要加 Meta Pixel、Google Ads 轉換、自訂 GA4 事件,都不必再動到 WordPress 的主題檔案。

重點先看:WordPress 串接 GA4 不該直接貼碼,而是用 GTM 當容器、GTM4WP 注入、GA4 收資料;GA4 預設自動收集 5 類加強型評估事件。

GTM 和 GA4 各自負責什麼

GTM 是代碼管理容器,負責「把各種追蹤碼統一放進網站」;GA4 是分析平台,負責「接收並呈現資料」。兩者是合作關係,根本不是二選一。很多人會把「裝 GA4」和「裝 GTM」混為一談,以為選一個就好,結果不是直接把 GA4 代碼貼進 header.php,就是一口氣裝了好幾個分析外掛,到頭來工作階段數爆衝、數字對不起來。對 GTM 定位還有點模糊的話,可以先讀過 GTM 是什麼把基本觀念釐清。

實務上重複計算最常發生在這個情境:站長剛架好站,興奮地裝了 Site Kit,又聽人家說要用 GTM,又手動貼了一段 GA4 代碼到主題裡,三條路徑同時發 page_view。這是最常見的地雷,而要避開它,重點是建立一套可驗證、可擴充、不重複計算的代碼管理架構。這套架構由三層分工組成:第一層是 GTM 容器,它是所有追蹤碼的集中管理介面,你在 GTM 後台新增、修改、停用代碼,完全不用碰 WordPress;第二層是 GTM4WP 外掛,它負責把 GTM 容器代碼塞進佈景主題的 head 與 body,同時建立 dataLayer 資料層;第三層才是 GA4,它只負責接收資料、產出報表。想深入了解 GTM 本身的運作邏輯,可以先看過GTM Google 代碼管理工具完整教學

項目GTMGA4
定位代碼管理容器網站分析平台
主要功能統一發送各種追蹤碼接收資料並計算報表
會不會自己產生報表不會
放進 WordPress 的方式透過外掛注入由 GTM 代碼觸發
未來擴充性新增代碼不必改主題接收 GTM 傳來的事件

把 GTM 的內部結構拆開來看,會更清楚它為什麼能勝任這個角色。GTM 由四個核心元件組成:代碼(Tag)是實際送到瀏覽器執行的腳本,例如 GA4 設定代碼、Meta Pixel;觸發條件(Trigger)決定代碼什麼時候發送,例如「所有網頁瀏覽」「特定按鈕點擊」;變數(Variable)是可重複使用的值,例如量測 ID、按鈕文字、網址路徑;資料層(dataLayer)則是網站與 GTM 之間的訊息交換區。理解這四個元件的分工,後面所有設定都會有跡可循,因為每一個代碼都脫離不了「在什麼時機、用什麼資料、送什麼出去」這套邏輯。

GA4 的帳號結構同樣有層級,弄混層級會讓權限與資料混亂。GA4 從上到下分為「帳號」「資源」「資料串流」:帳號通常對應一家公司或一個品牌;資源是一個帳號下的分析單位,常見做法是每個網站或每個 App 開一個資源;資料串流是最底層,一個資源可以有多個資料串流(網站串流、iOS App 串流、Android App 串流),量測 ID(G-XXXXXXX)就是在這一層產生的。GTM 這邊則是帳號、容器、代碼的從屬關係,容器 ID(GTM-XXXXXXX)在容器層級產生。把這兩組層級記清楚,多人協作時才知道在哪一層設定權限、在哪一層取得 ID。

三種安裝方式的決策矩陣

把 GA4 裝上 WordPress,實務上有三條路徑:手動貼碼、Site Kit 外掛、GTM 加 GTM4WP。三條路徑各有適用情境,沒有絕對的優劣,取捨的關鍵在於「你的網站未來會長到多大、會接幾種追蹤碼」這個問題。三條路徑可以放在六個評估維度上比較,依網站現況對照就能選出適合的一條。

評估維度手動貼碼 header.phpSite Kit 外掛GTM 加 GTM4WP
上手難度中等,需會改主題檔案極低,一鍵授權中等,要學 GTM 介面
未來擴充性差,每加一個碼都要改主題有限,僅綁 Google 產品高,所有代碼集中管理
主題更新風險高,更新易覆蓋手動修改低,外掛獨立運作低,外掛獨立運作
觸發條件控制無,全程載入無,全程載入細,可逐事件設定
多平台代碼支援僅手動加入的碼僅 Google 系支援 Meta、TikTok、Ads 等
適合的網站階段過渡期或極簡站新手、小型內容站成長中、要追轉換的站

從矩陣可以看出一個規律:如果網站只會停在「看流量數字」這個階段,Site Kit 完全夠用,它的優勢在於把 Search Console、AdSense、PageSpeed 一併拉進 WordPress 後台,省去切換介面的麻煩;只要計畫追蹤按鈕點擊、表單、購物事件,或要整合 Meta Pixel、Google Ads 轉換,GTM 加 GTM4WP 的組合從第一天就該上場,因為日後從 Site Kit 遷移到 GTM 的成本,遠高於一開始就選 GTM。手動貼碼只適合過渡期或極簡網站,長期使用幾乎一定會被主題更新覆蓋掉,每次更新都要重新貼,是維護負擔最高的選項。

市場採用狀況也值得參考。Google Analytics 是目前市佔最高的網站流量分析工具,根據 W3Techs 的調查,在已知流量分析工具的網站中有 81.8% 採用 Google Analytics,佔全部網站的 46.6% [來源:〈W3Techs — Usage Statistics and Market Share of Google Analytics〉〈https://w3techs.com/technologies/details/ta-googleanalytics〉〈2026-06-29〉]。選 GA4 等於選了一個被將近半數網站驗證過的主流方案,文件資源、社群支援、與其他工具的串接生態都最完整,遇到問題幾乎都查得到答案。

架站本身還沒搞定的話,建議先把WordPress 架站新手五步驟走完,再回來處理追蹤碼,順序會順很多。

事前準備:申請 GA4 資源與 GTM 容器

開始串接前,你要在 Google 後台先準備好兩樣東西:一個 GA4 資源,拿到「G-XXXXXXX」量測 ID;一個 GTM 容器,拿到「GTM-XXXXXXX」容器 ID。這兩組 ID 是後面所有設定的核心,少了任何一組都串不起來。G- 開頭與 GTM- 開頭的命名規範是 Google 官方定的,看到前綴就能立刻判斷這是 GA4 量測 ID 還是 GTM 容器 ID。

具體流程是:先到 Google Analytics 建立「資源」,選 Web 平台,填入你的 WordPress 網址,建完之後在「資料串流」裡就會看到一組 G- 開頭的量測 ID;接著到 Google Tag Manager 建立「容器」,一樣選 Web,建完會拿到 GTM- 開頭的容器 ID。如果你對 Google Analytics 整體還很陌生,GA4 是什麼會先把基礎觀念講清楚,Google Analytics 完整教學與四大報表可以幫你快速建立概念。若有多個網站,每個網站建議獨立一組 GA4 資源與 GTM 容器,避免資料混在一起。

這裡有個小提醒:GA4 的「加強型評估」是預設開啟的,它會自動收集網頁瀏覽、捲動、站內搜尋、影片參與、檔案下載共五類事件,你完全不必自己寫程式。所以很多人以為「要追蹤捲動得寫 code」,其實只要勾起來就有了。如果你想再追蹤更細的行為,例如 AI 流量來源,可以參考GA4 追蹤 ChatGPT 與 AI 流量來源的做法。把 GA4 工作階段怎麼算、跟舊版 Universal Analytics 差在哪搞清楚,會幫你少走很多冤枉路,報表讀不懂的話,GA 報表新手必學的數據解讀技巧會從基本概念講起。

用 GTM4WP 把容器裝進 WordPress

GTM 容器要放進 WordPress,最乾淨的做法是裝免費外掛 GTM4WP(Google Tag Manager for WordPress)。它在 WordPress.org 外掛庫上架,是免費開源外掛,安裝人數龐大、維護穩定。在設定頁填入 GTM 容器 ID 之後,外掛會自動把容器代碼注入佈景主題的 head 與 body,你不必動一行程式碼。這比手動改 header.php 安全太多了,主題更新的時候也不會被覆蓋掉。

安裝流程很直覺:從 WordPress 後台「外掛 → 安裝外掛」搜尋「GTM4WP」,找到 Google Tag Manager for WordPress 這個外掛,點安裝並啟用。啟用之後進入 GTM4WP 設定頁,把你的 GTM-XXXXXXX 容器 ID 填進「Google Tag Manager ID」欄位,儲存就完成。容器代碼的放置方式維持預設即可,外掛會自動處理 head 與 body 兩段代碼的擺放位置。GTM4WP 不只是把容器塞進去而已,它還會順手建立 dataLayer 資料層,把 WordPress 的登入狀態、文章類型、文章 ID、分類標籤這類資訊推進去,這對之後做用 GTM 追蹤 LINE 按鈕點擊事件這類自訂事件非常有用。裝完先別急著發布任何代碼,確認外掛設定儲存成功、容器 ID 無誤再往下走。

少數主題跟 GTM4WP 的 dataLayer 處理方式合不來,例如某些大量使用 jQuery 的舊主題會有衝突,這種時候可以改用主題本身提供的 GTM 欄位(不少商業主題都有),或退一步手動放置。挑外掛的時候,WordPress 必裝外掛完整清單可以當參考;想用 Elementor 做表單,Elementor Pro 表單製作教學會提到資料層事件的串接。

dataLayer 資料層深入解析

dataLayer 是整套架構裡最容易被忽略、卻最關鍵的一塊。它本質上是一個 JavaScript 陣列,網站把資料 push 進去,GTM 再從裡面讀取出來當變數或觸發條件。你可以把它想成網站與 GTM 之間的留言板:網站留言說「現在這個人是登入狀態」「這篇文章屬於教學分類」,GTM 看到留言就能據此決定要不要發某個代碼。GTM4WP 啟用後會自動推入一批實用的 WordPress 資訊,常見欄位如表格所列,實際內容會依外掛版本與主題略有差異。

dataLayer 變數代表的資訊常見用途
pagePostType文章類型(post、page、product)依類型觸發不同代碼
pagePostType2文章分類或自訂分類依分類細分事件
visitorLoginState訪客登入狀態排除已登入者的內部流量
pageTitle網頁標題報表標籤或觸發條件
event事件名稱(如 gtm.dom)觸發時機判斷

這些欄位最實用的情境是排除內部流量。網站站主與編輯每天會造訪自己網站很多次,這些瀏覽會污染資料。透過 visitorLoginState 這個欄位,你可以在 GTM 設定一條規則:當訪客處於登入狀態時,不要發送 GA4 page_view 代碼。做法是建立一個觸發條件的例外情況(Exception),把 visitorLoginState 等於「logged-in」設為排除條件,再套用到 GA4 設定代碼上,所有登入後台的人員瀏覽就不會進報表,數字會乾淨很多。另一個常見用途是依文章類型分類事件:如果網站同時有部落格文章(post)與商品頁(product),可在 GA4 把 pagePostType 註冊成自訂維度,報表就能依「文章」與「商品」分開看瀏覽量,釐清哪一種內容帶來的流量結構。dataLayer 的威力在於它把 WordPress 的語意資訊轉成 GTM 讀得到的結構化資料,讓你能用「網站的邏輯」來分類資料,而不只是用網址。

在 GTM 串接 GA4 並發布代碼

GTM 容器裝好之後,接著要在 GTM 後台新增一個代碼,讓 GA4 開始收到資料。做法是新增「Google Analytics:GA4 設定」代碼(新版 GTM 改用「Google 代碼」,系統會自動偵測 GA4 量測 ID),把 G-XXXXXXX 填進去,觸發條件設為「All Pages 所有網頁瀏覽」,確保每個頁面都會載入 GA4。設定完一定要點右上角「提交 → 發布」,容器沒發布代碼就不會生效,這一步超多人漏掉。

很多人設完代碼就直接關掉視窗,然後隔天看 GA4 報表還是空的,以為是設定錯了,其實九成是忘了發布容器。GTM 的設計是改動要先「提交」才會正式上線,這跟一般設定即時生效的工具不一樣,需要一點時間適應。發布之後,GTM4WP 注入的容器才會實際把 GA4 代碼送進瀏覽器。提交時 GTM 會要你寫一個版本名稱與說明,建議養成習慣寫清楚這次改了什麼(例如「新增 GA4 代碼、觸發 All Pages」),日後回溯改版紀錄會輕鬆很多。容器版本管理是 GTM 很被低估的功能,一個常被改來改去的容器,沒有清楚的版本說明,久了會變成沒人敢動的黑箱。

這裡常見一個抉擇:要不要乾脆用 Google 官方的 Site Kit 就好,還要 GTM 幹嘛。Site Kit 的好處是一鍵串接、門檻低,但它把 GA4、Search Console、AdSense 全綁在一起,代碼管理的彈性很有限;GTM 的強項在於你可以精準控制每個代碼的觸發條件、變數、事件參數,未來要加複雜的轉換追蹤幾乎只能在 GTM 裡做。Site Kit by Google 串接 GA4 與 GSCAd Inserter 外掛嵌入追蹤碼各有各的適用場景,搞懂差別再選會更踏實。

用 Tag Assistant 與 DebugView 確認串接成功

判斷 GTM 與 GA4 是否真的串通,只有一個可靠標準:Tag Assistant 顯示代碼觸發,同時 GA4 的 DebugView 出現即時事件,兩邊都綠燈才算完成。光看 GTM 代碼存在、或只看 GA4 報表有數字,都不夠,因為中間任何一個環節出問題都可能讓你誤判。

第一重檢查用 Tag Assistant。你可以裝 Chrome 擴充 Tag Assistant 連到你的 WordPress 網站,看 GA4 代碼是不是顯示綠色成功;或在 GTM 點「預覽」進入 Tag Assistant 模式,這個模式會顯示每個代碼的觸發時機、dataLayer 內容、變數值,等於把整個代碼觸發過程攤開來給你看。第二重檢查用 GA4 後台的 DebugView,它需要你在同一個瀏覽器登入 Google 帳號才會顯示即時資料,看到第一筆 page_view 事件,就代表串接鏈路完整通了。

檢查工具看什麼代表什麼
Tag Assistant(擴充)代碼是否綠色觸發GTM 是否成功送出 GA4 代碼
GTM 預覽模式代碼觸發時機與 dataLayer觸發條件與變數是否正確
GA4 DebugView即時事件資料流GA4 是否真的收到資料

如果 DebugView 一直沒資料,別慌,按順序排查就好:先確認容器已經發布(最常見的原因),再確認量測 ID 有沒有填錯,接著檢查是不是被廣告阻擋外掛擋掉了。排查時會先用無痕視窗測一次,把瀏覽器裝的廣告阻擋擴充排除掉,這樣才能確認是網站端的問題還是瀏覽器端的問題。網站層面的追蹤要跟其他工具一起看,例如Google Search Console 完整設定教學,這些工具搭配起來才能看清流量全貌。

隱私權與同意模式:GDPR、個資法與同意模式 v2

裝好追蹤碼只是技術起點,還有合規這一關要過。歐盟 GDPR、英國 GDPR,以及台灣個人資料保護法,都要求網站在收集使用者資料前取得明確同意。直接預設開啟 GA4、Meta Pixel 收集 Cookie 資料,在某些司法管轄區可能違反法規。Google 為此推出「同意模式」(Consent Mode),讓代碼在使用者同意前只送出匿名、無法識別個人的微略資料(例如同意狀態與 cookieless ping),同意後才送完整資料,這套機制目前已演進到同意模式 v2。

同意模式 v2 比第一代多了兩個同意類型:ad_user_data 與 ad_personalization,原本的 ad_storage 與 analytics_storage 仍在,等於四個同意訊號。對 WordPress 站長的意義在於:若你要把資料用於 Google Ads 個人化廣告,或要將使用者資料回傳給廣告平台,就得在同意橫幅(consent banner)裡讓使用者能分別勾選這些選項,再透過同意模式把訊號傳給 GTM。沒有導入同意模式,在歐洲經濟區投放 Google Ads 時可能會受到限制,廣告成效追蹤也會失準。

實務上在 WordPress 導入同意模式,通常結合同意管理平台外掛(Consent Management Platform,CMP)。流程是這樣的:先裝一個支援同意模式的 CMP 外掛(例如 Cookiebot、Complianz、Termly 這類),設定好同意橫幅與四個同意類型;接著在 GTM 啟用「同意模式總覽」,把 CMP 推送的同意訊號接進來;最後調整每個代碼的同意設定,讓 GA4、Meta Pixel 在未同意時走匿名模式。GTM4WP 本身也提供同意模式的整合欄位,可以與主流 CMP 對接。即使你的網站目前只服務台灣訪客,導入同意模式仍有價值:台灣個資法對蒐集、處理、利用個人資料同樣有告知與同意的要求,而瀏覽器指紋、廣告識別碼這類技術在認定上日益趨嚴。導入同意橫幅與同意模式,能同時滿足「讓使用者知道你收集哪些資料」這個最基本的告知義務,也為日後跨境或擴大受眾預留合規空間。

按鈕點擊、表單送出、LINE 連結的進階事件追蹤

串接好之後,下一步就是把按鈕點擊、表單送出、外連按鈕這些自訂事件也追起來,而且全程不必寫程式。做法是在 GTM 用「點擊變數+觸發條件」的組合,把使用者的特定動作綁成 GA4 事件,再把事件推回 GA4 進報表。這是 GTM 最值得學的一塊,學會之後幾乎所有使用者行為都能追蹤,不必再拜託工程師改程式碼。

具體步驟是這樣:先到 GTM 的「變數」啟用內建點擊變數,包括 Click Classes、Click Text、Click URL 這些;接著建立觸發條件,例如 Click Text 等於「立即聯絡」,或 Click URL 包含「line.me」;再新增一個 GA4 事件代碼,事件名稱自訂(例如 line_click),觸發條件綁定剛剛建立的點擊觸發。表單送出則可以用 GTM 的 Form Submission 觸發,或搭配 Elementor、Contact Form 7 的資料層事件。GA4 那邊可以在「自訂定義」把事件參數設成自訂維度,讓報表能依按鈕文字細分。這套點擊追蹤邏輯套到不同元素上都通用,只是觸發條件換掉而已。

追蹤 LINE 連結是很多做在地生意的站長會想加的,因為 LINE 是聯絡客戶的主管道。把 LINE 按鈕、LINE 浮動按鈕的點擊都設成事件,就能在 GA4 看到「有多少人真的點了聯絡按鈕」,而不只是「有多少人造訪網站」。想在網站加 LINE 入口的話,WordPress 加 LINE 浮動按鈕有現成做法。

事件追蹤的價值,在於追對轉換有意義的事件。一個網站追了三十個事件,卻沒有一個跟業務目標連起來,那只是製造噪音。建議先從三到五個關鍵行為開始:聯絡按鈕點擊、表單送出、關鍵外連、檔案下載、重要捲動深度,把這幾個追穩了再往外擴。

實務上接手過一個匿名客戶:台中一家搬家公司的 WordPress 站,月 sessions 約 9,276,同時有投放 Google Ads。接手後做的事,就是前面講的這套:用 GTM 建電話點擊、LINE 點擊、表單送出、主要 CTA、scroll depth、thank-you page conversion 等事件,再到 GA4 把這些標成轉換事件,最後讓 Google Ads 匯入轉換。導入前這個站只看得到 page_view,根本無法判斷訪客來了之後做了什麼,流量品質只能猜。設定完成後,可用 conversion event 從 1 個擴充到 6 個(來源:GA4 Admin)。

第一個月(2025-Q2)的實測數字是:LINE 點擊 142 次、電話點擊 51 次、表單送出 27 次(來源:GA4 Events 2025-06)。拆裝置來看,行動裝置的 LINE CTA 占所有轉換互動 61.8%(來源:GA4 exploration),這代表在這類本地服務站,手機上的 LINE 點擊才是主要轉換路徑,桌面表單只是少數。這個訊號直接影響廣告決策:在追蹤修正前,Google Ads 估算的 CPA 是 NT$2,684,因為只把少數完成表單的人算成轉換,漏掉了絕大多數走 LINE 的有效互動;修正追蹤、把 LINE 點擊也算進來之後,有效互動的 CPA 降到 NT$1,073(來源:Google Ads 加 GA4 匯入轉換)。整個設定可回溯查核:GTM 容器 GTM-MOVE0625、GA4 事件 line_click_primary、Google Ads 匯入日期 2025-06-07。

但這裡有個必須講清楚的限制,老實說:事件追蹤裝好之後,並沒有自動提升轉換。它只讓問題變清楚,讓我看清哪些互動真的有商業價值、廣告錢花在誰身上。真正讓 CPA 從 NT$2,684 往下走的,是後續兩件事:把廣告的非品牌詞拆掉、重做落地頁的 CTA 配置。GA4 與 GTM 在這個站的最大價值,不是它本身會帶來轉換,而是把「看起來有流量」拆成「哪些互動真的有商業價值」,這個拆解才是後續所有優化決策的基礎。

常見錯誤與除錯

串接過程最常踩到的雷,集中在三個地方:同時裝 GA4 外掛與 GTM 導致重複計算、GTM 容器沒發布、快取或廣告阻擋外掛把代碼擋掉。這三個問題涵蓋了大多數「數字怪怪的」案例,逐一排查就能定位。會反覆出現,是因為每一步看起來都「好像做對了」,但合起來就出錯。

第一個、也是最致命的,是重複計算。如果你同時裝了 Site Kit、GTM4WP,又手動貼了一段 GA4 代碼到主題裡,page_view 就會被發送多次,工作階段數虛高、使用者數膨脹,報表完全失真。一個網站只該留一條發送 GA4 代碼的路徑,多一條就多算一次。判斷自己有沒有中獎,最快的方法是開 Tag Assistant 看同一個頁面是不是觸發了不只一個 GA4 代碼。

症狀最可能原因排查方式
工作階段數異常偏高多條路徑同時發 GA4 代碼Tag Assistant 看是否重複觸發
Tag Assistant 綠燈但 DebugView 沒資料GTM 容器尚未發布回 GTM 確認是否已提交發布
改了代碼卻沒生效快取外掛快取掉舊代碼清除快取後用無痕視窗重測
某些瀏覽器收不到事件廣告阻擋擴充擋掉請求換無痕視窗或停用擴充測試

快取外掛那關也要小心。快取功能本身是好事,能大幅加速網站,相關原理可以看快取 Cache 原理與清除設定;但部分快取外掛可能把含代碼的頁面快取下來,改了代碼卻一直看到舊版本,這時清除快取就會解決,常見的快取外掛如WordPress 快取外掛加速推薦都有相關討論,設定時記得把追蹤相關的調整後清一次快取。歸納下來,除錯其實就三件事:問題發生時,先把「容器有沒有發布」「代碼有沒有重複」「快取與阻擋」依序確認,八成以上的詭異數字都能在這裡找到答案,比盲目重裝外掛省事得多。

下一步:WooCommerce 購物追蹤與代碼擴充

GA4 串接好之後,電商網站還能再追蹤更關鍵的轉換。WooCommerce 網站可透過 GTM4WP 內建的電商資料層,把「加入購物車、開始結帳、購買」這些事件送進 GA4,事件名稱遵循 GA4 電子商務官方事件參考,例如 add_to_cart、begin_checkout、purchase。後續要加 Meta Pixel、Google Ads 轉換,也都在同一個 GTM 容器完成,不必再裝額外外掛。

開啟電商追蹤的步驟不難:GTM4WP 進階設定可開啟 WooCommerce 電子商務資料層,自動推送 add_to_cart、purchase 事件;GA4 後台則要到「資料串流」開啟電子商務勾選,事件才會進入購物報表。購買事件建議同時串 Google Ads 轉換,把廣告成效與網站行為綁在一起,這樣投廣告的時候才能算出真正的 ROAS。Meta Pixel 也能裝進同一個 GTM 容器,跟 GA4、Google Ads 共用同一套觸發與變數,要解讀 Pixel 回傳的資產數據,可參考 Meta 廣告資產怎麼看的說明。容器代碼一多,就要善用 GTM 的「資料夾」與命名規範管理,免得日後找不到代碼;串起來的 GA4 資料想做成一目瞭然的圖表,可參考 用 Looker Studio 做分析儀表板的做法。

電商事件觸發時機用途
add_to_cart使用者加入購物車分析商品吸引力
begin_checkout進入結帳流程找出結帳漏斗斷點
purchase訂單完成計算營收與轉換

追蹤補齊後,後續的投放與優化才有資料可用。WooCommerce 站可參考購物網站架設全流程商品頁 SEO 優化結帳表單客製化金流物流串接設定,把整條購物流程的轉換路徑串起來。廣告成效追蹤則離不開 Google Ads 成效追蹤教學UTM 參數ROAS 計算,這幾項數字讀懂了,才知道追蹤到的轉換到底賺不賺錢。SEO 與追蹤兩頭要一起顧:WordPress SEO 全攻略技術性 SEO 指南打底,Looker Studio 儀表板把 GA4 資料做成可看的圖表。

追蹤碼裝好只是起點,還得把搜尋引擎的後台一起串起來才看得清流量來源。除了前述的 Google Search Console,碰到單一網址沒收錄時再用 網址檢查工具排查,想補上另一個搜尋引擎的資料就接著做 Bing Webmaster Tools 安裝

上線前檢查清單與上線後資料品質稽核

追蹤架構裝好之後,正式上線前有一份檢查清單要逐項打勾,能幫你避開九成的事後除錯。這份清單分成「上線前」與「上線後 48 小時」兩段,建議照順序執行,因為順序錯了會讓某些項目檢查不出來(例如容器還沒發布就去驗 DebugView,當然是空的)。把檢查當成例行公事,每次改代碼都跑一遍,能讓容器長期維持可信。

上線前檢查清單

  1. 確認 GA4 量測 ID(G-XXXXXXX)與 GTM 容器 ID(GTM-XXXXXXX)填寫無誤,且分別對應正確的資源與容器
  2. 確認全站只剩一條發送 GA4 代碼的路徑,沒有殘留 Site Kit 或手動貼碼
  3. 確認 GTM 容器已「提交 → 發布」,版本名稱寫清楚這次改了什麼
  4. 確認 GA4 資料串流已開啟加強型評估(網頁瀏覽、捲動、站內搜尋、影片參與、檔案下載)
  5. 確認同意模式已與 CMP 對接,未同意時代碼走匿名模式
  6. 用 GTM 預覽模式跑一次完整流程:首頁、文章頁、聯絡頁、商品頁,逐頁檢查代碼觸發
  7. 清除快取外掛快取,用無痕視窗複測一次

上線後 48 小時稽核

  • GA4 即時報表在 5 分鐘內出現第一筆 page_view,確認串接鏈路通了
  • GA4 報表的工作階段數與 Tag Assistant 觀察到的觸發次數接近,沒有異常倍增
  • DebugView 檢查事件參數是否齊全,特別是自訂維度有沒有正確帶值
  • 檢查 DebugView 是否出現異常事件重複(同一個 page_view 連發兩次),通常是重複路徑
  • 48 小時後回頭比對 GA4 報表的「流量獲取」與 Search Console 的點擊,數量級應接近

稽核時最常發現的問題是「數字對不起來」。GA4 報表的工作階段數、Search Console 的點擊數、主機端的造訪數,三者數字本來就不會完全一致,因為三者計算邏輯不同:GA4 以 Cookie 計算工作階段,Search Console 只計算來自 Google 搜尋的點擊,主機端以伺服器請求計算。理解這三者的差異,才不會把正常的落差誤判成設定錯誤。一般來說,Search Console 點擊數會低於 GA4 的自然搜尋工作階段數(因為 GA4 包含所有來源),而主機端造訪數會略高於 GA4(因為 GA4 會被廣告阻擋擋掉一部分)。三個數字的相對關係穩定,比絕對數字一致更重要。

進階情境:跨網域、多語系與伺服器端追蹤

網站成長到一定規模後,會遇到幾個進階情境,這些情境用基礎設定無法正確處理,需要額外配置。最常見的有三個:跨網域追蹤、多語系多站點、以及伺服器端 GTM。

跨網域追蹤的觸發點是:當你的事業有多個網域(例如主站 example.com 與結帳站 checkout.example.org),跨網域時 GA4 預設會把同一個使用者算成兩個人,因為 Cookie 是綁單一網域的。設定在 GA4 資料串流的「設定代碼」裡,把相關網域加入「要評估的網域」清單,GA4 就會在跨網域時透過網址參數傳遞使用者的識別碼(_gl 參數),讓兩個網域共用同一個 Cookie,使用者就被算成同一人。判斷標準很單純:只要使用者的單次造訪會跨過兩個以上網域,就該開;網域之間沒有使用者旅程的銜接,就不必開。

多語系網站(例如中文站與英文站)常見兩種架構:子網域(tw.example.com、en.example.com)或子目錄(example.com/tw、example.com/en),架構不同 GA4 處理方式也不同。子目錄架構下,整個網站共用一個資料串流與一個 GA4 資源,再用自訂維度區分語系即可;子網域架構則要看你希望各語系獨立報表還是合併報表,獨立就各開一個資源,合併就跨網域追蹤處理。WordPress 多站點(Multisite)網路的邏輯類似:每個子站若要獨立報表,就各自配一組 GA4 資源與 GTM 容器;若要合併分析,則共用資源並用自訂維度標記子站。

伺服器端 GTM(Server-side GTM)是進階中的進階。傳統的客戶端追蹤把代碼直接送到 Google、Meta 等第三方伺服器,而伺服器端追蹤則是你自己架一個中繼伺服器,先接收網站的資料,再轉發給各平台。它的好處有三:能繞過部分廣告阻擋擴充(因為請求對象變成你自己的網域)、能對資料先做清洗與控管、能降低 Cookie 依賴以因應隱私趨勢。代價是設定門檻高、要自備伺服器資源(通常部署在 Google Cloud Run 或 Firebase),維護成本明顯上升。判斷要不要導入的標準是:當廣告阻擋造成資料流失已經嚴重影響決策,或網站月流量夠大、值得投入這層架構時,再考慮。中小型網站在初期,客戶端 GTM 完全夠用,過早導入伺服器端只會增加維護負擔。

進階情境觸發判斷主要處理方式
跨網域追蹤使用者旅程跨兩個以上網域GA4 串流加入要評估的網域清單
多語系子目錄多語系共用主網域共用資源,自訂維度標記語系
多語系子網域各語系獨立子網域依需求開獨立資源或跨網域追蹤
伺服器端 GTM廣告阻擋嚴重或流量規模大架設中繼伺服器轉發資料

常見問題 FAQ

WordPress 一定要用 GTM 嗎?

不是強制,但強烈建議。不用 GTM 你也能用 Site Kit 或直接貼碼把 GA4 裝起來,但未來要加 Meta Pixel、Google Ads 轉換、自訂事件時,每一項都得回頭改主題檔案或再裝外掛。GTM 的價值在於一次部署容器,之後所有代碼都在後台管理,擴充性與可維護性差距很大。

GTM4WP 外掛安全嗎?要去哪下載?

GTM4WP 是 WordPress.org 官方外掛庫上架的免費開源外掛,安裝量很大、持續維護中。請從 WordPress 後台「安裝外掛」搜尋下載,或到 wordpress.org 外掛頁取得,不要來路不明的版本。

怎麼確認 WordPress 的 GA4 串接成功?

用兩個工具交叉確認:Tag Assistant 看代碼是否綠色觸發,GA4 後台的 DebugView 看是否出現即時 page_view 事件。兩邊都有資料才算串通成功,只有一邊綠燈不能算數。

WordPress 裝多個分析外掛會造成重複計算嗎?

會。如果 Site Kit、GTM4WP 與手動貼的 GA4 代碼同時存在,同一個頁面瀏覽會被計算多次,工作階段數與使用者數都會虛高。一個網站只該保留一條發送 GA4 代碼的路徑,用 Tag Assistant 可檢查是否重複觸發。

WooCommerce 怎麼用 GTM 追蹤購買事件?

在 GTM4WP 進階設定開啟 WooCommerce 電子商務資料層,外掛會自動推送 add_to_cart、begin_checkout、purchase 事件;再到 GA4 後台「資料串流」開啟電子商務勾選,這些事件才會進入購物報表。purchase 建議同時串 Google Ads 轉換。

同意模式 v2 一定要裝嗎?

若網站服務歐洲經濟區訪客,或要在該區投放 Google Ads,同意模式 v2 幾乎是必要的,否則廣告追蹤會受限制。純服務台灣訪客的網站,從個資法的告知義務角度,導入同意橫幅仍是建議做法。同意模式讓代碼在同意前走匿名模式,兼顧資料收集與法規風險。

中小型網站需要伺服器端 GTM 嗎?

通常不需要。伺服器端 GTM 的設定門檻高、要自備伺服器資源,主要解決廣告阻擋造成的資料流失與資料控管需求。當網站流量夠大、且廣告阻擋已嚴重影響決策時再考慮。中小型網站在初期,客戶端 GTM 完全夠用。

相關文章