SEO100
SEO method 97 of 100

SEO Reporting: Build a Monthly Report That Runs Itself

Intermediate Medium impact A few hours Analytics and measurement

Updated · First published

Short answerA good SEO report fits on one page: organic clicks, impressions, key events and your top pages, each against the last period. Connect Search Console and GA4 to Looker Studio, schedule the email and add one written paragraph about what changed and what you do next.

SEO reporting is the recurring summary of how organic search performs: what the traffic was, what it did on the site, which pages and queries produced it and what you will do about it. Automated SEO reporting pulls the numbers from Search Console and GA4 into one dashboard that updates itself, so your time goes into reading it.

Why does SEO reporting matter?

Without a report, SEO work is invisible. A monthly page tells the founder or client whether the money and hours earn anything, and it gives you a record when a Google update hits. It also fixes a real data problem: Search Console keeps 16 months of Performance data and GA4 keeps event data for 2 or 14 months, so a report that stores monthly numbers builds a history you cannot get later.

What should an SEO report contain?

Keep the first page to six blocks.

Block Metric Source
Visibility Impressions and clicks from Google Search Search Console
Demand Top queries and their change Search Console
Traffic Organic sessions and engaged sessions GA4
Outcome Organic key events (signups, leads, sales) GA4 (see conversion tracking)
Content Top landing pages, new pages, refreshed pages Search Console and GA4
Health Indexed pages, Core Web Vitals status, new errors Search Console

Add a seventh block when it applies: AI visibility. The Generative AI performance report in Search Console shows impressions of your pages in AI Overviews, AI Mode and Discover AI features. It reports impressions only, so label it that way and never mix it with clicks.

Compare every number to the previous period and to the same period last year. Seasonal sites need the year-on-year view.

How do you build an automated report, step by step?

  1. Decide who reads it. A founder wants outcomes and one decision per month. An SEO team wants queries and pages. Build one page for each audience if both exist.
  2. Connect Search Console to Looker Studio. Create a new data source and choose the Search Console connector. It offers two tables: Site Impression (aggregated by property) and URL Impression (aggregated by URL). A data source uses one of them, so add two data sources to compare. Pick the Domain property.
  3. Connect GA4. Add the Google Analytics connector for your property. Blend GA4 and Search Console on landing page if you want queries beside key events, or use GA4’s own Search Console report collection (see GA4 setup).
  4. Build scorecards and trend charts. Clicks, impressions, organic sessions and key events as scorecards with a comparison range. Then a time series by week, a table of top queries and a table of top landing pages.
  5. Add a content performance table. List pages by organic clicks with the change versus the previous period, and mark the publish or update date. Pages that lose clicks month after month go to your content refresh list.
  6. Filter organic. In GA4 data, filter the session default channel group to Organic Search. In Search Console data, filter the search type to Web.
  7. Schedule delivery. In Looker Studio use Share, Schedule delivery to email a PDF on the first working day of the month. Add your own paragraph on top before it goes out.
  8. Save a monthly snapshot. Paste the headline numbers into a Google Sheet. For larger sites, turn on Search Console’s bulk data export to BigQuery so the raw query data is stored for good.

What does the written part say?

The dashboard shows what happened. The paragraph above it says why and what next. Answer four questions in plain sentences:

  • What moved most (up or down), and by how much?
  • What caused it? (A Google update, a content change, a release, a seasonal swing, a tracking gap)
  • What did we do last month and did it work?
  • What will we do next month and what do we expect to see?

If you have no cause, write “cause unknown, checking X”. It beats a confident guess.

What reporting schedule works?

Monthly for the full report. Weekly for a two-line check of clicks, indexed pages and new errors in Search Console. After a core update or a migration, check daily for two weeks. Search Console data comes with a short delay and the newest points are preliminary, so leave out the last two or three days from any summary.

What mistakes should you avoid?

  • Reporting vanity numbers alone. Impressions and rankings say less than key events and revenue (see measuring what SEO earns).
  • Changing the metrics every month. A new definition breaks the comparison.
  • Dashboards no one reads. If the report has no decision attached, shorten it.
  • Mixing sources without labels. Search Console clicks and GA4 sessions will not match, because they count different things. Show both and explain the gap once.
  • Ignoring data gaps. If a tag broke for a week, say so.
  • Leaving out the next step. Every report ends with the three actions for next month.

Where can you learn more?

The free marketing plan generator from Fe/male Switch helps you set the goals your report should track. Next steps: set up Google Search Console, then add rank tracking positions to the dashboard.

Earlier versions of this directory listed this as: SEO reporting automation, Content performance tracking.

Learn SEO as part of building a startup

Fe/male Switch is a startup school and game where you build a real company step by step. Its free digital marketing module covers SEO, and the free startup tools help with the rest.