GA4 到達頁面分析師
一個直接從 GA4 讀取資料而非要求匯出檔案的到達頁面審查工具。每一項發現都來自此技能執行的查詢,且每項發現都會顯示背後的數據。
開始前
你需要連接 InsightfulPipe MCP 並設定一個 GA4 資源。Google Ads 和 Search Console 為選用;它們能提供每個頁面的付費費用和有機點擊數。
- 呼叫
query_contexts,參數為request="accounts"和platform="google-analytics"。記下workspace_id、brand_id和property_id。如果有多個資源,請詢問使用者選擇哪一個。將屬性傳遞為properties/<id>。 - 呼叫
query_contexts,參數為request="actions_details",分別查詢get_report、pages、list_key_events、list_data_streams和get_enhanced_measurement_settings,並依照其回傳的請求格式建立後續呼叫。 - 如果使用者也想要付費或有機流量的詳細資料,也請執行
accounts查詢google-ads和google-search-console,然後執行actions_details查詢gaql(platform="google-ads") 和search_analytics(platform="google-search-console")。使用list_google_ads_links顯示為與此資源連結的 Google Ads 帳戶,以及與資料串流defaultUri相符的 Search Console 網站。Google Ads 請求中的帳戶 ID 欄位名為account_id(10 位數字,無連字號),而非customer_id。 - 向使用者詢問三項資訊,如果使用者不清楚則使用預設值:
- 主要轉換目標。 預設值:
list_key_events中的關鍵事件。 - 網站的 404 頁面標題。 預設值:包含「找不到」或「404」的標題。
- 日期範圍。 預設值:最近完整的 30 天,並與前 30 天進行比較。
- 主要轉換目標。 預設值:
在報告頂部說明使用的日期、資源名稱、其時區及幣別。
如何執行查詢
以下所有請求主體皆經由 query_data 發送,platform="google-analytics",除非另有指定平台。請將 <WORKSPACE_ID>、<BRAND_ID>、<PROPERTY_ID>、<START> 和 <END> 替換為實際值。API 強制執行的規則:
- 篩選器使用駝峰式命名。 使用
dimensionFilter、metricFilter和orderBys。使用底線命名法(snake_case)的dimension_filter會被 API 靜默忽略,導致你取回所有資料列,因此請務必檢查經過篩選的報表是否真的應用了篩選條件。 - 資料列限制。 請傳遞
limit參數。回應中的meta.paging.total_available是總資料列數;當你僅讀取部分資料時,請說明這一點。 - GA4 Data API 中沒有「退出率」指標。 請不要承諾提供退出率。流失是以非互動工作階段來衡量(請見下方說明)。
- 廣告費用無法在 GA4 中按到達頁面拆分。 在查詢中同時使用
advertiserAdCost和landingPage會導致錯誤。請改用 Google Ads 的landing_page_view取得每個到達頁面的費用。 - GA4 中的自然搜尋指標(如
organicGoogleSearchClicks)僅在 Search Console 已連結至該資源時才能運作。如果出現錯誤,請改用 Search Console 動作。 - 比率以小數形式回傳(0.42 表示 42%)。持續時間以秒為單位。
如果某個查詢失敗,請繼續進行後續分析。將該區域標記為未知,並說明是哪個查詢失敗及其原因。切勿憑猜測填補任何空缺。
樣本大小。 請勿判斷在指定期間內工作階段數少於 30 的頁面。將這些頁面列在「流量過少,無法判斷」之下。
六大分析區域
每個區域的評分結果為通過、警告、失敗或未知。區域的最終結果取其內最差的檢查項目的評分。以下閾值為起點;如果網站的商業模式使某些閾值不適用(例如說明文件頁面本應被閱讀後就離開,聯絡我們頁面本就該簡短),請說明原因。
1. 資料健康度:數據可以信任嗎?
{"platform": "google-analytics", "action": "get_property", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "list_key_events", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "list_data_streams", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>"}
{"platform": "google-analytics", "action": "get_enhanced_measurement_settings", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "data_stream_id": "<STREAM_ID>"}
<STREAM_ID> 取自 Web 資料串流 name 結尾的數字。
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["date"], "metrics": ["sessions", "engagedSessions", "keyEvents", "screenPageViews"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"dimension": {"dimensionName": "date"}}]}
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["eventName"], "metrics": ["eventCount", "keyEvents"], "start_date": "<START>", "end_date": "<END>"}
| 檢查項目 | 結果判定 |
|---|---|
| 關鍵事件 | 如果完全未定義則為失敗。如果已定義但在期間內從未觸發,則為警告:區域 2 和 3 的轉換檢查結果將變為未知,並改以互動工作階段對頁面進行排名。解決方案在於網站本身(事件未送出),而非新增關鍵事件。當有類似轉換的事件(出現在 eventName 報表中)但未被設為關鍵事件時,可提議使用 create_key_event 將其設為關鍵事件。 |
| "(not set)" 到達頁面 | landingPage 為 "(not set)" 或空白的會話所佔比例:這些會話在開始時沒有頁面瀏覽(例如同意橫幅阻擋、標籤延遲觸發、會話超時後重啟)。高於 5% 則警告,高於 15% 則失敗。 |
| 資料缺口 | 若期間內有任何一天的工作階段數為 0,或低於該期間每日工作階段中位數的 20%,則警告。請說明具體日期。 |
| 多個資料串流 | 當一個資源擁有多個 Web 資料串流時(測試或預備串流可能引入雜訊流量),請特別註明。若數字異常偏高,請檢查 hostName。 |
| 加強型評估 | 請註明 scrollsEnabled 和 siteSearchEnabled 是否已啟用。區域 4 和 6 依賴於此設定。 |
2. 到達頁面成效與流失
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage"], "metrics": ["sessions", "engagedSessions", "engagementRate", "keyEvents", "sessionKeyEventRate", "newUsers", "averageSessionDuration"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"metric": {"metricName": "sessions"}, "desc": true}], "limit": 250}
針對前一個相同長度的期間,再次執行此查詢。
- 網站基準率。 計算所有工作階段(排除 "(not set)" 到達頁面)的互動率與關鍵事件率。
- 流失頁面。 對於每個工作階段數達 30 以上的頁面:非互動工作階段 = 工作階段 − 互動工作階段。超額流失 = 非互動工作階段 − 工作階段 × (1 − 網站互動率)。這代表了該頁面相較於一般頁面,多流失了多少訪客。請為每個工作階段數達 30 以上的頁面計算此數值,並將所有超額流失為正值的頁面進行排名;此排名將用於找出前 5 個最需要改善的頁面。一個流量大、互動率僅略低於網站基準的頁面,其流失的訪客總數可能超過一個流量小、互動率遠低於基準的頁面。此外,當一個頁面的互動率低於網站基準率的 75% 時,請將其標記為「流失」;此標籤用於決定本區域的最終評分以及到達頁面表格中的評價,而非用於上述的改善排名。如果所有流失頁面共同佔據超過 10% 的總工作階段數,則警告;超過 25% 則失敗。
- 轉換頁面。 當有關鍵事件觸發時:列出關鍵事件率最高(工作階段數達 30 以上)的頁面,以及工作階段數最多但其關鍵事件率低於網站基準率一半的頁面。後者是需要優先修正的頁面。
- 變化。 找出在兩個期間內工作階段數皆達 50 以上,且工作階段數變化超過 30% 的頁面。請區分「新增/消失」的頁面與「成長/衰退」的頁面。
- 查詢字串。 如果同一路徑在
landingPagePlusQueryString下顯示出多種變體,表示該頁面本身沒問題;請勿將其拆分處理。請使用landingPage(僅路徑)作為所有判斷的依據。
3. 流量來源契合度:哪些頁面為哪些訪客提供了良好體驗?
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage", "sessionDefaultChannelGroup"], "metrics": ["sessions", "engagedSessions", "keyEvents"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"metric": {"metricName": "sessions"}, "desc": true}], "limit": 1000}
- 各廣告來源的比率。 針對每個工作階段數達 30 以上的管道群組,計算每個到達頁面的互動率與關鍵事件率。如同區域 2,請將 "(not set)" 到達頁面排除在所有比率計算之外;它們主要集中在「有機搜尋」和「直接」管道中,會拖累這些管道的表現。付費管道包括:付費搜尋、付費社群、付費購物、付費影片、付費其他、聯播網和跨網。
- 表現不佳的付費頁面。 如果一個頁面的付費互動率低於同一頁面有機或直接互動率的 75%,表示廣告訊息與到達頁面內容不符:廣告承諾了頁面未提供的內容。如果關鍵事件有觸發,請改為比較關鍵事件率。
- 有機到達頁面。 依工作階段數列出最主要的幾個有機搜尋到達頁面,並附上它們的互動率。如果有單一頁面承載了超過 50% 的有機工作階段,則警告(這樣一旦該頁面排名變動,流量可能會大幅下降)。
- 弱勢來源。 一個工作階段數達 100 以上,但互動率低於網站基準率 75% 的管道,表示它帶來的訪客無法被到達頁面服務。直接流量並非可以主動優化的來源:一個弱的直接互動率通常意味著未標記的連結(來自 Email、App、即時通訊軟體等),因此解決方案是使用 UTM 標記,而不是修改頁面。當出現此情況時警告,並列出該管道流量主要落地的前 3 個到達頁面,以便針對正確的頁面(或發送該流量的貼文/連結)進行修正。在計算流失排名時,請以頁面為單位計算流失量,切勿以整個管道為單位:該頁面來自此管道的工作階段數 × 網站互動率 − 該頁面來自此管道的互動工作階段數。一個管道有兩個工作階段計數:所有工作階段數,以及具有已知到達頁面的工作階段數(即計算比率的基礎)。請同時提供完整的計數和排除的說明,例如「500 個工作階段,其中 460 個具有已知到達頁面」;切勿只顯示較小的那個數字。
- 付費佔比。 說明付費工作階段所佔的比例。如果付費工作階段總數低於 30,請說明無法判斷付費流量品質,並跳過付費相關的檢查。
僅在付費搜尋工作階段達 30 以上時,才執行以下付費搜尋細節查詢:
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage", "sessionGoogleAdsCampaignName"], "metrics": ["sessions", "engagedSessions", "keyEvents"], "start_date": "<START>", "end_date": "<END>", "dimensionFilter": {"filter": {"fieldName": "sessionDefaultChannelGroup", "stringFilter": {"matchType": "EXACT", "value": "Paid Search"}}}, "limit": 500}
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["sessionGoogleAdsCampaignName"], "metrics": ["sessions", "advertiserAdCost", "advertiserAdClicks"], "start_date": "<START>", "end_date": "<END>"}
在連線 Google Ads 帳戶後,使用以下查詢取得每個最終到達網址的費用和轉換。請將 <ACCOUNT_ID> 替換為已連結帳戶的 ID:
{"platform": "google-ads", "action": "gaql", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<ACCOUNT_ID>", "query": "SELECT landing_page_view.unexpanded_final_url, metrics.clicks, metrics.cost_micros, metrics.conversions FROM landing_page_view WHERE segments.date BETWEEN '<START>' AND '<END>' ORDER BY metrics.cost_micros DESC LIMIT 100"}
- 透過比對路徑的方式,將最終 URL 匹配到 GA4 的
landingPage:忽略主機名稱、查詢字串以及類似{ignore}的追蹤範本。 - 每個互動工作階段的付費頁面成本 = 費用 ÷ 該頁面從 GA4 獲得的付費互動工作階段數。標記出費用位於前 50%,且其每次互動工作階段成本超過付費平均值兩倍的頁面。
- GA4 的關鍵事件與 Google Ads 的轉換計算方式不同(歸因模式、計數方式、匯入方式)。請並列報告兩者,切勿將二者相減。
若已連線 Search Console(platform="google-search-console",action="search_analytics"):
{"platform": "google-search-console", "action": "search_analytics", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "site_url": "<SITE_URL>", "dimensions": ["page"], "start_date": "<START>", "end_date": "<END>", "row_limit": 250}
- 以路徑進行資料合併。對於 Search Console 點擊數達 30 以上的頁面,如果 GA4 的有機搜尋工作階段數低於點擊數的 60%,則警告:這表示該頁面的追蹤有問題(例如同意橫幅阻擋、標籤延遲觸發,或工作階段落在 "(not set)" 到達頁面)。GA4 顯示的有機工作階段數可能多於 Google 點擊數,因為 GA4 的「有機搜尋」管道還計算了 Bing、DuckDuckGo 等其他搜尋引擎;這不是問題。一個具有高曝光次數但低點擊率的頁面,問題出在標題和摘要,而非到達頁面本身;請將此類問題交由 SEO 相關技能處理。
4. 內容互動度與捲動
{"platform": "google-analytics", "action": "pages", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["pagePath"], "metrics": ["screenPageViews", "activeUsers", "userEngagementDuration", "scrolledUsers"], "start_date": "<START>", "end_date": "<END>", "limit": 250}
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["percentScrolled"], "metrics": ["eventCount"], "start_date": "<START>", "end_date": "<END>", "dimensionFilter": {"filter": {"fieldName": "eventName", "stringFilter": {"matchType": "EXACT", "value": "scroll"}}}}
- 每次瀏覽的互動時間 = userEngagementDuration ÷ screenPageViews,適用於瀏覽次數達 100 以上的頁面。
- 捲動深度分佈。 將
percentScrolled維度(從scroll事件報告中取得)轉換為區間(例如 0-25%、25-50%、50-75%、75-100%)。說明內容頁面中「從未捲動」的訪客比例(可用scrolledUsers與activeUsers推算:從未捲動比例 = 1 − scrolledUsers / activeUsers)。警告:如果一半以上的內容頁面與基準頁面(例如首頁)相比,其深度捲動比例明顯較低,則應建議考慮內容重寫或重新設計版面。 - 站內搜尋(需啟用加強型評估)。 使用維度
searchTerm查詢view_search_results事件。列出前 10 個最熱門的搜尋詞及其觸發的總事件數。標記出搜尋後產生的零結果頁面。 - 404 頁面。 提出一個問題,詢問 404 頁面的標題是什麼,並使用使用者的回答來識別「頁面標題包含該文字」的頁面。報告應包含連接到該 404 頁面作為到達頁面的前 3 個來源頁面。提及任何在期間內對 GA4 屬性具有「檢視」權限的人都可以透過報告中的連結自行設定自訂 404 頁面監控。
5. 轉換路徑效率
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage", "sessionDefaultChannelGroup"], "metrics": ["sessions", "engagedSessions", "keyEvents"], "start_date": "<START>", "end_date": "<END>", "orderBys": [{"metric": {"metricName": "keyEvents"}, "desc": true}], "limit": 250}
如果關鍵事件未觸發,則跳過此區域。
- 轉換漏斗。 針對每個關鍵事件率大於 0 的到達頁面(工作階段數達 30 以上),計算從工作階段數到關鍵事件的轉換率。找出轉換序列:訪問者是否先在一個頁面進行互動,然後才在另一個頁面轉換?使用使用者層級的路徑分析來識別常見的轉換路徑。警告:如果超過 50% 的轉換發生在與到達頁面不同的頁面上。
- 多點觸及。 列出前 5 個在轉換前最常被瀏覽的中間頁面。這些頁面在首次互動與最終轉換之間扮演著推動或協助的角色。根據與中間頁面的互動情況,評估轉換所需的時間。警告:如果轉換路徑中出現多於 3 個頁面。
6. 行動呼籲與站內搜尋契合度
(需啟用加強型評估中的站內搜尋功能;如果未啟用,則將此區域標記為未知,並簡單說明所需功能。)
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["searchTerm", "landingPage"], "metrics": ["eventCount"], "start_date": "<START>", "end_date": "<END>", "dimensionFilter": {"filter": {"fieldName": "eventName", "stringFilter": {"matchType": "EXACT", "value": "view_search_results"}}}, "limit": 100}
- 搜尋詞與到達頁面的配對。 對於具有關聯到達頁面的搜尋詞,評估到達頁面內容與使用者搜尋意圖的契合度。例如,當訪客到達某個到達頁面並搜尋「價格」時,表示定價資訊可能難以找到。警告:如果在使用落地頁面內容後出現的搜尋詞與預期內容無關,則表示需要改善可用性。
- 站內搜尋滲透率。 計算進行站內搜尋的活躍使用者比例。對於此滲透率高於 15% 的到達頁面,應主動建議改善到達頁面內容與搜尋列的使用者體驗。警告:如果有多個到達頁面的站內搜尋滲透率高於 15%。
輸出格式
技能應按以下順序輸出報告:
- 摘要區塊: 以重點摘要說明整體健康狀況、主要發現與行動建議。
- 資料健康度區塊: 區域 1 的結果。
- 頂級表現頁面表格: 顯示前 10 個到達頁面(依工作階段數排名)及其關鍵指標。新增一個「評價」欄,根據頁面是否被標記為「流失」或為「轉換頁面」來判定(若是流失頁面則為「不及格」,其他為「及格」)。在此表格下方,列出前 5 個需要優先修正的流失頁面。
- 流量來源契合度區塊: 區域 3 的結果,包括客戶獲取成本(CAC)洞察(若適用的話)。
- 內容與站內搜尋區塊: 區域 4、5 和 6 的結果。
- 總結與建議: 可採取行動的建議列表,可包含用於自動化(例如設定關鍵事件、GA4 自訂警報)的 MCP 動作呼叫。