- Free, no sign-up
- Outcomes first, last year beside
- Your data stays in your browser
Free Monthly SEO Report Builder
Most SEO reports open with a rankings table and never say whether the work brought business. Drop this month's Search Console and GA4 exports and get one page in the right order: leads and sales first, then branded searches and direct visits, then the clicks, impressions and AI visibility that explain them, each with last month and the same month last year beside it. Save it as PDF for a client. Everything runs in your browser.
0.0 0 ratings
How useful was this tool?
Be the first to rate it.
How to use it
Three months of exports, one page
Export each month
Search Console: Performance > Search results, set the month, Export > Download CSV. GA4: Reports > Traffic acquisition, the same month, Share > Download file > CSV. Add the Business Profile performance download and Bing's AI Performance export if you use them.
Drop them at the side
This month, last month and the same month last year, each in its own box. Type what no file holds: orders or sales, indexed pages, and the one line on what changed.
Save as PDF
The report builds as you go, in the order owners care about. Your site name, brand words, colour and typed numbers are remembered on this device for next month.
Built forBusiness ownersFreelancersSmall agenciesMonthly client calls
Quick answer
What should a monthly SEO report include?
Open with outcomes: leads, calls and sales from organic search. Then behaviour: branded searches and direct visits, the sign that people know you. Then exposure: non-branded clicks and impressions, average position, AI Overview appearances and AI citations, which explain the outcomes. Put last month and the same month last year beside each number, and write one line on what changed and why.
What goes in
Each row and where it comes from
| Row | Group | From |
|---|---|---|
| Leads from organic search | Outcome | GA4 key events in the Organic Search row of Traffic acquisition |
| Calls and direction requests | Outcome | The Business Profile performance download |
| Sales or orders | Outcome | Typed in from your shop, CRM or WhatsApp |
| Branded search clicks | Behaviour | Search Console queries that contain your brand words |
| Direct visits | Behaviour | GA4, Direct |
| Non-branded clicks and impressions, average position | Exposure | Search Console, minus the branded queries |
| AI Overview and AI Mode impressions | AI visibility | Search Console's generative AI report |
| Visits from AI assistants | AI visibility | GA4's AI Assistant channel |
| Citations in Copilot and Bing | AI visibility | Bing Webmaster Tools, AI Performance |
| Indexed pages | Health | Typed in from Search Console's Pages report |
Two comparisons
Last month and last year
Last month shows the trend; the same month last year takes seasons out of the answer, so a festive October isn't compared with a quiet September. Use whole months, the same in every file. Search Console keeps 16 months, so last year's month is always there; GA4's standard reports keep it too.
Branded and non-branded
Type your brand words
Searches for your name are people who already know you; they grow with word of mouth, ads and PR. Non-branded searches are the ones SEO wins. Type your brand words, with common misspellings, and the tool splits the Search Console queries. The export leaves out anonymised queries, so those count as non-branded.
The numbers disagree
Why Search Console and GA4 don't match
Search Console counts clicks on Google's results. GA4 counts visits that loaded its tag, after cookie consent, from every search engine. Ad blockers, consent and redirects make GA4 lower. Report both; explain the gap once; compare each with itself over time.
FAQ
Questions people ask
Is my data uploaded?
No. The files are read in your browser. Your site name, brand words, colour and typed numbers are kept on this device only.
Can I send it to a client as PDF?
Yes. Save as PDF prints just the report, on A4, with your site name and colour.
Where do leads from organic search come from?
GA4 key events: mark the actions that matter (form sent, call tapped, WhatsApp opened) as key events, and the Organic Search row of Traffic acquisition counts them.
How do I show AI Overviews and ChatGPT traffic?
Search Console's generative AI report for impressions, GA4's AI Assistant channel for visits, Bing's AI Performance for citations. None of them counts everything, so report them as signals.
A row is missing from my report
Rows with no number are left out. Drop the file that holds it, or type the number at the side.
Will it update itself every month?
Not yet: you drop the month's exports. If you report for many clients, a Data Studio dashboard connected once does that; sign-in with Google is planned here too.
How long should an SEO report be?
One page for the owner, with the detail behind it for whoever asks.
Keep going
More free tools and guides
- Measuring SEO (Intermediate, chapter 11): the KPI table this report follows.
- Measuring AI visibility (GEO, chapter 8): the AI rows and the monthly prompt log.
- Search Console Compare: which pages and queries moved, and when.
- UTM Builder: count Business Profile and WhatsApp visits properly.
Did this tool help you?
Tap a star. It takes a second, no sign-up.
–
0.0 0 ratingsNo ratings yet.
Did SEO bring business this month?
Your exports in, one honest page out. Free.