SEO ROI is often reported as a traffic story: rankings increased, sessions rose, and the programme is declared successful. That does not answer the commercial question. The calculation needs a...
SEO ROI is often reported as a traffic story: rankings increased, sessions rose, and the programme is declared successful. That does not answer the commercial question. The calculation needs a defensible baseline, incremental conversions, realistic value per conversion, and the full cost of producing the result.
This is the practical seo roi formula: ((incremental SEO gross profit - SEO investment) / SEO investment) x 100. Revenue can be used for a top-line view, but gross profit is the better input when margins vary or fulfilment costs are material.
Start with the value generated by SEO, then subtract the cost of generating it. The calculation has four stages:
For ecommerce, a more detailed version is:
SEO ROI = (((incremental organic orders x average order value x gross margin) - SEO investment) / SEO investment) x 100
For lead generation, replace orders with incremental qualified opportunities and calculate their expected gross profit:
SEO ROI = (((incremental qualified leads x sales acceptance rate x close rate x average gross profit per customer) - SEO investment) / SEO investment) x 100
Do not mix revenue and profit in the same calculation. If you subtract a cost from revenue, you have a contribution calculation, not a true profit ROI. If gross margin is 60%, $100,000 in SEO-attributed revenue contributes $60,000 before marketing and operating costs.
The formula is simple. The inputs are where most SEO ROI models become unreliable. The table below is a useful audit before approving a result.
| Input | Where to source it | Most common error |
|---|---|---|
| Organic baseline | Analytics, CRM, ecommerce platform, and Search Console data from a pre-agreed period | Using the previous month without correcting for seasonality, promotions, stock changes, or brand demand |
| Incremental conversions | Analytics conversion events reconciled with orders, CRM opportunities, or finance records | Counting every organic conversion rather than the increase above the baseline |
| Conversion rate | First-party analytics segmented by landing page, device, market, and non-brand or brand query group | Applying one site-wide conversion rate to every keyword and page |
| Average order value | Ecommerce platform or finance system, preferably net of refunds, discounts, and tax | Using a catalogue price instead of the realised order value |
| Gross margin | Finance or management accounts by product, service line, or customer segment | Using revenue as profit, especially when product margins differ materially |
| Lead value | CRM opportunity stages, closed-won revenue, sales acceptance rates, and finance data | Valuing every form fill as if it became a paying customer |
| SEO investment | Invoices, payroll allocation, contractor records, software bills, and development tickets | Including the monthly retainer but excluding internal labour and implementation work |
| Assisted conversion value | Path analysis, CRM journeys, and agreed multi-touch rules | Giving SEO 100% of a conversion that it influenced but did not close |
| Unmonetised ranking potential | Search Console, rank tracking, keyword demand data, click-through assumptions, and conversion data | Reporting projected value as realised ROI |
ROI must be based on incrementality. If organic revenue was $80,000 before the programme and $95,000 afterwards, the starting assumption is $15,000 of incremental revenue. It is not $95,000.
A baseline should normally cover at least 8 to 12 weeks for a stable site. Use a longer comparison when the business is seasonal, when SEO changes take several months to mature, or when the relevant buying cycle is long. Compare like with like: the same countries, devices, product availability, brand segmentation, and date pattern.
The cleanest input is incremental gross profit:
incremental gross profit = post-SEO gross profit - expected gross profit without the SEO activity
The second term is not always directly observable. A practical baseline can use the previous period adjusted for seasonality and known business changes. For larger programmes, compare a group of pages or markets receiving the work with a reasonably similar control group that did not. This is still an estimation, but it is stronger than attributing every increase to SEO.
Brand and non-brand traffic should usually be separated. If a television campaign increased branded searches, brand organic conversions may have risen without the SEO programme creating that demand. Including them without adjustment is a common way to overstate return.
The popular advice that “traffic up means ROI up” is wrong. Traffic from informational queries can rise while qualified leads and orders stay flat. Conversely, a small increase in highly commercial traffic can produce substantial profit without a dramatic change in total sessions.
An assisted conversion is a conversion where organic search appeared in the journey but was not the selected final interaction under the reporting model. It can represent real influence, but it is not automatically worth the same as a last-touch conversion.
Use a defined credit rule before reviewing the result. For example:
These percentages are commercial assumptions, not universal truths. Calibrate them against CRM evidence, sales feedback, path length, and experiments where possible. A long-considered B2B purchase may justify a different rule from a low-consideration retail purchase.
Use assisted value only once. If a $10,000 deal receives 30% organic credit, SEO gets $3,000 of credited revenue or profit, depending on the model. Do not also include the full $10,000 in last-touch revenue and then add $3,000 of assisted revenue.
For lead generation, value the lead at its expected economic value rather than its headline contract value. If a qualified opportunity is worth $20,000 in gross profit when won, the close rate is 25%, and SEO receives 30% influence credit, its expected SEO value is:
$20,000 x 25% x 30% = $1,500
This is more defensible than calling every assisted form fill a $20,000 conversion.
New rankings often have no observed conversions. That does not make them worthless, but their value is forecast value, not realised value. Keep the two numbers separate:
A forecast for an unmonetised keyword or page can use:
expected future gross profit = expected monthly clicks x conversion rate x gross profit per conversion x expected months x probability of retaining the ranking
Suppose a group of pages is expected to generate 3,000 monthly clicks once rankings stabilise. The relevant conversion rate is 2%, average order value is $180, and gross margin is 65%. The monthly gross profit is:
3,000 x 2% x $180 x 65% = $7,020
If the forecast covers six months and there is a 35% probability that the pages will reach and retain the required ranking, probability-adjusted value is:
$7,020 x 6 x 35% = $14,742
Use a ranking probability because a position 8 ranking is not guaranteed to become a position 2 ranking, and rankings fluctuate. Use ranges where possible: a conservative, expected, and upside scenario. Do not put the upside scenario into the business case as though it were booked revenue.
Another popular mistake is to value every ranking by search volume alone. Search volume does not equal clicks, clicks do not equal qualified visits, and visits do not equal profit. Apply click-through rate, conversion rate, commercial relevance, margin, and a time horizon before assigning value.
Assume an ecommerce company reviews six months of SEO work. It agrees that the organic baseline, adjusted for seasonality and stock availability, is 20,000 relevant monthly sessions. During the review period, relevant organic sessions average 26,000. The additional 6,000 sessions are not used directly as value; the company measures the resulting incremental conversions.
Analytics and order data show 120 incremental direct organic orders above the baseline. CRM and path analysis identify 60 additional incremental orders where organic assisted the journey. The agreed credit for these assisted orders is 30%.
The average realised order value is $180 after discounts and refunds. Gross margin is 65%. SEO investment for the six-month period is $9,000, including content, technical work, tools, and allocated internal time.
First calculate credited orders:
direct orders = 120
assisted equivalent orders = 60 x 30% = 18
total credited orders = 120 + 18 = 138
Now calculate credited revenue:
138 x $180 = $24,840
Convert that revenue into gross profit:
$24,840 x 65% = $16,146
Finally calculate ROI:
(($16,146 - $9,000) / $9,000) x 100 = 79.4%
The realised SEO ROI is therefore approximately 79%. The corresponding return on investment is $1.79 of gross profit for every $1 invested, while the net gross profit after SEO cost is $7,146.
Now consider the unmonetised rankings forecast above, worth $14,742 in probability-adjusted gross profit over the following six months. That should be reported separately as expected future value. If management wants a forward-looking view, the combined expected value is $30,888, but it must be labelled clearly:
$16,146 realised gross profit + $14,742 expected future gross profit = $30,888
It is not correct to say that $30,888 has already been generated. The realised result remains $16,146, and the forecast depends on rankings, clicks, conversion rate, margin, and retention assumptions.
A useful SEO ROI report therefore contains two lines: realised ROI from incremental, valued outcomes, and expected future value from credible but unmonetised opportunities. Keeping those lines separate makes the arithmetic less flattering than a traffic-only report, but far more useful for deciding what to fund next.
Want the measurement, not the pitch?
Send us your domain. We run the baseline on your category prompts and send back the raw answers alongside the score — you can check our working.
Đội ngũ chuyên gia Vidco Group sẵn sàng đồng hành cùng bạn
Bước 1 / 4
Chúng tôi sẽ liên hệ trong vòng 2 giờ làm việc.