跳到主要内容
AI教程

用Codex搭建谷歌SEO数据的GSC GA4自动化

通过Google Search Console和GA4导出数据,结合Excel分析网站流量与转化情况,帮助识别问题页面并优化策略。

用Codex搭建谷歌SEO数据的GSC GA4自动化

做独立站的时候,我发现自己每周一上午都在做同一件事。

打开Google Search Console,手动导出上个月的查询数据。打开GA4,把流量前50的落地页导出成CSV。用Excel把两张表拼在一起——GSC的曝光点击和GA4的会话转化,按URL对齐。然后手工标颜色:流量跌了标红,转化率低于平均标黄。

整个过程大概一个半小时。做完之后发到群里,客户回一句"收到"。

我干了三年这个活,每周如此。

直到上个月,我一个做技术的朋友瞄了一眼我的屏幕,说了一句让我很扎心的话:"你这个不就是API接一下的事么,为什么每周都在手动干。"

我愣了一下。他说得对。不是因为我不知道GSC和GA4有API。是因为每次想到"写脚本调API"这件事,脑子里蹦出来的画面就是一整个工程——写Python、处理认证、处理分页、处理字段映射、写前端展示……这些事情加起来确实能省时间,但启动成本高到我一直懒得动手。

转折点是什么?是Codex。

一、先说一下Codex是什么——以及为什么不是ChatGPT

很多人听到AI写代码,第一反应是"ChatGPT帮我写个脚本"。这我也试过。ChatGPT给你一段代码,你粘到编辑器里,调环境、装依赖、跑报错、把报错贴回去让它改、再跑、再报错……来回七八轮,比手动导数据还累。

Codex的定位完全不一样。它是一个在终端里直接运行的编程Agent——它有自己独立的沙箱环境,能读文件、写文件、装包、执行命令、处理报错,从头到尾不需要你把代码拷来拷去。你给它一个自然语言的指令,它自己去规划、去写、去跑、去修。

举个例子,我给它的一句话是:

"帮我把GSC最近28天的查询数据导出来,和GA4的落地页数据按URL合并,做一个流量下降最多的前20个页面的表格。"

它自己完成了下面这些事:

•检测当前环境有没有Google API的Python库,没有就自己装上•读取我的GSC和GA4认证文件路径,处理OAuth•调用GSC API拉查询维度+页面维度的数据,自动处理分页•调用GA4 Data API拉落地页维度的会话和转化•清洗URL(去掉参数、去掉末尾斜杠、统一www前缀)•按URL做交集合并,计算每个页面的曝光-点击-转化漏斗•输出一个按流量下降幅度排好序的Markdown表格

整个过程我在旁边看着屏幕,它自己跑完了。中间GA4 API的日期格式报了一次错——它读完报错信息,自己修了,重新跑,通了。

🔴 AI编程工具的区别不是"能不能写代码"——都能写。关键在"能不能自己跑通"。

二、用Codex跑GSC+GA4数据闭环的完整过程

下面我按实际操作顺序复盘这套流程怎么搭起来的。不讲理论,每一步都是我在终端里真实跑过的。

1. 准备工作:Google Cloud 认证

这件事绕不开。GSC和GA4的API都要走Google Cloud的OAuth或Service Account认证。不管你用不用AI,这一步都得手工操作。

我做的事:

•在Google Cloud Console建了一个项目,启用Search Console API和Google Analytics Data API•建了一个Service Account,把JSON密钥文件下载到本地•在GSC里把这个Service Account的邮箱加为"受限用户"(完整权限)•在GA4的后台把这个邮箱加为"数据查看者"

Codex在这个步骤帮不了你——认证授权是人机交互的流程,它不能替你点Google的授权页面。但后面每一步,只要认证文件路径对,它都能无缝对接。

⚠️ 大部分API自动化卡住的第一个地方不是代码,是权限。Google的权限系统像一个俄罗斯套娃——GSC一个入口、GA4另一个入口、Google Cloud还有一个入口,三个入口的权限互不打通。这一步耐心走完,后面就顺了。

2. 第一个Skill:拉GSC查询数据

Codex的工作方式是——你可以把一组任务打包成一个可复用的 Skill(技能文件),放在 ~/.codex/skills/ 目录下,每次调用同一个Skill,它就按同一套逻辑执行。

我先写了一个最简单的版本:只拉GSC的查询维度数据。

这个Skill告诉Codex三件事:用哪个API、取什么维度、输出成什么格式。运行了一次之后,它跑了大概40秒,输出了一个排名前100的查询词列表,列了点击量、展示量、CTR和平均排名。

我拿这个结果跟上个月手动导出的CSV对了一遍——数据完全一致。当时有一种"手工时代结束了"的感觉。

但不是完全准确。GSC API有个坑:它默认只给1000行,超过就要翻页。第一次跑的时候,我那个站一个月有3400多条查询——Codex自己发现返回数据的行数对不上,加了分页逻辑重新跑了一遍,第二次就全了。

它自己发现。自己修。这是跟用ChatGPT写脚本完全不一样的体验。

3. 第二个Skill:把GA4接进来

拉完GSC之后,我让它把GA4的落地页数据也拉下来。

这个难度高了一截。GA4的Data API需要你自己建一份"数据请求体"——定义你要的维度(landingPage)、指标(sessions、conversions、eventCount)、日期范围和过滤条件。请求体的JSON结构跟GSC完全不一样,而且GA4的回包里字段名是一长串 eventName_xxx 的格式,需要自己去解析。

Codex读写GA4 API的姿态让我印象深刻——它不是机械地按指令调API,而是在调之前先做了一次 Schema探测:调GA4 Metadata API,把你这个属性里有哪些维度、哪些指标、字段名怎么拼,全部拉出来看一遍,然后再去构造请求体。

💡 这种"先搞清楚现场再动手"的工作方式,正是真人在对接一个新API时的做法。AI把它自动化了。

两个Skill跑完之后,我拿到了两张表:

•GSC查询维度:关键词、页面URL、点击、展示、CTR、平均排名•GA4落地页维度:页面URL、会话、转化、平均参与时间

接下来就是合并。

4. 合并——从两张表到一份排好优先级的Todo

两张表的合并听起来简单——URL对URL,拼在一起就完事了。但实际做的时候有无数小坑。

我让Codex自己先去"看"两张表的数据样本,它发现:GSC的页面URL带 https:// 前缀,GA4的落地页路径只写了 /blog/seo-guide。GSC的URL末尾有查询参数 ?utm_source=google,GA4的已经剥离了。还有的页面在GSC里有数据但GA4里没有,反过来也是。

Codex自己对这些差异做了数据清洗——去掉前缀、去掉参数、去掉锚点、统一末尾斜杠,然后再做交集合并。

合并完之后,它给我输出的不是一张冷冰冰的透视表,是一个按问题类型标了优先级的诊断结果:

  • 优先度|页面特征|诊断方向

  • 🔴 P0|曝光下降30%以上、排名从top5跌出top10|排名丢失——查外链、查内容时效性

  • 🟡 P1|高曝光低CTR(CTR低于平均50%)|标题吸引力不够——改Title和Meta

  • 🟡 P1|高点击低转化(转化率低于平均40%)|落地页转化力不够——查页面内容和CTA

  • 🟢 P2|排名8-20位、有高搜索量|近在咫尺——加内链和内容补强

📊 把两张孤立的报表变成一份按严重程度排好序的Todo——这才是"数据闭环"的意义。不是为了看数据,是为了知道该干嘛。

三、这个过程中实际踩到的坑

写完Skill跑通之后回头看,一切都是"顺理成章"。但在当时,有几件事情实实在在地卡住过我。

坑一:GA4的指标名不直观

GA4 API里,会话数不叫 sessions,叫 sessions。转化数不叫 conversions,叫 eventCount 但只限于你标记为转化的事件。平均参与时间不叫 avgTimeOnPage,叫 userEngagementDuration 然后要自己除以会话数。

这些东西看文档当然能搞明白——问题是你要花一两个小时逐条查。Codex帮我省的就是这个时间。它在构造API请求之前,自己调了一次GA4的Metadata接口,把你这个属性下所有可用指标的名字、类型、描述全拉出来,然后按英文语义去匹配"我要的是会话数"应该对应哪个字段。

坑二:GSC API的配额限制

GSC API每天的配额跟你手动操作GSC一样,是有上限的。第一次我把分页设得太激进——并发调20页,直接触发限流了。Codex收到HTTP 429之后停了几秒重试,第二次把分页速率降到了每秒2页,就稳了。

这个经历让我意识到——AI再聪明,调的是人写的API。API的限流规则、数据格式、字段命名这些脏活,它替你扛了,但你得知道坑在哪里。

坑三:Codex有时候会过度工程化

有一回我让它"把数据按页面类型分一下组"——我的本意是按URL路径里 /blog/ /product/ 这样的前缀区分。Codex的理解是去读每个页面的HTML结构,提取页面类型。它确实做到了——调了requests库逐页爬HTML,分析meta标签和schema标记,然后分类。

跑是跑通了,但花了快4分钟。而我要的其实只是按URL路径前缀做个条件分桶。

⚠️ 跟AI协作的时候,问题的颗粒度决定了它的效率。你说得越精确,它做得越快。你说得太模糊,它就会拿最复杂的方式去"理解"——而且它不一定告诉你它走了弯路。

四、怎么把它变成"可复用"——不是一次性的脚本

跑通一次很容易。把它变成一套可以每周跑、换个站也能跑的"数据闭环",才是值钱的部分。

用Codex的Skill机制封装

Codex支持Skill文件——就是放在 ~/.codex/skills/ 目录下的一份Markdown格式的指令文件。你看它本质上就是一份写得非常精确的操作手册。Codex每次调这个Skill的时候,按同样的SOP从头执行一遍,不会吃"上次做了某些临时修改但忘了改回来"的亏。

我把GSC+GA4的拉数据→清洗→合并→诊断→输出这套流程,拆成了三个独立Skill:

  • Skill|作用|输出

  • seo-gsc-pull|拉GSC查询+页面维度数据,自动翻页|两个CSV:gsc_queries.csv、gsc_pages.csv

  • seo-ga4-pull|拉GA4落地页+转化数据,自动匹配指标|ga4_landing.csv

  • seo-data-merge|合并三张表,清洗URL,输出诊断排序|Markdown诊断报告+合并后的CSV

拆成三个的好处是:GSC抽风了只跑GSC部分,GA4配额不够了只跑GA4部分,不互相阻塞。而且不同客户的站,前两个Skill的数据源不一样,但第三个Skill(合并诊断)可以复用——只改一个站点URL参数就行了。

一行命令触发全流程

三个Skill拆完之后,我在Codex里写了一个"编排Skill":

/seo-weekly-report site=example.com

Codex看到这条指令,按顺序调三个Skill——拉GSC、拉GA4、合并诊断——最后在终端里输出一份按P0/P1/P2排好序的页面级诊断报告。整个过程跑下来大概2分钟出头。

💡 "自动化"不是写一个不会坏的脚本。是把一个需要重复做的工作,变成一句话就能触发、而且能适应数据变化的流程。

五、搭完这套东西之后,我的实际变化

不夸张地说,我的周一上午彻底变了。

以前:

•花40分钟手动导出、清洗、合并GSC和GA4数据•花20分钟在Excel里标颜色排优先度•花20分钟写一份"本周SEO摘要"发群里•客户回一句"收到,辛苦"

现在:

•周一到公司,终端里敲一行 /seo-weekly-report•两分钟后,诊断报告生成在 reports/ 目录下•复制粘贴到微信里,加两句注释,发出去

但同时——有意思的事情发生了。以前我"忙了很久"发一份报告,客户觉得你做了很多工作。现在你两分钟出结果,有的客户反而觉得"这么快,你是不是没认真看?"

好笑吗。但这是真实的人性。

所以我现在调整了策略。报告生成之后,我会挑出P0的那几个页面,花15分钟逐个打开看一眼,在报告里加一句"人工复核意见"。这15分钟不是浪费——是让客户感觉到"有人真的看了",而不是AI吐出来的机器报告。

🔴 AI替你做的是脏活。但你的判断、你的经验、你愿意多看那一眼——这些是不会被自动化的部分。而且恰恰是客户最在意的部分。

六、给想搭这套东西的人,几个实在的建议

如果你也想用Codex跑通自己的SEO数据闭环,下面这几条是我用真金白银(和时间)换来的:

① 不要一上来就追求完美。先把GSC单独拉通。

就一个Skill:拉最近28天的查询数据,输出CSV。这个跑通了,你就已经有了""全自动排名追踪""的能力。从零到一花了我半小时——大部分时间在搞Google Cloud权限。拉通第一个Skill之后,心理上的壁垒就没了。

② 把认证文件管好——这是整条链路的"命门"。

Google Cloud的Service Account JSON密钥文件一旦泄露,别人就能读写你的GSC和GA4。这个文件不要放在Git仓库里,用环境变量引用路径,Codex的Skill里用 `${GSC_CREDENTIALS_PATH}` 这种写法引用,不要硬编码。

③ 让Codex日志里输出每一步的耗时。

在Skill里加一句"请在每一步操作后记录耗时"。不是为了装逼,是让你知道哪一步是瓶颈——GSC API拉取慢、GA4分页多、还是URL清洗逻辑太复杂。知道了才能针对性地优化。

④ 跨站复用之前,先确保新旧站点的GA4属性结构一致。

同样的Skill,跑A客户正常,跑B客户报错——80%的情况是因为两个GA4属性里的自定义维度和事件名不一样。第一次跑新站的时候,让Codex先拉一次GA4 Metadata看看结构。

📊 我的实际数据:一个客户从头搭完整套流程大约需要45分钟(含Google权限设置),后续每周的运行时间约2分钟。

GitHub上有几个开源的Codex SEO Skill可以直接拿过来改——owensky-dev写了一套 seo-gsc-ga4-analyst,AminForou做了一个 mcp-gsc 的MCP服务端。你不用从零发明轮子。拿一套现成的Skill回来跑一遍,看看输出长什么样,再根据自己的需求改。比从零写快10倍。

当然,现成Skill拉回来的输出不一定完全契合你的需求。比如owensky-dev那个Skill默认拉90天数据——我自己习惯分析28天的窗口。这种小改动在Skill文件里改一个参数就行,Codex会读你的修改然后照做。

整个过程——从一个想法到能稳定运行——我花了大概两个下午。第一个下午在搞权限和API对接,第二个下午在写Skill和调优输出格式。之后的每一周,它都在帮我把那两个下午省回来。

上周一个做外贸站的同行问我:"你用什么工具在看数据?"

我说Codex。

他问是不是很贵。

我说不比你上周花在Excel里的时间贵。

他停了几秒。然后说——"那你把那个Skill发我一份。"

#AI办公#AI搜索#AI编程#AI营销#AI设计#开发平台#开源#效率工具#数据分析#智能体