為什麼 UTM 參數在 GA4 中不起作用?8 個可能的原因解析

Ian
I think, therefore I do.
14 min readAug 24, 2024

身為數位行銷人員,我們常用的一個強大工具來追蹤外部連結的表現就是「 UTM 」參數。UTM,全名為 Urchin Tracking Module ,是一組 URL 參數,專門用於數位行銷中追蹤和分析線上行銷活動的效果。

這些參數會附加在網頁 URL 的末端(如下圖)。當使用者點擊這些連結時,UTM 參數會告訴分析工具(如 Google Analytics)使用者是從哪個渠道、活動或廣告系列進入網站的。

https://www.abc.com/my-product?utm_source=Agroup&utm_medium=home_banner&utm_campaign=Happy-new-year-sale

但有時儘管我們都照著步驟完成了 UTM 的設定,仍然會發現 GA4 中無法顯示這些追蹤參數,等待了一個禮拜竟然是一場空,導致該週的會議報告無法如期完成(這凸顯了善用 GA4 Debug View 進行測試的重要性),抑或是追蹤參數在 GA4 中的呈現不如預期,抓破頭也想不到是發生了什麼事,該怎麼辦?

在這篇文章中,我們將探討幾個可能導致 UTM 參數在 GA4 中失效的原因,並提供如何避免這些常見錯誤的建議,讓你不再因為數據問題而影響每週報告的準確性(特別是剛上線的活動報告)

#1 打錯(漏)字(包含大小寫)

最常見的情況莫過於打錯字了,如果 UTM 參數拼寫錯誤或使用了錯誤的參數名稱(例如 utm_souce 而不是 utm_source ),GA4 將無法正確辨識並記錄這些參數,即使是微小的拼寫錯誤也會導致追蹤失效。

這是因為 Google Analytics 和其他分析工具依賴於 正確的 UTM 參數名稱 來識別和分類流量來源、媒介、活動等。

以下是一些常見的打錯字問題及其影響:

拼寫錯誤的 UTM 參數名稱

  • 例子: utm_souce 而不是 utm_source
  • 影響: Google Analytics 無法辨識 utm_souce 作為有效的參數,因此會忽略它。這樣,該流量的來源信息將無法被追蹤或正確記錄,可能被歸為“直接流量”或使用其他默認分類。

使用了錯誤的 UTM 參數

  • 例子: 使用了非標準的參數名稱如 utm_origin 來代替 utm_source
  • 影響: Google Analytics 只識別標準的 UTM 參數名稱(如 utm_source, utm_medium, utm_campaign 等)。如果使用了錯誤的參數名稱,該信息將不會被記錄在相應的欄位中,導致報告中的數據不完整或錯誤。

拼寫錯誤的參數「值」

  • 例子: utm_medium=email 錯寫成 utm_medium=emial
  • 影響: 雖然這不會導致 UTM 參數無法被辨識,但它會導致數據在報告中被錯誤分類。例如,emial 這個錯誤值會被視為一個新的媒介,從而使這部分流量數據難以歸納到正確的渠道中。
  • (關於 GA4 歸因流量的介紹,可以參考文章【GA4 預設管道群組中的「Unassigned」是什麼?該如何減少它的出現?】)

大小寫的問題

  • 例子 1 : utm_source=Facebookutm_source=facebook
  • 例子 2 : 參數名稱一率都要小寫,必須要是 utm_source 而不能是 UTM_SOURCE 或是 Utm_Source
  • 影響: Google Analytics 對 UTM 參數值是大小寫敏感的。這意味著 Facebookfacebook 會被視為不同的來源,從而導致數據分散在不同的報告項目中,難以匯總和分析。

漏掉「&」符號

  • 例子: 在多個 UTM 參數之間漏掉 & 符號,例如 utm_source=googleutm_medium=cpc
  • 影響: 當沒有正確使用 & 來分隔參數時,Google Analytics 可能無法正確解析 URL,導致參數未被識別或全部視為一個單一的參數,這將使追蹤失效。

上述這些看似很小的問題,其實會對數據追蹤產生重大影響。要避免大部分問題的最好方法,就是使用像 Google Campaign URL Builder 這樣的工具來自動生成 UTM 參數,這樣可以減少因手動輸入錯誤而產生的問題。

此外,為了確保數據的準確性,建議 為團隊建立統一的 UTM 命名規則 ,確保所有參數名稱和值的一致性,避免因為如 以及 這樣的差異,讓 GA4 將其歸因爲兩個不同來源的情況。

#2 網址中的 UTM 參數被覆蓋

最常見的情況是使用 Meta 廣告時,如果你的廣告到達網頁帶有 UTM 參數,卻又同時開啟了 Meta 廣告後台中的自動參數(如下圖)

此時 Meta 的自動參數會被帶到 URL 的末端,就會因此覆蓋掉原本的參數,你的到達網頁網址可能會是如下方這樣(紅色標示處便是 Meta 廣告自動參數帶上的)。

這樣的情況下,在 GA4 中你將看不到原先設定的 utm_source=ThirtyParty 以及 utm_medium=Left_Banner,都會被改寫成 utm_source=ig 以及 utm_medium=paid

#3 網址被重新定向

這是一個很不容易被發現的狀況,因為一切都在瀏覽器背後運作,即便網址列有改變,但也常常因為速度太快所以不容易讓人注意到。

網址被重新定向」指的是在用戶點擊包含 UTM 參數的連結並經歷一個或多個重定向過程後,這些參數未能保留在最終目的地的 URL 中,導致分析工具如 Google Analytics 無法追蹤這些參數,常見的情況可能會有這些:

內部網站架構導致的重定向

一些網站的內部架構設計會導致 URL 的改寫或重定向。例如,網站可能會將所有不帶尾斜線的 URL 自動重定向到帶尾斜線的版本,如果在這過程中 UTM 參數未被保留,則可能導致參數丟失。

例如:
使用者點擊 http://example.com/?utm_source=newsletter&utm_medium=email,網站自動重定向到 https://www.example.com/。如果在這個重定向過程中 UTM 參數未被保留,使用者最終到達的頁面網址可能是 https://www.example.com/ ,而沒有 UTM 參數。

如果有這樣的情況,可以詢問自家網站工程團隊這麼做的用意為何?是否可以在重新定向的過程中保留 UTM 參數。

縮網址服務的重新定向

URL 縮短服務(如 Bit.ly 或 TinyURL)會將原始 URL(包括 UTM 參數)縮短成一個短鏈接。當用戶點擊短鏈接時,會先經歷一個重定向過程,再跳轉到最終目的地 URL。如果縮短服務未能正確處理和傳遞 UTM 參數,它們可能會在重定向過程中丟失。

(不過目前觀察主流的縮網址服務皆會保留 UTM 參數,但在使用上還是可以多注意一下。)

如果想要知道網址是否有被重新定向,可以安裝 Chrome 瀏覽器的擴充套件 Redirect Path ,到達網頁之後,打開擴充套件,就可以看到是否有被經過重新導向了。

(通常都是伺服器端與前端 Javascript 的重新導向,遇到這樣的問題,一樣可以找自家工程師團隊,了解這麼做的用意為何,是否可以調整。)

#4 網址 UTM 參數被移除

跟上述的重新導向狀況有點類似,只不過這次是網址末端的 UTM 參數被程式移除,有些網站為了保持 URL 的簡潔,會在使用者到達網頁主動移除 URL 中的 UTM 參數,如果這種操作在 UTM 參數傳遞到 Google Analytics 之前發生,這些參數就會丟失。

例如: 使用者來到 https://example.com/?utm_source=instagram&utm_medium=post&utm_campaign=holiday_sale,網站自動將其重寫為 https://example.com/ ,去掉了 UTM 參數,導致無法追蹤來源信息。

此時就必須請工程團隊協助,將這個功能移除。

有一點需要注意的是,GTM 中常用的「 變數範本 Trim Query」,可以協助我們移除網址中不必要的參數。因此,有時候也可能是過去的操作人員使用了 GTM 中的 Trim Query 範本,導致網址中的 UTM 被移除,影響到了數據的追蹤,這點行銷人員自己也可以到 GTM 容器中進行檢查,以確保這些設定不會無意間影響到數據的正確性。

關於 GTM「 變數範本 Trim Query」的使用方式,我們曾經在過去的文章當介紹該如何使用,有興趣的朋友可以參考這篇文章: 如何用 GTM 移除網址尾端的「參數」並傳送給 GA4?

#5 到達網頁沒有安裝 GA4

是的,這個原因雖然聽起來有點「離奇」,但在我們處理過的網站中,確實曾經遇到過類似的狀況。

網站因為經手了多個不同的工程團隊,程式碼疊床架屋,結果導致舊的網站頁面中安裝了 GA4,而一些後續新增的頁面卻未安裝 GA4 追蹤代碼。這樣一來,部分設定了 UTM 參數的網址便無法被正確追蹤到。

由於 UTM 參數不會自動延續到下一個頁面上,即使使用者進入的頁面的網址上有 UTM 參數,但因為沒有 GA4 追蹤碼,那麼這些參數實際上也無法被追蹤,就算使用者走到了網站的下一個頁面,UTM 參數也不會延續, 因此等於沒有傳送 UTM 參數給 GA4

因此如果發現在 GA4 中都看不到設定好的 UTM 參數,可以檢查一下該到達網頁的 GA4 是否有正確運作,這也是很常被忽略的錯誤。

#6 「同意聲明模式」的影響

繼續延伸上一段 #5 所提到,如果你的網站有安裝「 同意聲明工具 」,也有可能會發生類似的情況。

儘管你很確定網站所有頁面都有安裝 GA4 追蹤代碼,但如果使用者未點擊「 同意聲明工具 」中的「同意」追蹤按鈕,則頁面上的 GA4 追蹤碼無法啟動。這樣一來,當使用者點擊帶有 UTM 參數的連結進入網站時,因為 GA4 未啟動,這些 UTM 參數也無法被追蹤到。

(這情況跟 #5 所說的「到達網頁沒有安裝 GA4」是一樣的意思,使用者沒有「同意」,若使用者未給予追蹤同意,GA4 無法進行追蹤,這樣的結果等同於沒有安裝 GA4 追蹤碼。)

延伸閱讀:如何用 GTM 設定「Google 同意聲明模式(Consent Mode)」?

關於這部分的解決方式,有幾個比較常見的做法可以參考:

  1. 先將 UTM 參數存到 Cookie 當中,當使用者「同意」後,再讓 GA4 去傳送 Cookie 當中記錄的 UTM 參數。(注意,這部分有隱私規範的疑慮,因為照理來說,使用者如果沒同意,除了必要 Cookie 以外,基本上是不能擅自儲存任何 Cookie 的,使用之前,請詢問公司法務人員)
  2. 盡可能讓你的「同意聲明工具視窗」蓋住整個網站,當使用者按下同意後,因為頁面沒有更換,網址列中的 UTM 參數還在, GA4 就有辦法抓到 UTM 參數了。(但如果使用者按下不同意,我們也愛莫能助了。)

#7 瀏覽器的隱私設置或是廣告阻擋套件

這通常指的是瀏覽器的設置或 Chrome 套件阻止了 UTM 參數的傳遞或 Google Analytics 的正常運作,這種情況在當今注重隱私保護的環境中越來越常見。

例如:ios 17 Safari 瀏覽器的私密瀏覽模式,就會移除網址列中的追蹤參數,而 Firefox 的「增強追蹤保護」(Enhanced Tracking Protection, ETP) 功能也會限制第三方追蹤腳本,都可能會影響 Google Analytics 的運行,從而無法正確記錄 UTM 參數。

面對 網址列中的參數直接被瀏覽器移除 這點,我們同樣也是愛莫能助,能做的只有讓團隊和客戶了解隱私設置和廣告屏蔽插件可能對數據的影響,以便更準確地解讀 GA4 中的數據。

而廣告套件阻擋的部分,則可以考慮採用 Server Side GTM 來減少衝擊,關於這部分,我們以後會專們寫一篇文章跟大家講解。

#8 使用者在工作階段中途改變了來源/媒介

接下來要說的這個,在過往 GA3 時是個問題,不過到了 GA4 之後,就不會造成影響了。

過去看過很多行銷人員為了追蹤使用者進站之後的連結點擊表現,會在自家網站按鈕上面的連結安裝 UTM 參數,在過往的 GA3 中,這樣的行為會導致該工作階段的來源/媒介被改變,假設使用者原本是透過 Google 自然搜尋來到網站,GA 該工作階段中的「 來源 / 媒介」應會被歸因為「 google / organic 」。

但因為使用者在該工作階段中途點了網站內帶有 UTM 參數的按鈕,假設該連結的 UTM 參數為 utm_source=CampaignAWebsite 以及 utm_medium=button,那麼該工作階段的「 來源 / 媒介」就會被更改為「 CampaignAWebsite / button 」,數據便會失準,因為該使用者實際上是透過 Google 自然搜尋來到網站的。

(要追蹤使用者在站內點擊特定連結最佳的做法應該是用 GTM 設置事件來進行追蹤,詳細操作方式可以參考文章: 如何用 GTM 建立「連結點擊」追蹤事件?

到了 GA4 之後,儘管使用者在同一個工作階段中途點擊了其它帶有 UTM 參數的連結, GA4 依然會將「來源 / 媒介」歸因給開啟該工作階段(session_start)的來源與媒介,因此該工作階段的原始「 來源 / 媒介 」因為使用者中途點了其它 UTM 參數連結而受到影響。

補充一下

不過呢,還有另外有一個情況也是可以知道一下。

因為 GA4 的「 來源 / 媒介」歸因方式是採用「 最終非直接點擊」,也就是當最後一個進站的工作階段來源如果是「 直接(direct)」,那麼其「 來源 / 媒介」將會歸給前一個「 來源 / 媒介 」。

搞懂 GA4 的歸因方式,也可以幫助你理解 UTM 參數遺失的原因或是背後真正的「 來源 / 媒介」,過去我們也曾接介紹過可能造成 GA4 中出現「 直接流量(direct)」的情況,有興趣的朋友可以參考這一篇: 15 個讓 GA4 將流量判定為「直接流量(direct)」的可能原因

總結一下

如果 UTM 失效或是在 GA4 當中看不到,我們可以依照下列幾項來排查可能的問題所在:

  1. 打錯字:注意大小寫是否錯誤、參數名稱是否拼錯以及是否漏掉了「」符號。
  2. UTM 參數是否遭到覆蓋:例如開啟了 Meta 廣告的自動參數。
  3. 網址是否有被重新定向:短網址的轉址、網站伺服器端的轉址或是透過前端 Javascript 產生的轉址。
  4. 網址末端的參數是否在到達網站之後被移除
  5. 到達頁面沒有安裝 GA4
  6. 網站同意聲明工具的影響:使用者沒有馬上點選同意,造成相關追蹤代碼無法啟動,因此也抓不到 UTM 參數。
  7. 瀏覽器的隱私設置或是廣告阻擋套件的影響

上述這些,是常見會影響到 UTM 參數的原因,最後要提醒,當辛辛苦苦地為行銷活動設置了 UTM 參數之後,除了注意結構命名的一致性以外,也請務必要透過 Debu View 進行測試,自己演練一遍,點擊帶有 UTM 參數的網址,並在 GA4 中確認是否有收到預期中的資訊,避免跑了大半天的行銷活動最後都沒有數據可以使用。

--

--