A monthly SEO report should answer one question: what did the spend produce? The one-page structure, three questions to ask, and five things to leave out.
This piece is for the buyer who wants to read the monthly report and know where they stand. It covers the one-page structure I’d want every month, the three questions to ask when it lands, the five things that belong in the appendix rather than the headline, how the report should reconcile to the invoice, what changes between B2B and ecommerce, and how to ask for all of this if your agency doesn’t produce it yet.
What should a monthly SEO report include?
One page that reads top to bottom like a profit and loss statement for the channel, then an appendix for everything else. Seven lines on the page, in this order.
- Spend. The retainer plus any content, tooling or link costs, as a single number. If the report doesn’t start with what it cost, nothing below it can be judged.
- Leads, from the CRM, not the platforms. Qualified enquiries with organic as the original source in HubSpot or Salesforce. Not GA4 conversions, and definitely not Google Ads conversions. The platform figures are what the platform believes it caused. The CRM figure is what your sales team actually received.
- Pipeline created. The value of opportunities opened from those leads this month.
- Revenue closed, with the lag noted. If your sales cycle is 90 days, this month’s revenue line belongs to work done in the spring. Say so on the page, every month, so nobody credits or blames the wrong quarter.
- Market share against named competitors. Your share of the category’s clicks versus the five firms you actually lose deals to. The method is in market share as a marketing metric.
- Cost per qualified lead against paid. Spend divided by CRM leads, sat next to the same number for Google Ads. This is the line the finance director reads first.
- Appendix. Rankings, sessions, pages shipped with URLs, links placed with placements, technical changelog. Useful for the people doing the work. Never the headline.
The technical bit that makes this possible is a source field on every contact record and lifecycle stages the sales team actually moves deals through. In plain English: the CRM has to know a lead came from organic search, and it has to know what happened to it afterwards. Without those two fields the report can’t be built, and I’ll come back to what that means at the end.
Nic, my co-director, has a rule I’ve stolen: build the logic before the dashboard. Decide what counts as a qualified lead, which competitors sit on the market share list and how the lag is handled before anyone opens Looker Studio. A dashboard built first is just a nicer place to be wrong. The full method is in our attribution guide.
Market share earns its line because it is the one number on the page that can’t flatter you. Leads can rise because the market grew. Sessions can rise because you published a glossary. Share against five named competitors only rises if you took clicks from them, and it will go down in a good year if they moved faster than you did. That is probably why it is rarely on the page, and why it is worth asking for.
How do you read an SEO report when it lands?
Ask three questions, in the same order, every month. Your agency will learn to answer them before you ask, which is the point.
1. What did the spend produce this month?
Leads and pipeline against cost. If the answer is “sessions were up 18%”, ask again. Sessions are not produce. On accounts we inherit, the gap between reported conversions and CRM-qualified leads is regularly 40% or more, because form spam, job applicants and existing customers all count as conversions in GA4 and none of them count in a sales pipeline.
2. What moved, and do we know why?
The number matters less than the explanation. To be honest, there’s a few things analytics won’t tell us. A 20% drop in organic leads in August might be your agency, or it might be the whole category going quiet for the summer. So we run seasonality analysis and put it next to the macro factors we have information on, on the same page as the report, so the MD isn’t reading a bad month as a bad agency, or a good month as a good one. It is fair to ask for good months and bad ones to get the same treatment.
3. What are you changing next month because of this?
A report that ends without a decision was a newsletter. Three actions, each tied to a line on the page: “cost per qualified lead is £210 against £160 on paid, so we’re rebuilding the two commercial pages that carry 60% of organic leads”. If the actions are the same three as last month, ask what happened to last month’s.
What should never be in the headline of an SEO report?
Five things. Each is fine in an appendix and misleading at the top.
Rankings tables. Positions move daily, vary by device and location, and a page can climb from 40 to 12 and produce nothing. Rankings are a diagnostic, and a headline rankings table usually means the commercial numbers haven’t been wired up yet, which is a gap rather than a verdict.
Sessions without leads. A thousand visitors to a glossary page is a thousand people who will never buy from you. Traffic on its own is the number I trust least, because it’s the easiest one to grow without growing the business.
Domain authority scores. DA is a third-party estimate that Google doesn’t use. A report that headlines it is reporting on the tool rather than the business.
“Content pieces” without URLs. Twelve pieces of content is an invoice line, not a result. Every piece should have a URL, a target query and, after three months, a position and a lead count against it.
“Link building” without placements. Same rule. The number of links tells you nothing. Which domain, which page, and whether it’s the sort of site you’d be happy to be seen on: that’s the report.
I’d add one more that isn’t a metric. Paid search figures presented inside a “search” report without being separated from organic. The over-reliance on Google Ads will eventually come back to haunt some companies, and the first sign is usually a search report where the paid numbers are carrying the total and the organic line underneath has been flat for a year.
How should an SEO report reconcile to the invoice?
Line for line. If the invoice says content, technical and outreach, the appendix should show the content URLs, the technical changelog and the link placements for the same month, and the effort against each should look like the scope you signed.
The version we run: the contract states what a month contains, say four commercial pages, twelve technical hours and eight outreach placements at a named seniority. The report’s appendix lists what was actually shipped against each. Where it fell short, it says why and what carries over. The one-page summary above it says what all of that produced. Three documents that agree with each other: scope, invoice, report.
If you have lost a bit of trust in your agency because you can’t tell what the money buys, a reporting gap is usually much easier to fix than a performance one, so ask for the reconciliation first, before drawing conclusions about the work. I’ve described what a one-line invoice looks like, and what to ask for instead, in how to choose an SEO agency, and the same rules apply to the agency you already have.
What changes for B2B versus ecommerce reporting?
The revenue line and the lag. Everything else on the page stays the same.
In ecommerce, revenue is on the page the same month: organic revenue, organic orders, average order value and revenue per session by category, with paid alongside for the cost per order comparison. Market share is share of category clicks, and the trap is brand. Strip branded searches out before you credit the agency with them, because the people typing your name were sent by your marketing as a whole and the agency didn’t earn them. Realistically, in most ecommerce accounts we see, 40% to 70% of “organic revenue” is brand.
In B2B, the revenue line lags by the length of your sales cycle, so pipeline created is the number you manage month by month and revenue is the number you check quarterly. Lead quality matters more than count, so the page shows sales-qualified leads rather than form fills, and the report should name the pages and topics those leads came from. That’s the argument in SEO for B2B: it is a pipeline discipline, and the report should look like one. A B2B report that stops at conversions has stopped one step short of the only number the board cares about.
The education client is the useful edge case, because it was consumer-facing with a B2B-sized ticket and a hard deadline. Tiered goals per location gave the MD a reading before the events happened rather than after. In my head that’s the test of any report: can the person paying for it make a decision this month, or do they have to wait for the retrospective?
What if your agency can’t produce this?
Ask for it in writing, describe the seven lines above, and give them a month. That is a fair timescale for a first version.
One thing worth checking before you ask, because it saves everyone a frustrating month. Around half the time we’re asked to build this report for a new client, the block turns out to sit in the client’s CRM rather than at the agency: the source field is blank on 30% of records, sales are closing deals without moving them through stages, or the form tool never passed the landing page through. None of that is anyone’s fault; it is what happens when a CRM set up for sales is asked to serve marketing as well. So offer CRM access and a written definition of a qualified lead at the same time as you ask for the report. If the agency has never asked for either, reporting may never have been part of the brief, and this is the moment to make it so.
It doesn’t need to be expensive. The first version of the report for that education client was a spreadsheet fed by HubSpot exports, built in a week. The dashboard came later, once the logic held. Manual first, automate when the volume justifies it.
So the ask is simple: send the seven lines, offer the CRM access and the qualified-lead definition, and give the agency 30 days. If what comes back is still rankings and sessions, that is the next conversation, and a much easier one once the request has been made this clearly.
Questions we get asked
What should an SEO report include?
Spend, qualified leads from the CRM, pipeline created, revenue closed with the lag noted, market share against named competitors and cost per qualified lead against paid, on one page. Rankings, sessions, content URLs and link placements go in an appendix behind it.
How often should an SEO agency report?
A one-page report and a call every month, and a quarterly review where the plan is re-scored against what actually happened. Weekly reporting on organic is noise, because the data moves too slowly to act on. Anything that breaks, a form, a tracking tag, a page dropped from the index, should be flagged the day it happens, not saved for the deck.
Should an SEO report show rankings?
Yes, in the appendix, for the 20 to 30 commercial terms that carry the pipeline. Not as the headline, and not as a table of 400 keywords. A ranking is a diagnostic for the people doing the work; a lead count is the result for the person paying.
What KPIs should a B2B company track for SEO?
Organic sales-qualified leads, organic pipeline value, organic revenue closed with the sales-cycle lag stated, share of category clicks against named competitors, and cost per qualified lead compared with paid. Five numbers, monthly, from the CRM rather than the analytics account.
How do I know if my agency’s report is honest?
Three things to look for. The lead figure comes from your CRM and you can click through to the records. The market share line names competitors and can go down as well as up. And the report explains bad months with the same energy as good ones, with seasonality shown rather than asserted. A report that only ever goes up and to the right is usually measuring the things that are easiest to grow, and it is fair to ask for the harder ones.
Where we fit
We build reporting for companies that want search judged on pipeline and revenue: the logic first, the CRM plumbing second, then a dashboard the MD reads in five minutes. That’s our reporting dashboards service, and it sits inside the wider data and analytics work we do. For Hubject, getting the measurement right before the spend saved around £40,000 on budget modelling and preceded 610% acquisition growth.
If your current report can’t answer what the spend produced last month, send it to us and we’ll tell you what’s missing and what it would take to fill the gap. It is often less than you’d expect.




