Losing clicks to competitors? Find out exactly why, and what to fix first.

Show me why
Skip to content

SEO Audits

How to Calculate SEO ROI (With a Worked Example)

Add saadrazaseo.com as a preferred source on Google

No pressure and no sales script. Just honest answers.

Calculate SEO ROI by subtracting the total cost of SEO from the gross profit it produced, dividing by that cost, and multiplying by 100 to get a percentage. Use profit rather than revenue where you can, count every cost including staff time, and judge the result over at least twelve months because SEO returns arrive late.

Ahrefs found that 96.55% of the roughly 14 billion pages in its index get zero organic traffic from Google. Returns are uneven across pages, which is why I calculate ROI for the whole programme rather than for each article.

The formula is the easy part. The hard part is deciding what counts as the return, what counts as the cost and over what period, because those choices can swing the answer more than the work itself. A defensible ROI figure is one where a sceptical finance person can check every input. A flattering one that falls apart under questions damages trust in everything else you report.

Below I set out the formula, the attribution choices, the time lag, and an illustrative worked example you can adapt. Before you start, it helps to have settled which outcomes you are measuring, which is covered in SEO KPIs: the metrics that actually matter.

The basic SEO ROI formula

The standard return on investment formula applies directly:

SEO ROI = (gross profit from organic search minus total SEO cost) divided by total SEO cost, multiplied by 100

If the result is 100 per cent, you earned back what you spent and the same amount again. If it is zero, you broke even. A negative result means the programme has not yet paid for itself, which is normal in the early months.

Two choices inside this formula deserve attention before you touch a spreadsheet.

  • Revenue or profit. Revenue-based ROI looks larger but ignores the cost of delivering the product or service. A shop with thin margins can show a handsome revenue return and still lose money. Use gross profit if you can get it. If not, apply an agreed margin and say so.
  • Which SEO costs. Count fees to an agency or consultant, content writing and editing, design and development time, tool subscriptions, and a fair charge for internal staff hours. Leaving out internal time is the most common way ROI gets inflated.

Decide what counts as return

Return depends on how the business converts visitors into money. The cleaner your measurement of that journey, the more believable the figure.

  • Online sales: organic transactions, with revenue and margin per order, taken from analytics or the shop platform.
  • Lead generation: organic enquiries multiplied by the share that become customers, multiplied by the gross profit per customer. The close rate comes from your CRM or sales team, not from analytics.
  • Offline or phone sales: only count what you can trace. Ask new customers how they found you, and use call tracking where it is set up, but label the figures as estimates.

In GA4, the actions you mark as important are called key events, and Google explains the idea on its help page for key events in GA4. Make sure your key events are real business outcomes such as a submitted enquiry or a purchase. If a scroll or a page view is set as a key event, any ROI built on it will be fiction.

Rather have an expert do this for you?

Hand it over and get back to running your business.

Hand it over to me

Attribution: choose it, state it, stay consistent

Attribution is how you give credit to SEO when a customer touches several channels before buying. There is no single correct answer, only a choice you should make openly.

ApproachWhat it credits to SEOUse it whenMain weakness
Last clickSales where organic search was the final visitYou want a conservative, easy to audit figureUndervalues SEO that introduces customers who return later by another route
First touchSales where organic search was the first visitYou want to show SEO’s role in discoveryOverstates SEO if other channels did the closing
Assisted conversionsSales where organic search appeared anywhere in the pathYou report alongside last click to show influenceCannot be added to last click without double counting
CRM basedClosed deals whose recorded source is organicSales cycles are long and offline steps matterDepends on how consistently staff record the source

My default is to report last click as the headline and show assisted influence beside it as context, never added to it. Separate brand search where possible. People who search your business name were often already persuaded by something else, so crediting SEO fully for those sales invites a fair challenge.

Include customer lifetime value, with care

If customers come back, one sale understates the value of winning them. Lifetime value, the gross profit a typical customer produces over the relationship, can legitimately raise the return. Use it only when the business has real repeat data. A forecast based on hope is not evidence.

I suggest showing two versions side by side: the first-order return, which is conservative, and the lifetime view, which uses an agreed retention figure from your own records. If the programme is attractive on the conservative view alone, the argument is much stronger.

Respect the time lag

SEO costs arrive immediately and returns arrive gradually. New or updated pages take time to be crawled, indexed and to build visibility, and the speed varies with the site and competition, so I do not give fixed timelines. What matters for ROI is that you do not measure too early.

Calculate ROI over a period long enough to include the build phase, and also show a cumulative chart so the payback point is visible. Twelve months is a sensible minimum for most businesses. A three-month ROI will usually look poor, and that tells you about the timing of the measurement, not the quality of the work.

An illustrative worked example

This example is invented to show the arithmetic. It is not a client result, and the numbers are not benchmarks.

Imagine a B2B services company that spends the following on SEO across twelve months, in a single currency:

  • Consultant retainer: 18,000
  • Content writing and editing: 6,000
  • Tools: 1,200
  • Developer time for technical fixes: 2,800
  • Total cost: 28,000

Over the same twelve months, analytics records 160 organic enquiries, counted as non-brand organic key events. The sales team closes a quarter of enquiries, so 40 become customers. Each customer produces an average first-year gross profit of 1,500, giving 60,000 in gross profit.

ROI = (60,000 minus 28,000) divided by 28,000, which is about 1.14, or an ROI of roughly 114 per cent. For every unit spent, the company got back that unit plus about 1.14 more.

The quarter-by-quarter picture matters as much as the total:

QuarterCostGross profit from organicCumulative net
Q17,0003,000minus 4,000
Q27,00010,000minus 1,000
Q37,00020,00012,000
Q47,00027,00032,000

Judged at the end of Q2, this programme looks like a failure, with a net loss. Judged at twelve months, it is clearly profitable. The payback point arrived during the third quarter. That is the shape of most healthy SEO investments, and explaining it in advance prevents panic in month four.

Present it so it survives scrutiny

A one-page summary is enough. Include the formula, every cost line, the attribution method, the close rate and where it came from, the period covered, and a plain statement of what you could not measure. If you build a live view of the underlying data, the guide on building an SEO dashboard in Looker Studio shows how to keep the inputs in one place.

Do not present a single figure as though it were exact. A range, for example the conservative and lifetime views together, communicates honest uncertainty and tends to earn more trust than a precise number that cannot be reproduced.

Use ROI to decide, not just to report

ROI is most useful forward-looking. When you have several possible fixes and limited budget, estimate the likely return of each against its cost and effort, and do the highest value work first. My approach to ranking work in an audit is in how to prioritise SEO audit findings. For the day-to-day numbers that feed an ROI calculation, see how to track SEO performance. If you need to understand which pages and queries are producing the clicks in the first place, start with the Search Console performance report.

An independent SEO audit can also help here, because it identifies where the largest returns are likely to sit before you spend, and the broader process is described in what a professional SEO audit includes.

Questions people ask about SEO ROI

What is a good ROI for SEO?

There is no universal benchmark, because margins, sales cycles and competition differ so much. A better test is whether the return beats your next best use of the same budget, and whether the payback period fits your cash position.

How long does it take to see a return from SEO?

It varies with the site, its history, the competition and how much needs fixing, so I do not quote fixed timelines. Plan to measure over twelve months or more, and expect the cumulative figure to be negative at first.

Should I use revenue or profit in the calculation?

Profit is more honest, because revenue ignores what it cost to deliver the sale. If you only have revenue, state the margin you assumed and show how the result changes if the margin is lower.

Can I calculate SEO ROI if I get leads by phone?

Yes, but label it as an estimate. Use call tracking where available, ask new customers how they found you, and record the answer in your CRM. Even an imperfect, honestly labelled figure is better than ignoring phone leads.

If you want an ROI model built from your own numbers, with the assumptions written down so your finance team can check them, get in touch through the contact page and I will start with a free audit of your measurement.

More in this series (SEO measurement and Search Console): start with What a Professional SEO Audit Includes (and Red Flags), then explore:

Rather have an expert do this for you?

Tell me about your website and goals, and I will reply with a free first review.

Your details are only used to reply to your request. No spam.

Grow my trafficCall