SEO Reporting, ROI and Forecasting
SEO ROI: how to measure it
SEO ROI is the return on search work: the gross profit organic search added, minus what the work cost, divided by that cost. Measure it from profit rather than revenue, leave out buyers who searched for the business by name, count every cost of the work, and state the result as a range in three cases.
By QueryRev ResearchPublished Updated9 min read
Key takeaways
- SEO ROI is the gross profit search added, minus the cost of the work, divided by that cost.
- Start from profit: analytics reports revenue, and revenue still carries the cost of what was sold.
- Leave branded searches out, and count only what the work added, not every sale search touched.
- Count every cost of the work, people and tools included, over the same period as the profit.
- Estimate ROI in a low, a base and a high case, then measure the actual against the case you chose.
The formula, part by part
Return on investment compares what an investment brought in with what it cost. For search work the formula is short:
ROI = (added profit − SEO cost) ÷ SEO costWritten as a percentage, an ROI of zero means the work paid for itself and nothing more; a negative ROI means it cost more than it brought in. Each of the three parts hides a choice, and the choices decide whether anyone should believe the result.
Added profit
- What it counts
- The gross profit on sales that organic search added: revenue minus the cost of what was sold, for non-branded demand only
- Where it comes from
- The order record or the CRM, joined to landing pages, times your gross margin
Cost of SEO
- What it counts
- Everything the search work cost in the same period: people, agency, tools, writing, design and development time
- Where it comes from
- Invoices, timesheets and subscriptions
Period
- What it counts
- The months both figures cover, long enough for the work to take effect
- Where it comes from
- Agreed before the work starts
| Part | What it counts | Where it comes from |
|---|---|---|
| Added profit | The gross profit on sales that organic search added: revenue minus the cost of what was sold, for non-branded demand only | The order record or the CRM, joined to landing pages, times your gross margin |
| Cost of SEO | Everything the search work cost in the same period: people, agency, tools, writing, design and development time | Invoices, timesheets and subscriptions |
| Period | The months both figures cover, long enough for the work to take effect | Agreed before the work starts |
The guide to SEO reporting in revenue names the two errors that inflate an ROI most: revenue in place of profit, and buyers who searched for the business by name. The next two sections show how to keep each out of the top line.
Start from profit, not revenue
Revenue is the easiest number to find and the wrong one to divide. An order of a hundred dollars that cost sixty to make and ship leaves forty to pay for the search work; dividing the full hundred by the cost of SEO credits search with money that went to the supplier.
Analytics does not solve this for you. In Google Analytics 4, purchase revenue is the sum of revenue from purchases, in-app purchases and subscriptions, minus refunds, and total revenue adds ad revenue to that[1]. Item revenue excludes tax and shipping and subtracts refunds[1]. None of them is profit: each still carries the cost of what was sold. Take the revenue, then multiply it by your gross margin, or take the profit from the order record if it holds the cost of each item.
- An online shop: revenue from orders that began with organic search, minus refunds, times the gross margin of what was sold.
- A business that sells through enquiries: leads from organic search, times the share that become customers, times the average deal value, times the gross margin.
- A subscription business: new subscriptions from organic search, times their expected value over the period you measure, times the margin. Say which period, because a longer one raises the result.
- A business that earns from ads on its pages: ad revenue from organic visits, which has little cost of sale but still has the cost of the content that earned it.
Use the same margin in every period you compare. If the margin changes, because prices or suppliers changed, report the ROI on both margins for the month of the change, so that the movement is not read as an effect of the search work.
Count only what search added
The top of the formula is the profit search added, not every sale in which search took part. Three things stand between the two.
The first is branded demand. Buyers who searched for the business by name already knew it, and would most likely have found the site without the search work, so they stay out of the top line. How to split branded from non-branded queries in Search Console, and revenue by landing page, is set out in the guide to SEO reporting in revenue.
The second is the rule that gives a sale to search. That rule is organic revenue attribution, and it changes the number: GA4 offers data-driven and last-click models, and every one of them gives direct visits no credit unless the whole path was direct[2]. An ROI is only comparable with another ROI worked out under the same model, the same lookback window and the same key events; write them down beside the result.
The third is the sales that would have happened anyway. A page that ranked before the work started kept earning while the work went on; its revenue is not the work’s return. Count the profit above a baseline: the same pages in the same months last year, adjusted for demand, or a forecast made before the work started, or a group of similar pages that were left unchanged. Without one of these, the ROI describes what search-attributed sales earned in the period, which is a different and weaker claim.
That guide also sets out how each revenue figure is labelled: known, influenced, modeled or incremental, with revenue that only analytics records kept apart as GA4-reported. An ROI inherits the label of its top line: an ROI built on a modeled figure is a modeled ROI, and it says so.
Count every cost of the work
The bottom of the formula is easier to find and easier to shrink without noticing. A cost left out raises the ROI as surely as a sale counted twice.
- People: the agency’s or consultant’s fees, and the hours of your own staff who write, review, approve and publish, at what those hours cost the business.
- Content: writers, editors, designers, photography and translation.
- Development: the time spent on fixes, templates, speed and redirects, even when the same team would otherwise build something else.
- Tools: rank tracking, crawlers, keyword data and reporting, for the share of each that serves search.
- Links and outreach, where the work includes them.
Count costs over the same months as the profit. A rebuild paid for in one quarter and earning for the next three belongs to the whole period, not to the month of the invoice. Google advises that an SEO audit should give realistic estimates of improvement and an estimate of the work involved[3]: the second half of that sentence is the bottom of the formula, and it deserves the same care as the first.
Estimate ROI in three cases
Before the work starts, ROI is an estimate, and an estimate given as one number hides its risk. Give a low, a base and a high case instead, each from its own assumption about how much more organic traffic the work will bring, and keep everything else the same so that the cases differ for one reason only.
The SEO ROI Calculator runs this arithmetic in your browser, month by month, for the three cases. Added sessions are your monthly organic sessions times the uplift, reached in a straight line over the months you set; added orders are those sessions times the conversion rate, and times the close rate for a business that sells through leads; added gross profit is the revenue those orders bring times your gross margin; and ROI is that gross profit minus the cost of SEO over the whole period, divided by that cost. The payback month is the first month in which the gross profit added up so far covers the cost paid so far.
Change only the uplift and the same inputs give three different stories. In the calculator’s example the base case pays back in its fourth month and the high case in its second, while the low case never pays back within the twelve months: it ends the year with less gross profit than the work cost.
The spread says more than the middle. If the low case does not pay back within the period, that is the risk the business takes on, whatever the base case shows; a decision maker should see it before agreeing a budget. The example values are round numbers chosen to show the method, not typical figures: use your own sessions, conversion rate, order value, margin and cost.
Choose a period long enough to be fair
Search work rarely pays in the month it is done. Google says that every change takes some time to be reflected in Search: some changes take effect in a few hours, others can take several months, and in general it is worth waiting a few weeks to assess whether the work had a beneficial effect[4]. A monthly ROI for work that started last month measures the delay, not the work.
Measure over twelve months for an ongoing programme, and over the life of a project for a one-off piece of work such as a migration or a rebuild, with a first reading at three months to check the direction. Report the payback month beside the ROI: two programmes with the same ROI at twelve months are not equal if one paid back in its third month and the other in its eleventh.
Keep the definition of the period fixed. A report that measures this year’s ROI from January and next year’s from the month the work was paused has changed the question, and the two results cannot be compared.
Measure the actual ROI after the period
An estimate is what you expect; the actual is what happened. The second needs the same definitions as the first, fixed before the period starts.
- Before the work starts, write down the key events, the attribution model, the lookback window, the margin and the baseline you will use, and keep the estimate in its three cases.
- Record the cost of the work every month, from invoices and timesheets, not from the budget.
- Take the non-branded organic revenue from the order record or the CRM, joined to landing pages, and multiply it by the margin.
- Subtract the baseline: what the same pages earned, or were forecast to earn, without the work.
- Divide the profit above the baseline, minus the cost, by the cost. Label the result by the kind of its top line, and say which case of the estimate it came closest to.
- Keep the original estimate unchanged beside the actual, so that the next estimate can be judged by how well this one did.
Where no baseline can be built, say so, and report what search-attributed sales earned in the period against the cost, labelled as such. That figure is still useful: a programme whose attributed profit does not cover its cost is unlikely to be paying for itself. It is not the return the work added.
The forecast that the estimate rests on, and how to review it every quarter, is set out in SEO forecasting: how to forecast traffic and revenue. The report that carries the actual each month is in Monthly SEO report: what to include.
Six mistakes that inflate SEO ROI
- Dividing revenue instead of profit, so that the cost of what was sold is credited to search.
- Counting buyers who searched for the business by name.
- Counting every sale search touched, under a generous attribution model, without saying which model it was.
- Leaving out the cost of your own staff’s time, or the development work the fixes needed.
- Measuring over a period short enough to catch only the months that went well.
- Giving one number where three cases belong, and then reporting the actual without the estimate it should be judged against.
Each one makes the ROI look better and the next budget conversation harder, because the figure stops matching what the business sees in its accounts.
Sources
Primary sources only, each read on the day given.
- 1.Analytics dimensions and metrics. Analytics Help, Google. Read .
- 2.Get started with attribution. Analytics Help, Google. Read .
- 3.Do you need an SEO?. Google Search Central. Read .
- 4.SEO Starter Guide: The Basics. Google Search Central. Read .
Cite this guide
A suggested citation. Its link goes to this page, whose address does not change.
QueryRev Research. “SEO ROI: how to measure it.” QueryRev AI, 18 Oct 2026. https://queryrev.com/guides/seo-roi