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

如何修改Google Analytics示例代码以获取关键词而非会话数?

获取Google Analytics关键词列表的API实现方法

嘿,刚上手Google Analytics API确实容易摸不着头绪,我来帮你把获取关键词列表的步骤理清楚!你之前能拿到会话数,说明API的基础调用已经通了,只需要调整**维度(Dimensions)和指标(Metrics)**的参数就行。

核心逻辑:用维度定位关键词

Google Analytics API的数据查询是「维度+指标」的组合模式,要拿到关键词,关键是要用到对应的维度:

  • 维度:ga:keyword —— 这个维度专门对应用户搜索时使用的关键词
  • 搭配指标:推荐用ga:sessions(和关键词绑定的会话数,能直观看到每个关键词的流量贡献)

调整你的API请求代码

假设你之前的会话数请求是类似这样的(以Python为例):

from googleapiclient.discovery import build

# 初始化API客户端(这部分你应该已经配置好了)
analytics = build('analyticsreporting', 'v4', credentials=credentials)

# 原请求:仅获取会话数
response = analytics.reports().batchGet(
    body={
        'reportRequests': [
            {
                'viewId': 'YOUR_VIEW_ID',
                'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
                'metrics': [{'expression': 'ga:sessions'}]
            }
        ]
    }
).execute()

现在修改成包含关键词维度的请求,还可以加个过滤规则去掉无效的(not set)数据:

# 修改后的请求:获取关键词+对应会话数
response = analytics.reports().batchGet(
    body={
        'reportRequests': [
            {
                'viewId': 'YOUR_VIEW_ID',
                'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
                'metrics': [{'expression': 'ga:sessions'}],
                'dimensions': [{'name': 'ga:keyword'}],
                # 可选:过滤掉直接流量的无关键词数据
                'filtersExpression': 'ga:keyword!=(not set)'
            }
        ]
    }
).execute()

解析返回的关键词数据

请求成功后,你可以这样提取并打印关键词列表:

for report in response.get('reports', []):
    # 获取表头信息
    dimension_headers = report.get('columnHeader', {}).get('dimensions', [])
    metric_headers = report.get('metricHeader', {}).get('metricHeaderEntries', [])
    
    # 遍历每一行数据
    for row in report.get('data', {}).get('rows', []):
        keywords = row.get('dimensions', [])
        session_counts = row.get('metrics', [])[0].get('values', [])
        
        # 输出关键词和对应会话数
        print(f"关键词: {keywords[0]}, 会话数: {session_counts[0]}")

几个注意点

  • 确认视图有搜索数据:如果你的网站没有站内搜索功能,或者流量大多是直接访问,ga:keyword字段可能会大量显示(not set)
  • 权限问题:确保你的API凭证拥有目标视图的读取权限
  • 数据采样:如果流量很大,API可能返回采样数据,可尝试缩小日期范围或添加'samplingLevel': 'LARGE'参数降低采样率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:16:29