调用Google Search Console API如何按页面聚合合并指标数据?
GSC API按页面分组聚合数据问题解答
核心结论
Google Search Console Search Analytics API原生不支持同时实现「按页面合并条目聚合指标」+「保留每个页面对应的全量搜索词明细」的需求,具体说明和可行方案如下:
问题原因说明
- 你当前的请求指定了
dimensions = ['page', 'query']两个维度,API返回的每一行数据天然是「单个页面+单个搜索词」的细粒度组合,只要你携带了query维度,就必然会出现同一个页面对应多条搜索词条目的情况。 aggregationType参数的作用是调整数据统计的底层聚合逻辑,不是控制返回结果的行合并规则:byPage代表统计时按单个页面维度计算数据byProperty代表统计时将整个资源站点的所有页面数据合并计算- 无论怎么修改这个参数,都不会改变多维度请求下的细粒度行返回规则
可行方案
方案1:仅需要页面级聚合指标,不需要关联搜索词
直接将维度配置改为仅保留page即可,API会直接返回每个页面聚合后的总点击、曝光、点击率、排名数据,无需二次处理:
// 只保留page维度即可直接获得页面级聚合结果 $dimensions = ['page'];
方案2:既需要页面聚合指标,又需要保留每个页面的搜索词明细
只能在本地做数据处理,步骤如下:
- 调整请求的
rowLimit参数,最大可设置为25000,数据量超过上限的话需要通过startRow参数分页拉取全量「页面+搜索词」明细数据 - 遍历返回结果,以页面URL为键做分组:将同个URL下的所有搜索词存入对应列表,同时累加该页面所有条目的点击、曝光等指标,即可得到你需要的合并结果
内容的提问来源于stack exchange,提问作者skytorner
相关产品推荐
相关产品推荐

