How to Measure SEO ROI Without Fooling Yourself (or Being Fooled)
SEO is one of the few investments where the provider reports rankings while you pay invoices. ROI exists and can be measured — enquiries and sales against total cost — but it requires setting up measurement before you start, and accepting that the first months are judged by other signals.
April 14, 20244 min readIn this article
"We climbed five positions for three keywords." That's the typical SEO report — and it doesn't answer the only question that matters: how much money came in from this? The gap between what gets reported (positions, traffic) and what you pay (invoices) is where bad providers and bad decisions live.
The good news: SEO ROI can be measured with reasonable rigour. Not with accountant precision — perfect attribution doesn't exist in any channel — but enough to decide whether to continue, adjust or cut. This guide builds that system with the free tools you should already have.
The formula is simple; the work is in the inputs
ROI = (value generated − total cost) ÷ total cost. SEO that cost $3,000 over the year and generated $12,000 in attributable sales has an ROI of 3: every dollar invested returned three. The formula fits on a napkin — what almost nobody does is define both variables honestly. That's what the next sections are for.
The value: what counts as return
| Business type | What to measure | How it becomes money |
|---|---|---|
| Online store | Sales originating from organic traffic | Direct: organic-channel revenue in Analytics |
| Services (quotes) | Organic enquiries: forms, WhatsApp, calls | Enquiries × close rate × average ticket |
| Local business | Actions on the Google profile + website enquiries | Same as services, adding calls and store visits |
The services case is the one most prone to self-deception, so an example with numbers: 20 organic enquiries a month × 25% close rate × $400 ticket = $2,000 of monthly value. The two rates — close and ticket — are yours to know, not Google's; if you don't have them, a conservative estimate already produces a useful ROI. And for stores, connect this with the rest of your store metrics so SEO isn't judged in a vacuum.
The full cost (not just the invoice)
- The provider or agency invoice — the obvious part.
- Your time and your team's: the hours writing content or reviewing copy are worth money; give them a rate.
- Paid tools, if any.
- Delegated content: writers, photos, design pieces.
Set up measurement before you start
- Define conversions in [Google Analytics 4](/blog/google-analytics-4-for-small-businesses): form submissions, WhatsApp clicks, phone clicks, purchases. Without this, everything else is opinion.
- Record the baseline: organic enquiries and sales from the last 3–6 months. ROI is measured against it, not against zero.
- Verify [Search Console](/blog/google-search-console-practical-guide): the source of truth for impressions, clicks and positions per query.
- Ask the provider for business-format reporting: monthly organic enquiries and sales, not just positions. Whoever measures well accepts without a fuss.
The first months: bridge metrics
SEO vs advertising: the fair comparison
Advertising performs from day one and dies the day you stop paying; SEO takes months and keeps performing years after each investment. That's why comparing them month-by-month is unfair to SEO, and comparing them over three years is unfair to advertising. The useful comparison is by role: advertising for today's demand, SEO for structurally lowering your acquisition cost. A mature business usually runs both, and one fact sums it up: SEO's cost per enquiry falls every year it's sustained, while advertising's tends to rise with competition. That's the underlying logic of the whole SEO strategy.
Frequently asked questions
What counts as a "good" SEO ROI?
It depends on margin and industry, but as a reference: healthy SEO for a services business usually exceeds an ROI of 3–5 from the second year — which is why it's worth sustaining despite the slow start. If after 12 months ROI is still below 1 with measurement properly set up, something is wrong: strategy, execution or market.
How do I separate SEO sales from the rest?
With the source channel in Analytics: "organic" groups what arrived from search engines without paying. It isn't perfect — someone can discover you on Instagram and Google you later — but it's consistent: measure the same way every month and the trend is real even if the absolute number is noisy. Avoid the opposite trap too: crediting SEO with everything that comes in.
Does brand traffic count as SEO return?
Searches for your own name would mostly exist without any SEO work, so counting them inflates and distorts ROI. The honest approach is to look separately at non-brand organic traffic — the generic searches where SEO actually competes. A good provider makes that split by default; a weak one shows off brand traffic as if they generated it.
My provider only reports positions — what do I do?
Request the format change: organic enquiries and sales against the baseline, with positions as an annex. It's an hour of work with Analytics properly configured. If they resist or claim "that can't be measured", you have your answer: it's not that it can't be — it's that it doesn't suit them. Serious providers measure in money because it works in their favour.