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

通过Python调用Google Analytics API 4获取获客渠道新用户数据

解决Google Analytics API拉取指定渠道新用户数据的问题

首先,你遇到的Selected dimensions and metrics cannot be queried together报错,本质是两个核心问题导致的:

  • 错误使用了ga:cohort维度:这个维度是专为同期群分析设计的,和你要获取的常规渠道流量指标不兼容;
  • 指标表达式写法错误:ga:acquisitionTrafficChannel/ga:newUsers不是合法的GA指标语法,你需要直接用ga:newUsers来获取新用户数。

针对你要获取的两类获客渠道数据,我整理了精准匹配GA界面的请求配置:

1. 获取「推荐 > 指定推荐站点」的新用户数

要对应GA界面「获取 > 所有流量 > 渠道 > 推荐 > 指定站点」的数据,你需要:

  • 维度:ga:channelGrouping(定位到「推荐」渠道) + ga:source(指定具体推荐站点)
  • 指标:ga:newUsers
  • 过滤条件:限制渠道分组为Referral

示例代码

from datetime import datetime, timedelta

# 日期范围(和你之前的30天逻辑保持一致)
start_date = datetime.strftime(datetime.now() - timedelta(days=30), '%Y-%m-%d')
end_date = datetime.strftime(datetime.now(), '%Y-%m-%d')

# 推荐站点请求配置
referral_request = {
    'viewId': 'XXXXXXX',
    'dimensions': [
        {"name": "ga:channelGrouping"},
        {"name": "ga:source"}
    ],
    'metrics': [{'expression': 'ga:newUsers'}],
    'dateRanges': [{'startDate': start_date, 'endDate': end_date}],
    'filtersExpression': 'ga:channelGrouping==Referral'
}

如果只需要某一个特定推荐站点(比如example.com),可以把过滤条件改成:'filtersExpression': 'ga:channelGrouping==Referral;ga:source==example.com'

2. 获取「社交 > Facebook」的新用户数

对应GA界面「获取 > 所有流量 > 渠道 > 社交 > Facebook」的数据,配置如下:

  • 维度:ga:channelGrouping(定位到「社交」渠道) + ga:source(指定Facebook)
  • 指标:ga:newUsers
  • 过滤条件:限制渠道分组为Social且来源包含facebook(兼容大小写或变体,比如m.facebook.com)

示例代码

# Facebook社交渠道请求配置
facebook_request = {
    'viewId': 'XXXXXXX',
    'dimensions': [
        {"name": "ga:channelGrouping"},
        {"name": "ga:source"}
    ],
    'metrics': [{'expression': 'ga:newUsers'}],
    'dateRanges': [{'startDate': start_date, 'endDate': end_date}],
    'filtersExpression': 'ga:channelGrouping==Social;ga:source=@facebook'
}

批量请求(一次获取两类数据)

你可以把两个请求放到reportRequests数组中,一次性批量获取:

batch_request = {
    'reportRequests': [referral_request, facebook_request]
}

# 调用API执行请求(需确保已完成GA API授权)
# response = analytics.reports().batchGet(body=batch_request).execute()

关键注意事项

  • 确认你的GA视图ID(viewId)正确,且API权限已配置完成;
  • 日期范围要和GA界面完全一致,才能保证数据精准匹配;
  • 如果你的GA账户自定义了渠道分组,需要把ga:channelGrouping的过滤值改成自定义渠道名称(比如不是默认的Referral/Social);
  • 返回的ga:newUsers值就是整数,直接提取即可,和GA界面显示的数值完全同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:50:13