Automate a monthly keyword opportunity report from Search Console
Your own Search Console shows what people already search before finding you. A scheduled agent reads it monthly, lists queries with many impressions and few clicks, and drafts a report its department head reviews and you approve.
What you’ll set up
Connections
Search Console remote MCP server (Beta) · Required
Reads queries, pages, clicks and impressions for your property. Read access is enough.
Upgrades
Delivery (channel or inbox)
Delivers the approved report to your channel or inbox.
Inputs
Minimum impressions · Optional
Number, default 100
Brand terms to separate · Optional
List, no default
Ready by · Required
Time, default 09:00
Brief · Required
Text, prefilled and editable during setup.
Runs
Runs monthly at 08:00
Done by Market researcher
You approve before anything goes out.
You approve every report · Free to start
How it runs
One agent does the work. Its department head reviews it, then you approve.
- 1Market researcher
Runs monthly at 08:00 and prepares the report from your connected sources.
- 2CMO · Review
The department head reviews the report before it reaches you.
- 3You
You approve before anything goes out.
What you get
Sample, not live data. Queries, pages and numbers are invented.
Keyword opportunities, October (sample)
5 queries with 100+ impressions and under 2% CTR (top 2 shown).
| Query | Impressions | Clicks | Avg position | Page |
|---|---|---|---|---|
| invoice reminder template | 840 | 9 | 8.4 | /blog/invoice-reminders |
| late payment email | 410 | 4 | 11.2 | /blog/late-payment |
Suggested changes (need your approval)
- Retitle /blog/invoice-reminders to lead with "template".
Why start from your own queries
Search Console data tells you which queries already surface your site. Its Search Analytics API returns clicks, impressions, click-through rate and average position for each row. A query with many impressions and few clicks suggests the title or snippet may not be winning the click, or that the page sits low on the results. That is a practical place to look for gains before chasing a brand-new keyword list, and the data is yours.
How the scheduled job works
You add the job and connect read access to your Search Console data through a remote MCP server (Beta) you set up. Each month a scheduled agent requests the previous calendar month, grouped by query and page. Google documents up to 25,000 rows per request and notes that it may return top rows rather than all of them, so the agent says so in the report. It keeps queries above your impression floor with a low click-through rate, matches each to the page that ranks, and drafts one suggested change per row. It reads and reports, and edits nothing.
Review and approval
The CMO agent, as department head, reviews the report before it goes out: do the numbers match the data the query returned, is each suggestion tied to the ranking page, are brand queries kept apart from non-brand. Then you approve, edit or skip it, and nothing is sent until you do. Check an early report against the console by hand so you know what the agent saw.
Acting on the list
Pick two or three rows, not twenty. Change a title or opening paragraph, then check the same query next month. If position is already near the top and click-through is still low, the snippet needs work; if position is ten or lower, the page may need a better answer. Keep notes on what you changed so the next report can show whether it helped.
Questions
Related jobs
Connects to: Google Search Console (read) (required)
Weekly SEO report
A Monday report on what moved in search, what slipped and one fix to make, with the numbers recomputed from the raw rows.
Connects to: Google Search Console (read) (required)
Automate a monthly SEO content refresh list from Search Console
A monthly list of pages losing clicks or position, with the queries worth reworking.
Works from public sources: Your public sitemap.xml and the pages it lists
Automate a weekly broken link check for your website
A weekly list of broken and redirecting links on your site, with the page each one sits on.