你在找哪種「GTM」?快速分流說明
GTM 在這裡指 Google Tag Manager,用來管理網站追蹤代碼、觸發條件與變數;若搜尋的是 Go-to-Market,那是產品上市策略,和外部連結點擊追蹤不是同一件事。
10 分鐘速讀版:建立 GTM 容器、安裝代碼、啟用點擊變數、設定外部連結 Trigger、建立 GA4 Event Tag,最後用 Preview、Tag Assistant 與 GA4 DebugView 驗證。這條路徑最適合第一次設定外部連結點擊追蹤的人。
Google Tag Manager 簡介
Google Tag Manager 是標籤管理工具。它把 GA4、廣告轉換、外部連結點擊等追蹤設定放進同一個容器。核心元件是 Tag、Trigger、變數與 DataLayer。判斷上,GTM 最有價值的地方不是省程式碼,而是讓追蹤規則可被檢查、版本化與回溯。
Go-to-Market 定義(僅作說明)
Go-to-Market 指產品進入市場的定位、通路與銷售節奏。若需求是網站事件追蹤、GA4 Event、Click URL 或 Consent Mode,請沿用 Google Tag Manager 的設定流程。
為什麼要用 GTM 追蹤外部連結點擊?
用 GTM 追蹤外部連結點擊,可以知道使用者從哪個頁面點到合作網站、付款頁、社群頁或文件下載頁,並把事件送進 GA4 做後續分析。
外部連結常是網站轉換前的關鍵行為。像是點到預約系統、第三方購物車、Google Maps、LINE 官方帳號,GA4 預設報表不一定能完整回答商業問題。用 GTM 建立 outbound_click 事件後,分析師可以看 page_location、link_url、link_text。這比只看跳出率更接近真實意圖。
初學者可先追蹤所有外部連結。報表成熟後,再把重要連結分組。對台灣網站來說,LINE、表單、金流與社群連結通常要優先處理。
GTM 基礎架構與安裝流程(步驟圖)
GTM 安裝流程是建立帳號與容器、把兩段代碼放進網站、發布版本,再用 Preview 驗證容器是否載入成功。
建立 Google Tag Manager 帳號與容器
- 進入 Google Tag Manager,建立帳號。
- 輸入帳號名稱,通常可用公司或網站名稱。
- 建立容器,平台選「網頁」。
- 取得容器 ID,例如 GTM-XXXXXXX。
容器命名不要只寫 test。日後多網站、多語系或多環境並存時,清楚名稱會省下大量除錯時間。
放置 GTM 代碼於網站 <head> 與 <body>
Google 官方說明建議把第一段 script 放在 <head> 內,第二段 noscript 放在 <body> 開頭附近。WordPress 可透過佈景主題、代碼管理外掛或代管平台欄位加入;Shopify 則依主題與方案權限處理。
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
若網站有快取或代碼壓縮,安裝後要清除快取。很多外部連結追蹤錯誤,其實不是 Trigger 錯,而是容器沒有載入新版。
發布與驗證(Preview)
設定完成後,先不要直接發布。依照 Google 官方說明:Preview and debug containers,在工作區右上角按 Preview,輸入網站網址並連線。看到 Tag Assistant 顯示 Connected,代表容器可被偵測。
設定外部連結點擊追蹤的完整流程
外部連結點擊追蹤的標準做法,是啟用 Click URL 等變數,建立 Click Trigger,再用 GA4 Event Tag 送出 outbound_click 事件。
需求拆解:哪些外部連結要追蹤?
先列出要追蹤的外部連結類型。常見範圍包含合作夥伴網站、付款頁、社群頁、PDF 檔案、客服系統與地圖連結。若全部外部網域都要追蹤,可用 Click URL 不包含目前網域作為基礎條件。
建議先把需求寫成表格:頁面、連結類型、目的、是否算轉換、GA4 事件名稱。這份 GTM 策略模板不必複雜,但一定要能交給分析師、PM、開發與法遵共同確認。
建立自訂變數(Click URL、Click Text)
- 進入「變數」。
- 在內建變數中啟用 Click URL、Click Text、Click Classes、Page URL。
- 若需要分類,可新增 Lookup Table 或 RegEx Table。
Click URL 是外部連結點擊追蹤的主變數。Click Text 則適合用來判讀使用者看到的按鈕文字。若按鈕沒有文字,Click Classes 會比 Click Text 穩定。
設定 Click Trigger(All Elements)
依照 Google 官方說明:Click trigger,Click Trigger 可用 All Elements 或 Just Links。外部連結建議先用 Just Links;若網站按鈕不是標準 <a> 連結,再改用 All Elements。
- 進入「觸發條件」,新增 Click Trigger。
- 選擇 Just Links 或 All Elements。
- 選擇 Some Clicks。
- 設定 Click URL matches RegEx。
^https?:\/\/(?!([^\/]+\.)?opendata4tw\.org\.tw)([^\/]+)
正則表達式最容易出錯。務必把正式網域、www 版本、測試網域都列入判斷。這裡的核心原則是排除內部網域,只留下外部連結。
建立 GA4 Event Tag(外部連結點擊)
- 新增 Tag,類型選 GA4 Event。
- 選擇既有 GA4 Configuration 或 Google tag。
- Event Name 填入 outbound_click。
- 加入事件參數 page_location、link_url、link_text。
- Trigger 選剛建立的外部連結 Click Trigger。
事件名稱建議用小寫英文與底線。outbound_click 清楚、短、可延伸。不要今天用 outboundClick,明天又用 external_link_click,否則 GA4 報表會被切碎。
參數對應表(page_location ↔ {{Page URL}})
| GA4 參數 | GTM 變數 | 用途 |
|---|---|---|
| page_location | {{Page URL}} | 記錄點擊發生頁面 |
| link_url | {{Click URL}} | 記錄被點擊的外部連結 |
| link_text | {{Click Text}} | 記錄按鈕或連結文字 |
GA4 串接流程要先有 Google tag 或 GA4 設定 ID,再建立 Event Tag。若還沒完成 GA4 基礎事件,可先參考 GA4 事件追蹤設定教學 與 Google Tag Manager 入門教學。
進階決策表:不同需求選擇哪種 Trigger?
Trigger 選擇取決於連結型態。標準外部連結用 Just Links;非標準按鈕用 All Elements;單頁應用程式才考慮 History Change。
表格範例
| 需求 | 建議 Trigger | 設定要點 |
|---|---|---|
| 追蹤一般外部連結 | Just Links | Click URL 不包含本站網域 |
| 追蹤按鈕型外部連結 | All Elements | 搭配 Click Classes 或 Click ID |
| 追蹤 PDF、DOC 下載 | Just Links | Click URL matches RegEx:\.(pdf|docx?)$ |
| 追蹤 SPA 換頁後連結 | History Change 加 Click Trigger | 先確認頁面路由是否改變 |
| 追蹤自訂互動 | Custom Event | 由 DataLayer 推送事件 |
Trigger 不必一次做得很複雜。可先用最穩定的 Click URL 條件,再把例外情境拆成第二個 Trigger。這樣 Preview 時更容易判斷是哪條規則生效。
GA4 與 GTM 的驗證與除錯流程
驗證順序應該是 GTM Preview、Tag Assistant、GA4 DebugView,最後才看 Real-time。只看即時報表,容易誤判設定結果。
使用 Preview & Tag Assistant 檢查
- 在 GTM 工作區按 Preview。
- 輸入測試頁網址並 Connect。
- 在新視窗點擊外部連結。
- 回到 Tag Assistant 檢查 outbound_click 是否 fired。
- 查看 Variables 分頁,確認 Click URL 與 Page URL 有值。
若看到 Tag fired,代表 Trigger 與 Tag 條件成立。若 Tag not fired,先看 Click URL 是否被抓到,再看正則條件。除錯時不要同時改三個設定,否則很難知道是哪一項修好問題。
GA4 DebugView 即時觀測
進入 GA4 DebugView,尋找 outbound_click 事件。點開事件後,確認 link_url、link_text、page_location 是否正確。若 GTM 已 fired,但 GA4 看不到,常見原因是 GA4 設定 ID 錯、Consent Mode 限制、瀏覽器外掛阻擋,或 DebugView 延遲。
發布後可再看 Real-time。正式報表通常需要時間處理,因此不適合拿來做第一輪除錯。
合規與隱私:Consent Mode 與伺服器端 GTM
外部連結點擊追蹤涉及使用者行為資料,應搭配 Cookie 同意機制、Consent Mode 與資料治理規則,避免未經同意就送出不該收集的資訊。
Google 官方說明:Consent mode overview 指出,Consent Mode 會依使用者同意狀態調整 Google tag 行為。台灣網站若服務歐盟或其他高隱私要求市場,法遵與分析團隊應先定義 consent 預設值。
落地分工可這樣切:PM 定義要追蹤的外部連結;分析師設計 GA4 Event 與參數;開發確認 GTM 代碼與 DataLayer;法遵確認 Cookie banner、隱私權政策與同意紀錄。好的 GTM 架構,應該讓每個角色都能看懂風險位置。
啟用 Consent Mode 基本步驟
- 確認網站有 Cookie 同意介面或 CMP。
- 設定預設同意狀態,例如 analytics_storage。
- 在 GTM 中檢查 GA4 Tag 的 Consent Settings。
- 使用 Consent Initialization 觸發同意設定。
- 用 Preview 檢查同意狀態更新順序。
可參考 Google 官方說明:Set up consent mode on websites。伺服器端 GTM 可改善資料控制與第一方架構,但它不會自動解決同意問題。若前端沒有取得正確同意,伺服器端也不應把資料送出。
常見錯誤與快速檢查清單(FAQ)
外部連結追蹤失敗,最常見原因是變數未啟用、Trigger 條件太窄、正則寫錯、GA4 事件參數漏填,或發布前沒有用 Preview 驗證。
10 大外部連結追蹤錯誤
- 沒有啟用 Click URL。
- 把內部連結誤算成外部連結。
- 正則沒有處理 www 或子網域。
- 用 All Clicks 卻沒有加條件。
- GA4 Event Name 命名不一致。
- link_url 沒有對應 {{Click URL}}。
- Preview 看到 fired,卻忘記 Submit 發布。
- 快取仍載入舊容器。
- Consent Mode 阻擋事件送出。
- 只看 GA4 Real-time,沒有看 DebugView。
發布前 5 步檢查清單
- GTM 容器已在正式網站載入。
- Click URL、Click Text、Page URL 都有值。
- 外部連結 Trigger 只在目標連結觸發。
- GA4 DebugView 看得到 outbound_click。
- Consent Mode 與發布版本已完成確認。
GTM 與 GA4 有什麼關係?
GTM 是管理與觸發追蹤代碼的工具,GA4 是接收與分析事件資料的平台。外部連結點擊追蹤通常在 GTM 設定 Trigger 與 GA4 Event Tag,再把 outbound_click 送到 GA4。
<div class="faq-item">
<h3 class="faq-q" data-q>為什麼外部連結點擊不會出現在 GA4?</h3>
<div class="faq-a" data-a>
<p>先檢查 GTM Preview 是否 fired。若 fired 但 GA4 沒有事件,常見原因是 GA4 Tag ID 錯、事件參數漏填、Consent Mode 限制、DebugView 延遲,或網站快取尚未更新。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>如何在 WordPress 加入 GTM 代碼?</h3>
<div class="faq-a" data-a>
<p>可透過佈景主題設定、代碼管理外掛,或由開發者放入 header.php 與 body 開頭。完成後要清除快取,並用 Tag Assistant 確認容器已連線。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>外部連結的正則表達式該怎麼寫?</h3>
<div class="faq-a" data-a>
<p>原則是排除本站網域,保留外部網址。例如 Click URL matches RegEx 可用 ^https?:\/\/(?!([^\/]+\.)?opendata4tw\.org\.tw)。實作前要把正式網域、www 與子網域列入測試。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>Preview 模式看不到 Tag,該怎麼辦?</h3>
<div class="faq-a" data-a>
<p>先確認網站顯示 Connected。接著查看 Variables 是否有 Click URL。若變數沒有值,代表點擊事件沒有被 GTM 正確偵測。若有值,再檢查 Trigger 條件。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>Consent Mode 開啟後會不會影響資料完整性?</h3>
<div class="faq-a" data-a>
<p>會影響可收集的資料範圍。使用者未同意時,Google tag 會依同意狀態調整行為。這是合規設計的一部分,不應用繞過方式補資料。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>是否一定要使用 GA4 Event Tag?可以用自訂 HTML 嗎?</h3>
<div class="faq-a" data-a>
<p>建議優先使用 GA4 Event Tag。它較容易維護、除錯與交接。自訂 HTML 只適合特殊情境,例如需要額外 DataLayer 操作或非標準追蹤流程。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>伺服器端 GTM 能否追蹤外部連結?</h3>
<div class="faq-a" data-a>
<p>可以接收並轉送外部連結事件,但前端仍需要偵測點擊。伺服器端 GTM 的重點是資料控制、轉送與治理,不是取代前端 Click Trigger。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>GTM 觸發條件中「History Change」是什麼?</h3>
<div class="faq-a" data-a>
<p>History Change 用於偵測單頁應用程式的網址或路由變化。若網站換頁不重新載入,可能需要它輔助判斷頁面狀態,再搭配 Click Trigger。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>外部連結追蹤會不會影響頁面載入速度?</h3>
<div class="faq-a" data-a>
<p>正常設定下影響很小。風險通常來自過多第三方 Tag、無條件 All Clicks、或自訂 HTML 寫法不佳。Trigger 條件越精準,效能與資料品質越穩。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>我可以把同一個 Tag 複製給多個容器嗎?</h3>
<div class="faq-a" data-a>
<p>可以,但要重新檢查 GA4 ID、網域排除條件、Consent Settings 與變數名稱。跨容器複製最常出錯的地方,是沿用舊網站的 Click URL 正則。</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-q" data-q>若要追蹤 PDF、DOC 等檔案下載,設定方式相同嗎?</h3>
<div class="faq-a" data-a>
<p>流程相近,但 Trigger 條件要改成檔案副檔名。例如 Click URL matches RegEx 可用 \.(pdf|doc|docx)$。事件名稱可用 file_download,避免和 outbound_click 混在一起。</p>
</div>
</div>
以官方文件、實際設定與量測結果整理 SEO 數據、網站追蹤與分析方法,並標示資料來源與判讀限制。