A good monthly SEO report has seven sections: a three-line summary, leads from organic search, Search Console clicks and impressions against last month and last year, non-branded performance, the pages and queries that moved, site health, and the work done plus next month’s plan. It fits on one or two pages, and every number in it answers a question the reader actually has.
Most templates you find online are dashboards with forty charts on them. They look busy, and they leave the client asking the same thing every month: “So is it working?” The template below is built to answer that question first, using two free tools almost every site already has, Google Search Console and Google Analytics 4. Everything about how those tools count was checked against Google’s own help pages in October 2026.
The template at a glance
Here is the whole report on one screen. Each block is a section, in the order the reader should see it.
Copy that outline into a Google Doc, a slide or a Data Studio page. The format matters far less than the order and what you leave out.
Section by section: what goes in and where it comes from
| Section | What it says | Data source | Leave it out when |
|---|---|---|---|
| 1. Summary | The result, the main reason, the next step | Your reading of sections 2 to 7 | Never |
| 2. Leads from search | Form fills, calls, sales from organic visits | GA4 key events, Organic Search channel | You have no key events set up yet (fix that first) |
| 3. Search visibility | Clicks, impressions, CTR vs last month and last year | Search Console Performance report | Never |
| 4. Non-branded growth | Clicks from people who didn’t search your name | Search Console branded queries filter or a regex filter | The site is too new to have branded searches |
| 5. What moved | The pages and queries that gained or lost the most clicks | Search Console Insights report or Performance report | Nothing moved by more than a few clicks |
| 6. Site health | New indexing errors and whether they are fixed | Search Console Pages report | There are no new problems (say so in one line) |
| 7. Work and plan | What you did, what is next, what you need from the reader | Your task list | Never |
1. Summary
Write it last, put it first. Three sentences: what happened, why you think it happened, and what you are doing next. For example: “Organic leads rose from 18 to 23. Most of the gain came from the new water heater page. Next month we publish two more service pages and fix the 14 pages Google can’t index.” (Those numbers are made-up.)
If the reader stops here, they should still know whether the work is paying off.
2. Leads from search
This is the section a business owner cares about, so it comes before any traffic numbers. In GA4, important actions such as a form submission or a click on a phone number are tracked as key events. Google renamed what Analytics used to call conversions, and now uses “conversion” only for actions counted in Google Ads (Google’s explainer). If an old template says “GA4 conversions”, it means key events.
Filter to the Organic Search channel. Two details from Google’s default channel group definitions matter here. Organic Search includes visits from Google’s AI Overviews and AI Mode. A separate AI Assistant channel covers visits from ChatGPT, Gemini, Copilot and similar tools. Report the AI Assistant number on its own line if it is more than a handful of sessions. Clients ask about AI now, and this is the honest answer to “are we getting anything from ChatGPT?”
3. Search visibility
From the Search Console Performance report, give four numbers for the month: clicks, impressions, click-through rate and the change from the previous month. Add the same month last year when you have it, because seasonality fools month-on-month comparisons. A garden center will always look worse in November than in October.
Use the Compare option in the date filter to put two periods side by side, and set the chart to weekly or monthly so weekend dips don’t look like problems (Google’s filtering guide). Search Console keeps 16 months of data, so the year-on-year column only works if someone has been checking for over a year. If you take on a new client, start saving monthly exports on day one.
4. Non-branded growth
Total clicks can rise just because more people searched your client’s name after a radio ad. That says nothing about SEO. Non-branded clicks show how many new people found the business through search.
Search Console now has a branded queries filter that splits queries into Branded and Non-branded automatically. Google says it uses an AI-assisted system rather than keyword matching, it can mislabel some queries, and it is only available for top-level properties with enough search volume. If you don’t see it, add a query filter set to Custom (regex) that excludes the brand name and its common misspellings.
In that example, the honest summary is “the radio ad worked, organic search held steady”. Reporting only the 22% would take credit for someone else’s work, and the client will notice eventually.
5. What moved
Pick the five pages that gained the most clicks and the five that lost the most, with one line on why for each. The Search Console Insights report already sorts pages and queries into top, trending up and trending down, ranked by the change in clicks rather than the percentage. That ordering is useful: a page going from 2 clicks to 6 is +200% and means nothing.
A losing page with a reason (“Google now shows a map pack above it”) and a plan is worth more to the reader than a list of ten winners.
6. Site health
Report problems, not scores. Open the Pages report in Search Console (Google’s help calls it the Page indexing report) and note any new reason pages aren’t indexed, how many pages it affects, and whether you have fixed it. If nothing new appeared, write “No new indexing problems” and move on. A full crawl audit belongs in its own document, not in a monthly report.
7. Work and plan
List what you did this month in plain words, what you will do next month, and anything you need from the reader. That last line gets things done: approving a page, sending photos, replying to reviews. Keep it to three or four items each.
Before and after: the same data, reported two ways
What to cut from your SEO report
These are the usual suspects in long templates. Each one is either misleading on its own or answers no question the reader has.
- Sitewide average position. Google’s chart value is the average position of your topmost result across every query you appeared for (how position is counted). Rank for one new long-tail query at position 60 and the average gets worse, even though nothing bad happened. Report position for a few named queries instead, if at all.
- Total ranking keywords. A count of 1,203 keywords in a paid tool includes hundreds at position 80 that bring no visits.
- Third-party authority scores. These are vendor metrics, not Google metrics. If you track links, report the new ones worth having, by name.
- Audit scores out of 100. They mix serious problems with trivia. Section 6 covers what matters.
- Every chart your dashboard tool offers. If you can’t say what decision a chart supports, delete it.
Why your Search Console totals never add up
Readers who check your numbers will spot gaps, so know the reasons before they ask. All of these come from Google’s About Search Console data page and its guide to performance data.
- Rows don’t add up to the total. Queries searched by very few people are left out of the tables for privacy, but still counted in the chart totals. The interface also shows at most 1,000 rows. The API and the Data Studio connector go up to 50,000 rows per day per site per search type.
- Search Console and GA4 disagree. They count different things. Search Console counts clicks on Google results; GA4 counts sessions where its tag ran, and that needs JavaScript in the visitor’s browser. A gap of 10% or more is normal. Explain it once, in a footnote, and then stop explaining it.
- The last few days look low. Google says collected data is normally available in 2 to 3 days. Run the report on the 4th of the month or later.
- Days are on California time. Search Console labels each day by Pacific time, so a daily view can shift by one day against a tool set to Eastern time.
How to build the report in an hour a month
- Set up key events once. In GA4, mark your form submission, phone click and purchase events as key events. Without this, section 2 has nothing in it.
- Connect Search Console to Data Studio. Data Studio is the free dashboard tool Google used to call Looker Studio. Its Search Console connector asks you to pick a Site Impression or URL Impression table. Use Site Impression for the sitewide totals and URL Impression for the page list. A single data source can only use one, so add both.
- Build one page that mirrors the seven sections. Scorecards with a comparison period for sections 2 to 4, a table of pages for section 5.
- On the 4th of each month, refresh and read. Look at sections 2 to 6, note what changed and why.
- Write sections 7 and 1 by hand. This is the part no tool does for you, and the part the reader values.
Step 5 matters most. Automated dashboards save the copy-and-paste time, but a report without a written summary is a dashboard, and clients stop opening dashboards. Spend most of your hour writing those few sentences.
Add-ons for local businesses and AI search
Two optional sections earn their place for some readers.
Local businesses. If the business has a Google Business Profile, add one line with calls, direction requests and website clicks from the profile’s performance report. Note that Google says these figures include views and actions from Google Ads as well as organic results, so check whether the client ran local ads that month. You can also connect the profile to GA4, which shows the same metrics alongside your website data but only keeps the last 6 months. If the profile isn’t set up properly yet, start with our first-week local SEO plan before you report on it.
AI search. Search Console counts clicks and impressions from AI Overviews and AI Mode inside the normal Web search type, according to Google’s AI features guide. Since August 31, 2026, every site also has a generative AI performance report that shows how often your pages were shown in those features. It reports impressions, not clicks, so use it to show which pages appear in AI answers, not to claim traffic. For ChatGPT and other assistants, Google’s data can’t help. Our guide to checking whether AI tools cite your site covers a monthly prompt log you can drop into this section.
FAQ
How often should you send an SEO report?
Monthly suits most small businesses and agency clients. Search results move slowly, so weekly reports mostly show noise, and quarterly ones leave too long between problems and fixes. Send a short note between reports only if something breaks.
What KPIs should an SEO report include?
Leads or sales from organic search first, then non-branded clicks, total clicks and impressions with a year-on-year comparison. Everything else supports those numbers or belongs in a separate audit.
Is there a free SEO reporting template?
Yes. The seven sections above work in a Google Doc, and Data Studio with its free Search Console and GA4 connectors can fill the numbers for you. You don’t need a paid reporting tool until you manage enough clients for the copy-and-paste time to matter.
Why don't Search Console and Google Analytics numbers match?
Search Console counts clicks on Google results, while GA4 counts sessions where its tag loaded, which needs JavaScript. Different time zones and Search Console’s privacy filtering add to the gap, which Google documents here.
The short version
Lead with leads, split branded from non-branded, compare against last year as well as last month, and explain what moved. Cut the vanity metrics, write the summary yourself, and keep the whole thing short enough that the reader finishes it. If you are building your own reporting stack, our write-up on building a local SEO toolkit on open source software covers the reporting tools I am building next to rank tracking and citations.
