You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用Google Analytics 4 API设置多维度筛选器

GA4 Data API Python客户端多维度筛选实现方法

要实现country为United States且region为New York的多维度筛选,核心是用and_group组合多个FilterExpression,每个筛选条件都要单独包装成FilterExpression对象,具体代码如下:

完整实现代码

from google.analytics.data_v1beta import Filter, FilterExpression, FilterExpressionList
from google.analytics.data_v1beta.services.analytics_data import AnalyticsDataClient
from google.analytics.data_v1beta.types import RunReportRequest, Dimension, Metric

# 初始化客户端
client = AnalyticsDataClient()
PROPERTY_ID = "你的GA4属性ID"

# 构建第一个筛选条件:country为United States
country_filter_expr = FilterExpression(
    filter=Filter(
        field_name="country",
        string_filter=Filter.StringFilter(
            match_type=Filter.StringFilter.MatchType.EXACT,
            value="United States"
        )
    )
)

# 构建第二个筛选条件:region为New York
region_filter_expr = FilterExpression(
    filter=Filter(
        field_name="region",
        string_filter=Filter.StringFilter(
            match_type=Filter.StringFilter.MatchType.EXACT,
            value="New York"
        )
    )
)

# 组合两个筛选条件(逻辑AND)
combined_filter = FilterExpression(
    and_group=FilterExpressionList(
        expressions=[country_filter_expr, region_filter_expr]
    )
)

# 构建报表请求
request = RunReportRequest(
    property=f"properties/{PROPERTY_ID}",
    dimensions=[Dimension(name="country"), Dimension(name="region")],
    metrics=[Metric(name="activeUsers")],
    dimension_filter=combined_filter
)

# 执行请求并获取结果
response = client.run_report(request)

关键注意事项

  • 每个维度筛选条件必须单独封装为FilterExpression,不能直接把Filter对象放进expressions列表(这就是你第三种尝试出错的原因)
  • dimension_filter参数只能接收单个FilterExpression对象,不能传列表(对应你第二种尝试的错误)
  • 单个FilterExpression的filter参数只能接收单个Filter对象,不能传列表(对应你第一种尝试的错误)

内容的提问来源于stack exchange,提问作者Stevoisiak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 08:52:38