[GA4] 標記最佳做法:避免未指派、「(未設定)」和直接流量問題

Google Analytics 4 代碼有幾個設定選項,可能會影響工作階段和使用者身分。如果代碼未正確設定,可能會導致無法識別或分類流量來源,以及報表中的其他問題。這些問題會導致報表中的管道群組出現未指派的資料列、「(未設定)」值,以及意外大量的流量歸類為直接流量。

如果 Analytics 無法分類流量來源,Google Analytics 4 報表就會顯示未指派的資料列。Analytics 會根據固定規則將流量來源分類為管道。舉例來說,自然搜尋管道會納入所有搜尋引擎的流量。管道會分組成管道群組。如果您使用的是預設管道群組,可以在「預設管道定義」中查看流量分類的特定邏輯。您可以查看使用者、工作階段或事件層級的管道群組。

如果流量來源不符合報表中管道群組中某個管道的定義,系統會將流量標示為「未指派」。如果流量來自使用者定義的來源或媒介,或是因為缺少工作階段或使用者身分資訊而設為「(未設定)」,系統可能就沒有預先定義的規則來分類流量來源。

標記程式碼排序的最佳做法

請遵循下列建議的標記程式碼排序最佳做法:

代碼類型 操作說明 最佳做法

Google 代碼

設定 Google 產品並傳送事件資料

請先初始化 Google 代碼,再呼叫事件方法 (包括目標對象觸發事件)。

Google 代碼管理工具

設定 Google 代碼管理工具

適用於網頁的 Google 代碼管理工具

關於 Google 代碼管理工具

按照 4 個步驟設定 GTM

伺服器端代碼

伺服器端 - 代碼管理工具

請務必不要略過這些特定代碼設定

針對同一個 GA4 資源,請勿在同一網頁上同時維護伺服器端和獨立用戶端導入方式。如果您使用 sGTM,請務必將所有有效代碼設為透過伺服器端容器傳送事件。

如果您無法遵循事件的建議排序做法,仍應遵循以下兩項建議。否則報表可能會出現問題。

  • 請盡早 (並在任何事件發生之前) 在網頁上提供網頁的所有相關設定,這些設定屬於 config 指令 (適用於 Google 代碼) 或 Google 代碼設定 (適用於 Google 代碼管理工具) 的一部分。
  • 自訂事件不應在 config 指令之前觸發,否則會與 session_start 事件一起批次處理。config 指令「可能會影響網頁其餘部分」的使用者和工作階段身分,也就是說,網頁瀏覽和後續事件無法與先前的工作階段開始和自訂事件建立關聯。

如果事件排序不正確,會發生什麼情況?

如果 GA4 代碼在意外時間設定,例如設定指令或 Google 代碼在網頁中的其他事件後觸發,就可能會影響 User-ID 或工作階段 ID,甚至兩者皆受影響。這可能會導致:

  • 資料在 Analytics 中顯示為「(未設定)」
  • 使用者和工作階段計數不正確
  • 使用者和工作階段層級指標計算錯誤
  • 使用者和工作階段評估不正確

哪些因素可能導致事件排序錯誤?

造成時間點不符預期的常見原因包括:

功能 原因 結果 最佳做法

伺服器端代碼

伺服器管理的設定 (伺服器管理用戶端 ID)

用戶端管理的設定
(transport_url、first_party_collection、server_container_url)

勾選伺服器端代碼的「伺服器管理設定」方塊 (預設為開啟)。

透過伺服器代碼處理 GA4 事件時,使用者可以選擇使用與網站代碼使用的用戶端 ID 不同的使用者身分。

在頂端的下拉式選單中設定「伺服器管理」,表示伺服器端代碼會管理個別的用戶端 ID,並將其替換為所處理的評估資料。這項設定還會提供多種寫入 Cookie 的方式,並提供長期遷移選項,方便擁有現有 Google Analytics 直接流量的客戶,在某個時間點突然變更其所有訪客 ID 時,避免目標對象和報表出現硬性中斷。

如果您使用這個選項,請務必確保「所有」串流評估資料都會透過伺服器代碼傳送,且不會直接傳送至 Google 伺服器。

最簡單的方法是確保傳送資料至伺服器容器的網站代碼的 Google 代碼管理工具或設定指令 (Google 代碼),一律是該容器的第一個代碼或指令。

Cookie 名稱自訂
(cookie_prefix)

這會變更用於用戶端 ID 和工作階段狀態的第一方 Cookie 名稱。

使用者無法跨工作階段建立連結,且事件無法納入工作階段。

使用工作階段或使用者維度進行分析時,事件指標會顯示為「(未設定)」。

在網站上使用一致相同的 Cookie 前置字元。在 Analytics 中使用 Cookie 前置字元的建議用途是建立自訂 Cookie 名稱,而不是建立多個 Cookie 資料孤島 (如果使用不同的或不一致的前置字串會導致這種情況)。

自動跨網域連接器
(linker)1

這項設定可讓代碼處理並開始使用先前網頁的用戶端和工作階段資料 (如果有的話)。採用已連結資料時,代碼會假設工作階段已在前一個網頁上啟動。

如果連結器的初始化較晚,並透過後期的設定指令發現跨網域已連結使用者,則使用者身分會在該時間點突然變更。

至少,後期的設定指令會導致較短的工作階段,當採用連接器參數值時,這些工作階段會遭到捨棄。此時傳送的任何工作階段或使用者屬性,都無法再與實際工作階段或使用者建立關聯。

請勿自訂用戶端或工作階段 ID,因為這會導致代碼和處理作業中有關工作階段結構的假設失效,也可能導致問題。

手動跨網域連接器
(client_id, session_id)

為方便客戶手動導入跨網域評估,GA4 代碼提供 API,可用來取得及設定用戶端和工作階段 ID。不小心修改自動產生值中的 client_idsession_id,會影響 GA4 事件與使用者和工作階段的連結方式。

與原始用戶端和工作階段 ID 中斷關聯的事件,可能會缺少重要資訊,並導致意外的歸因問題。

使用 user_id 提供自訂使用者身分。

請勿使用這些 API 修改或提供自訂用戶端或工作階段 ID。只有在極少數情況下,需要跨網域手動設定時,才應手動設定這些 ID。

 

1 連接器是自動跨網域連結的參數。如果自動跨網域連結功能無法在您的網站上運作,則可以選擇手動設定用戶端 ID 和工作階段 ID。請勿自訂這些值。GA4 會預期值的格式為特定格式,非預期的值可能會導致中斷。進一步瞭解連結器參數

這對您有幫助嗎?

我們應如何改進呢?
搜尋
清除搜尋內容
關閉搜尋
Google 應用程式
主選單
13981738343659263769
true
搜尋說明中心
true
true
true
true
true
69256
false
false
false
false