如何通过GA4 API获取Exit Pages(退出页面)数据?
GA4 API 获取退出页面(Exit Pages)数据实现方案
GA4 没有像旧版UA一样把退出页作为开箱即用的独立报告入口放在显眼位置,但通过官方GA4 Data API v1 完全可以拿到和UA口径一致的退出页数据,不需要自己做额外的日志埋点或者二次计算,具体配置如下:
核心参数配置
调用API时按下面的规则传维度和指标即可,和普通GA4报告请求的写法没有区别:
- 维度选择:
- 必选核心维度:
sessionExitPagePathPlusQueryString,对应带查询参数的退出页完整路径;如果不需要统计查询参数差异,换成sessionExitPagePath即可 - 可选扩展维度:可按需搭配
sessionDefaultChannelGroup(流量渠道)、deviceCategory(设备类型)、country(国家/地区)等维度做拆分统计,和其他GA4报告的维度用法完全一致
- 必选核心维度:
- 指标选择:
- 核心必选指标:
exits,即对应页面作为会话最后一个交互页面的次数,和UA的退出次数口径完全对齐 - 可选扩展指标:
exitRate(退出率,GA4已内置计算逻辑,直接调用即可,不需要自行除以会话数)、sessions(会话数)、totalUsers(用户数)
- 核心必选指标:
常见错误避坑
- 不要误用普通页面维度搭配退出指标:如果选
pagePath/pagePathPlusQueryString这类普通页面命中维度搭配exits指标,返回的数据会重复统计会话内所有访问过的页面,结果完全不准,必须选带sessionExit前缀的专属页面维度 - 不需要自定义计算:网上部分旧教程说需要拉取全量会话hit数据自己找最后一个页面,是GA4早期API没上线退出页维度时的临时方案,现在直接用内置维度指标即可,数据准确且请求效率高
- 过滤规则和其他报告通用:如果需要排除特定页面、过滤特定流量,正常在API请求里加
dimensionFilter/metricFilter即可,没有特殊限制
请求示例(Python客户端)
from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import ( DateRange, Dimension, Metric, RunReportRequest, ) # 初始化客户端,凭证配置和其他GA4 API请求一致 client = BetaAnalyticsDataClient() request = RunReportRequest( # 替换成自己的GA4媒体资源ID,格式为properties/123456789 property="properties/替换为你的GA4资源ID", dimensions=[ Dimension(name="sessionExitPagePathPlusQueryString"), # 可按需加其他维度 # Dimension(name="sessionDefaultChannelGroup") ], metrics=[ Metric(name="exits"), Metric(name="exitRate"), Metric(name="sessions") ], date_ranges=[DateRange(start_date="30daysAgo", end_date="today")], # 可按需加排序、过滤规则 # order_bys=[OrderBy(metric=MetricOrderBy(metric_name="exits"), desc=True)] ) response = client.run_report(request) # 后续解析response的逻辑和其他GA4 API请求完全一致
数据校验方法
拿到API返回结果后,可以直接在GA4前台的「参与度」-「网页和屏幕」报告中,把默认维度切换为「退出页面」,选择相同时间范围对比数值,结果完全一致,和旧UA的Exit Pages报告统计口径没有偏差。
内容的提问来源于stack exchange,提问作者Ludovic ADAM
相关产品推荐
相关产品推荐

