unsplash.com/Detail .co

[GA4][Firebase] App 追蹤:什麼時候需要用手動送 screen_view (畫面瀏覽) 事件?

GA4 網站分析商務實戰 Sep 14, 2026
快速導覽

前言

過往在執行 App 追蹤,只要埋設 Firebase SDK,畫面瀏覽通常是採用【自動追蹤】的方式來處理。

事件名稱 自動觸發時機… 事件參數
screen_view
(應用程式畫面瀏覽)
使用者切換畫面 且 滿足下列任一條件時,就會觸發這個事件:
  • 先前未設定任何畫面
  • 新畫面名稱與前一個畫面的名稱不同
  • 新畫面類別名稱與前一個畫面的類別名稱不同
  • 新畫面 ID 與前一個畫面 ID 不同
firebase_screen、firebase_screen_class、firebase_screen_id、firebase_previous_screen、firebase_previous_class、firebase_previous_id、engagement_time_msec


在【自動傳送 screen_view 事件】內,系統會預設傳送 screen_namescreen_class 這兩個參數。
讓我們可以在 GA4 報表中使用【網頁標題與畫面名稱】、 【網頁標題與畫面類別】、【網頁標路徑與畫面類別】這三個維度來觀察數據。
事實上, 大家最常用的維度還是【網頁標題與畫面名稱】。

但問題來了:如果我們想跟網站追蹤一樣,在 App 裡使用【內容群組 Content Group】分析頁面,或者是在 screen_view 事件加入自訂參數,這樣是可行的嗎?

答案是可以的!

本篇文章將深入探討 screen_view 事件。


1. 手動送 screen_view 事件

要執行【手動傳送 screen_view 事件】 ,最基本的要求是必須傳送 screen_namescreen_class 這兩個參數

手動追蹤畫面
https://firebase.google.com/docs/analytics/screenviews?hl=zh-tw#manually_track_screens
💡
無論是否啟用自動追蹤功能,您都可以手動記錄 screen_view 事件。
您可以使用 onAppear 或 viewDidAppear 方法記錄 Apple 平台上的這些事件,並使用 onResume 記錄 Android 平台上的事件。如果未設定 screen_class,Analytics 會根據進行呼叫時焦點區域中的 UIViewController 或 Activity 設定預設值。


那...到底什麼時候才需要【手動傳送 screen_view 事件】呢?

💡
如果在執行 App 追蹤建置時遇到以下任一個情境,
就需要使用手動傳送 screen_view 事件
● 情境1:Hybrid App 裡 WebView 需要發送畫面瀏覽事件。
● 情境2:需要在 screen_view 事件中增加自訂參數。


1-1. 情境1:Hybrid App 裡 WebView 需要發送畫面瀏覽事件

關於情境1,在之前的文章有提到 Hybrid App 內 WebView 追蹤方式,可參考這篇

[GA4] Firebase Hybrid App 要使用 GA4 追蹤,該如何管理呢?GTM 讓你一次搞定



1-2. 情境2:screen_view 事件要傳送自訂參數

因為系統【自動傳送】的 screen_view 事件,預設只會傳送 screen_namescreen_class
所以,如果想在畫面瀏覽時記錄更多維度,就必須靠【手動傳送】。


建議可增加的自訂參數如下

自訂參數名稱

用途說明

screen_name

畫面名稱

  • 自定義畫面名稱

content_group

頁面分類

  • 可將多個頁面歸納為同一分類,方便進行內容群組分析。

screen_title

畫面標題

  • 如果 screen_name 的值是以英文為主,可以增加此自訂參數紀錄中文的值。

page_location

網頁位置

  • 如果是 WebView 頁面,可記錄此 WebView 原本的網址。

  • 參數值會有限制的字元數,請參考下方說明。

💡
事件參數值上限
page_locaionscreen_view 事件搭配,是屬於一般的事件參數,會受到參數值的長度限制。
● GA4 標準免費版:事件參數值不得超過 100 個半形字元。
● GA4 360 付費版:事件參數值不得超過 500 個半形字元。
● 當 page_location 搭配 page_view 事件,page_location 參數值上限可以到 1,000 個字元。


增加自訂參數之後,以 Swift 為例

Analytics.logEvent(AnalyticsEventScreenView,
                    parameters: [
                        AnalyticsParameterScreenName: screenName,
                        AnalyticsParameterScreenClass: screenClass,
                        "screen_title": screenTitle
                    ])



2. 執行 【手動送 screen_view 事件】注意事項

2-1. 注意事項1:一定要關閉 自動傳送 screen_view 事件

如果沒有關閉預設的自動傳送,系統會同時傳送自動與手動事件,
造成重複傳送 screen_view 事件,影響頁面瀏覽量數據的真實性。

停用畫面瀏覽追蹤
https://firebase.google.com/docs/analytics/screenviews?hl=zh-tw#disable_screenview_tracking


2-2. 注意事項2:必須是該畫面的【第一個觸發事件】。

💡
手動傳送 screen_view 事件,必須在每個畫面轉換當下立刻觸發,且必須是該新畫面的第一個事件。

如果 沒有觸發 screen_view 事件   或  screen_view 不是該新頁面第一個觸發事件,會導致 GA4 和 Firebase 收到不正確的資料,使數據失真。

最常見的狀況:使用者從 A 頁面進到 B 頁面,在 B 頁面上沒有觸發 screen_view 事件,在 B 頁面上後續所有點擊行為都會被記錄在前一頁(A頁面)上。


2-3. 注意事項3:到 GA4 資源增加自訂維度

手動傳送 screen_view 事件時,如有增加傳送自訂參數,記得要進到 GA4 資源 → 管理 → 資料顯示 → 自訂定義 → 增加自訂維度,否則在 GA4 資源 內會看不到這些自訂參數的資料喔!



參考資料

[GA4] 自動收集的事件
https://support.google.com/analytics/answer/9234069?hl=zh-Hant

Tags