The same engagement returns three different ROI figures depending on where you measure.
Most articles on this topic exist to produce a flattering number for a pitch. This one does the opposite.
A disclosure first, because it matters here. Digital Hangover sells SEO. A page about SEO ROI written by an SEO agency has an obvious conflict of interest, and you should read every paragraph below with that in mind. We have written it the way we would explain it to a client who asked us to prove the spend — which means naming the places our own numbers would be weakest.
One thing this page does not do is price the work. What SEO costs in this market sits in our breakdown of SEO cost in India; directionally, agency retainers here run from about ₹25,000 to ₹1,50,000+ a month depending on scope. Here we only deal with the return side — and how badly it can be dressed up.
What is the SEO ROI formula?
The calculation is one line. Every honest argument about SEO ROI is an argument about what goes into it.
SEO ROI % = (Value of organic conversions - Cost of SEO) / Cost of SEO x 100
A result of 0% means you got your money back and nothing more. 100% means you doubled it. A negative number means the engagement has not paid for itself yet — which, in the first few months, is the normal and correct reading.
| Term | What it actually means |
|---|---|
| Value of organic conversions | Money, not events. For ecommerce it is revenue from organic sessions. For lead generation it is leads × close rate × average deal value. Not "leads", not "traffic". |
| Cost of SEO | The invoice plus everything else you spend: internal time reviewing content, developer hours, tool subscriptions, and freelance writing. |
| The period | The window you measured over, stated out loud. Without it the percentage is meaningless — as the worked example below shows. |
Where each input really comes from
Three of the four inputs do not live in your SEO tools. They live in the business, and someone has to go and ask for them.
| Input | Where to get it | How it goes wrong |
|---|---|---|
| Organic conversions | GA4, Organic Search channel, with conversions actually configured as key events. Our GA4 guide covers the setup. | Forms that fire no event, calls that are never tracked, thank-you pages counted twice. Fix conversion tracking before you calculate anything. |
| Conversion value | Ecommerce: purchase revenue. Leads: average deal value from the CRM, net of discounts and refunds. | Using order value when the real number is customer lifetime value, or using gross revenue when the business runs on 18% margins. |
| Close rate | Sales, by lead source. Organic leads often close at a different rate from paid ones. | Borrowing one blended close rate for every channel. That single shortcut can double or halve the final figure. |
| Cost of SEO | The retainer, plus logged internal hours at a real hourly cost. | Counting only the invoice. Internal time is the main hidden cost, and it is the whole subject of SEO agency vs in-house. |
If you are comparing against paid media, a ROAS calculator handles that side — it works out return on ad spend, not SEO ROI, so use it for the paid column only.
The five places the SEO ROI formula lies
This is the part other articles leave out. The formula is arithmetic, so it cannot be wrong — but the data you feed it can be, in five specific and predictable ways.
| The problem | Why the number is wrong | What to do about it |
|---|---|---|
| 1. The attribution window is shorter than the buying cycle | In GA4 the default lookback window is 90 days for most key events and 30 days for acquisition events, with 30, 60 or 90 as the choices (Analytics Help). If your sales cycle is five months, the organic visit that started the deal has expired before the deal closes. | Set the window to your actual sales cycle, and write the window on the report. A quarterly cycle cannot be judged monthly. |
| 2. Branded search gets counted as SEO | Someone sees a Reel, hears you on a podcast, then Googles your name. Last click records Organic Search. The demand was earned somewhere else entirely. | Split branded from non-branded. Search Console has a branded queries filter with data from 11 March 2025 onwards (Search Console Help). There is no excuse for not doing this now. |
| 3. Assisted conversions are invisible under last click | Paid and organic last click "attributes 100% of the key event value to the last channel", and every GA4 model excludes direct visits from receiving credit (Analytics Help). Organic's research-phase role vanishes. | Compare models side by side in GA4's attribution models report (Analytics Help) and report the spread, not one model. Marketing attribution explains the models properly. |
| 4. Compounding makes the measurement date the real variable | Cost accrues from month one at a flat rate. Conversions ramp. So month-6 ROI and month-18 ROI are different numbers for identical work. | Report ROI as a curve with the month labelled, never as one figure. The worked example below shows how far apart those figures sit. |
| 5. Nobody runs the counterfactual | You cannot know what would have happened anyway. Paid media can hold out a control group — Google's Conversion Lift splits an audience into "people who see your ads" and "people who don't" (Google Ads Help). You cannot hide your site from a region. | Accept it as an estimate, not proof. The nearest honest tool is incrementality testing, and it fits organic search badly. |
Note what problems 2 and 3 do in combination. Branded search inflates the number; assisted conversions deflate it. They do not cancel out neatly, and nobody can tell you by how much either moves without opening your own data.
Worked example: the same engagement, three different ROI numbers
Working through the maths — all figures below are hypothetical, invented to show the shape of the problem. This is the calculation we walk clients through when they ask what return to expect, because it is the one thing about this metric that genuinely surprises people.
Take a hypothetical B2B services business in India. Retainer ₹60,000 a month, plus roughly ₹15,000 a month of internal review and developer time, so the true cost is ₹75,000 a month. Organic leads close at 10%. Average deal value ₹1,20,000. Organic leads ramp from nothing in month one to around 19 a month by month eighteen.
| Measured at | Cost to date | Organic leads | Value of conversions | SEO ROI |
|---|---|---|---|---|
| Month 6 (whole engagement) | ₹4,50,000 | 26 | ₹3,12,000 | −31% |
| Month 18 (whole engagement) | ₹13,50,000 | 219 | ₹26,28,000 | +95% |
| Month 18 (last quarter only) | ₹2,25,000 | 54 | ₹6,48,000 | +188% |
Same work. Same monthly spend. Same hypothetical business. Three defensible calculations, from −31% to +188%.
Nothing in that table is a trick. Each row is the honest formula applied to a different, reasonable window. Which one an agency shows you is a choice — and that is the single most misleading thing about this metric.
Two readings follow from it. If you judge SEO at month six, you will usually conclude it failed. Google's own starter guide says only that "some changes might take effect in a few hours, others could take several months", and advises waiting "a few weeks" before assessing work (Google Search Central, last updated 10 Dec 2025). In practice, expect meaningful movement in roughly three to six months and compounding after that. Equally, the trailing-quarter number is the one to distrust most, because it charges three months of cost against eighteen months of accumulated work.
What to report instead of one ROI percentage
A single percentage is the least useful honest output of this exercise. Report the things that survive scrutiny.
- The ROI curve, by month, with the window named. One number per month, plotted, with the attribution model and lookback window written on the chart.
- Branded and non-branded split out. Non-branded organic conversions are the ones SEO can reasonably claim.
- Cost per organic lead against cost per paid lead. A comparison that holds up better than ROI does — see cost per lead and SEO vs PPC.
- Blended acquisition cost. If channels assist each other, measure them together using customer acquisition cost rather than fighting over credit.
- Leading indicators, kept separate from money. Rankings and impressions on target queries belong in SEO KPIs, not in the ROI line. Our SEO reporting post covers how to lay the whole thing out, and marketing KPIs sets it against other channels.
- The assumptions, written down. Close rate, deal value, internal cost, model, window. If a reader cannot re-run your sum, you have not shown them a calculation.
Our own position, plainly: we do not put an ROI percentage in proposals. We have the formula, and we could pick a window that makes it look excellent — which is exactly why the number is worthless at proposal stage, before anyone has seen the close rate or the real sales cycle. What goes into an SEO proposal instead is the scope, the inputs we will need from the client to calculate return later, and the measurement setup. The percentage comes after the data exists, or not at all.
What an honest return number gets you
A defensible SEO ROI number is worth less as a sales artefact and far more as a decision tool. Once the window, the attribution model and the branded split are written down, the figure stops being an argument and becomes a comparison: quarter against quarter, organic against paid, this scope against a cheaper one.
Start with the plumbing. Get conversions firing properly, set the lookback window to your real sales cycle, get a close rate and a deal value out of sales, and add your internal hours to the cost side. Then calculate it monthly and watch the curve. Our marketing analytics guide covers the measurement layer underneath all of it.
Frequently asked questions
How do I calculate SEO ROI?
Take the value of conversions from organic search, subtract the cost of SEO, divide by the cost of SEO, and multiply by 100. Value means money: revenue for ecommerce, or leads × close rate × average deal value for lead generation. Cost means the retainer plus internal time, tools and developer hours — not just the invoice.
What is a good SEO ROI?
There is no benchmark worth quoting, and anyone who gives you a universal figure is guessing. A good return depends on your margin, your deal value and your sales cycle — a business on 18% margins needs a far higher percentage than one on 70% to break even. Compare your own number across quarters instead.
Why is my SEO ROI negative in the first six months?
Because cost accrues at a flat rate from month one while conversions ramp slowly. That is the expected shape, not a failure. Google's starter guide notes some changes take hours and others take months; in practice expect meaningful movement in roughly three to six months, compounding after. Judging the engagement at month six will almost always understate it.
Can you prove SEO caused the revenue?
No — not the way paid media can. Google's Conversion Lift works by splitting an audience into a group that sees ads and a group that does not. You cannot hide your website from a control group, so no true counterfactual exists for organic search. Incrementality testing is the closest tool and it fits organic badly. Treat the number as a defensible estimate.
Why doesn't Digital Hangover quote an ROI percentage in proposals?
Because at proposal stage we would be choosing the inputs ourselves, and the window we picked would decide the answer. We do not have your close rate, deal value or real sales cycle yet. We put the scope and the measurement setup in the proposal, and calculate return once there is data to calculate it from.
Get a return number you can defend
We set up the tracking, fix the attribution window, split branded from non-branded, and report the curve — assumptions included.
Make Digital Hangover a preferred source
One tap tells Google to show more of our SEO and marketing coverage in your Top Stories.
