用途:通过 GA4 Data API v1 的 runReport 端点读取 GA4 数据,构建指标、维度、日期范围、过滤与分页查询。前提是已完成认证(见 ga4-auth-setup),并具备 Python 与 google-analytics-data 包、数字属性 ID 和合理日期范围。
主要能力:runReport 覆盖多数读取场景;维度描述行(date、pagePath、sessionSource),指标描述值(activeUsers、sessions、screenPageViews 等)。支持 dimension_filter 与 metric_filter 的嵌套表达式(AND、NOT、字符串匹配),支持多个 date_ranges 做对比报告,支持 limit/offset 分页(单次上限 250000)。可用 check_compatibility 检查维度与指标组合是否有效。
使用方式:用 BetaAnalyticsDataClient 构造 RunReportRequest,指定 property="properties/123456789"、date_ranges、metrics、dimensions 后调用 client.run_report(req)。日期可用绝对 ISO 日期或 30daysAgo、yesterday、today 等相对形式。
限制:GA4 有 48 小时数据新鲜度,today 数据会波动;维度与指标存在兼容性矩阵,不兼容会返回 400 INVALID_ARGUMENT 或空结果;高基数自定义维度可能触发采样,需检查 metadata.data_loss_from_other_row;超过约 100 万行应改用 BigQuery 导出;配额耗尽返回 503 RESOURCE_EXHAUSTED。bounceRate、averageSessionDuration 为比率,不应跨行求和。