How Do You Calculate SEO ROI?

The agency’s year-end report credits SEO with every customer who arrived through organic search, including the ones who typed your company’s name into Google, and values the traffic at what the same clicks would have cost in ads. Your controller points out that the company ranked for its own name long before the retainer started and asks how many of those customers you’d have had anyway, which leaves you, before the renewal, with the question the report skipped: how do you calculate SEO ROI?

Calculate SEO ROI as the gross profit from customers that non-branded organic search won above your pre-SEO baseline, minus the full cost of the SEO work, divided by that cost, measured over a year or more.

The formula is short, and the two inputs that decide whether the figure survives a finance review, which customers to count and which costs to include, are where most SEO ROI reports go wrong, so the sections below take them one at a time.

How Do You Calculate ROI on SEO?

Calculate ROI on SEO by adding up everything the SEO work cost over a period, counting the customers organic search won beyond what it was already bringing, turning them into gross profit, and dividing the profit left after the cost by the cost. Why we use gross profit rather than revenue is on our page about how to measure digital marketing ROI; what’s particular to SEO is the baseline, the branded searches and the timing.

  1. Choose two periods, the last twelve months and the whole time since the program began, because SEO’s costs come before its results and its pages keep working after they’re paid for.
  2. Add up the full cost of the SEO work for each period: agency or consultant fees, writers, the developer hours spent on technical fixes, tools, and the time your own experts spend briefing writers and reviewing pages.
  3. List the customers whose first contact came through organic search, from your CRM. Google Analytics counts a visit as Organic Search when it arrives from a non-ad link in organic results, including Google’s AI Overviews and AI Mode,1 and the lead record should carry that source beside the buyer’s answer to “How did you hear about us?” and any calls your call tracking ties to organic visits.
  4. Take out the customers who searched for your name, because they knew you before the search, as the next section explains.
  5. Subtract the baseline, the number of non-branded organic customers you were winning in the same months before the SEO work started.
  6. Turn the customers left into gross profit on the same basis you use for your other channels, first-year or lifetime, so SEO can sit beside them.
  7. Subtract the cost, divide by the cost, and write down the period, the basis and what you counted, so next year’s figure is built the same way.

The Channel Selection step shows how to set up the CRM as the source of truth that steps 3 to 5 depend on.

How Do You Prove the ROI of SEO?

Prove the ROI of SEO by showing the gain in non-branded organic customers over a baseline you recorded before the work began, because organic search was bringing in customers before anyone was paid to improve it, and an SEO report that counts all of them claims credit for rankings the company already had.

Search Console’s branded filter splits searches that include your name from those that don’t,2 but only as totals for the site, and Google Analytics can’t break that query data down by its own visitor-level dimensions,3 so no report tells you which search a particular customer typed. In the accounts we review, two clues settle most cases: the first page the customer landed on, since organic visitors who arrive on the home page or contact page have usually searched for the company, and what the buyer says at intake about whether they already knew your name.

The baseline needs the same split, taken from the period before the work started:

  • Search Console’s history, exported now, because Search Console keeps only the last 16 months of data,3 and the branded filter has data only from its introduction on March 11, 2025.2
  • The non-branded organic customers in your CRM for the four quarters before the program, judged with the same two clues.
  • The same quarter a year earlier for each quarter you report, so a busy season isn’t mistaken for SEO.

Customers who first landed on pages the program created are the easiest to credit, since those pages brought nobody before, and where the stakes justify it, an incrementality test on one service line or region gives stronger proof than any before-and-after comparison.

How Long Does SEO Take to Show a Positive ROI?

SEO tends to show a negative ROI in its first months, because the cost is paid before the pages rank and Google says some changes take several months to show in search results,4 so judge it on cumulative cost against the cumulative gross profit of the customers it added, and call the point where the second passes the first its payback.

ExampleOur illustration: the contractor’s SEO return after one year and after two

Across this site we follow one illustrative company, a commercial HVAC contractor doing about $40M a year that sells maintenance agreements to property management firms. An average firm is worth about $36,000 a year at a 38% margin, so $13,680 in gross profit a year for about seven years, or $95,760 over its life. Because its customers stay that long and its cash flow can carry a one-year payback, the contractor chose to spend up to one year’s gross profit, $13,680, to win a firm, which is its own choice rather than a general rule.

Its Channel Selection plan adds SEO later, on searches paid search has proven, so the baseline and agreement counts below are our hypothetical figures, not its results, the cost is the hypothetical $4,000-a-month quote from how much SEO costs, and we assume organic search brings average-sized firms. Because the ceiling equals one year’s gross profit from an average firm, a cost per added agreement under $13,680 is the same thing as a positive first-year ROI, which makes the test easy to read.

Baseline before SEO (our hypothetical)
2 agreements a year from non-branded organic search
SEO cost
$48,000 a year, the hypothetical quote on how much SEO costs; $96,000 over two years
Non-branded organic agreements
Year one 4; year two 8
Added above the baseline
Year one 2; year two 6; 8 in total
Cost per added agreement
Year one $24,000; two years together $12,000, under its $13,680 ceiling
ROI on first-year gross profit
Year one minus 43%; two years together 14%
ROI on lifetime gross profit
Year one 299%; two years together 698%
Two-year first-year ROI if all 12 organic agreements were credited
About 71%, a figure a controller who knows the baseline would take apart

Judged on year one alone, SEO cost $24,000 per added agreement, well over the ceiling, while over two years it averaged the four extra agreements a year that the same quote needed, and since the contractor’s real limit is onboarding, as is SEO worth it explains, we’d also count the Google search spend that organic rankings let it save on those searches.

Your own ceiling depends on how long customers stay, how early their profit arrives and how much cash you can tie up, which the Channel Selection page shows how to work out. Which shows results more quickly, SEO or search advertising explains why we don’t put a fixed number of months on SEO, and how long SEO takes gives the checkpoints to read before the customers arrive.

What Is a Good ROI for SEO?

A good ROI for SEO is one where the cost per added customer, over the life of the program, sits below the most you can afford to spend to win a customer and compares well with what paid search costs on the same searches, and no published benchmark is reliable enough to set that target for you.

The SEO ROI figures most often repeated online come from First Page Sage, an SEO agency, which reports three-year averages from its own clients’ campaigns run between early 2021 and late 2025, ranging from 317% for ecommerce to 1,389% for real estate.5 It describes content-led campaigns with a typical fee of about $120,000 a year and doesn’t publish how many campaigns it averaged or how it decided which revenue SEO produced, so we’d read them as one agency’s report on its own clients rather than a target.5 We sell SEO ourselves, so weigh our view with that in mind.

Two comparisons tell you more than a benchmark:

  • Against your ceiling, the most you can afford to spend to win a customer, which what is a good marketing ROI applies to every channel.
  • Against paid search on the same searches, cost per customer from your own records on both sides, since in accounts we manage paid search shows which keywords produce revenue and SEO earns its keep by winning customers on those terms without paying for every click.

When Does an SEO ROI Report Mislead?

An SEO ROI report misleads when it values traffic at what the clicks would have cost in ads, credits SEO with customers who searched for your name, counts a recovery as growth, or is judged before the pages have had time to work, and each of these makes the return look surer than it is.

  • Traffic value presented as return. Ahrefs defines organic traffic value as what the traffic from a site’s rankings would cost “if that traffic was paid via PPC instead,” calculated from its own estimates of each keyword’s traffic and cost per click.6 The figure can’t show how many of those visitors became customers, and you might never have paid for those clicks at all.
  • Branded searches counted as SEO. A buyer who searched for your name after a referral, an event or a sales call would have found you with almost any website, which is why the brand bidding page treats branded paid clicks with the same suspicion.
  • A recovery counted as growth. We’ve seen redesigns that didn’t map old pages to new addresses lose search traffic, and when an agency restores it, the baseline is the level before the drop, not the low point after it.
  • Buyers who never clicked. A buyer who read your answer in an AI Overview and phoned the next day shows up as a branded search or a direct call, which what is zero-click search covers, and the intake question is the record most likely to catch it.
  • A verdict after one quarter. Rankings, impressions and non-branded clicks are the signs to track while you wait, as how to choose an SEO agency describes, but the return is measured in customers.

Export Your Organic Baseline Before It Ages Out

This week, export everything Search Console still holds with the branded and non-branded split, and count the non-branded organic customers in your CRM for each quarter before your SEO work began, because that baseline is the number every later SEO ROI figure is measured against and the oldest of it disappears every month. The Channel Selection page shows how to set up the source of truth that turns those counts into customers you can defend.

Step 5 of 6 · Channel Selection

Choose Channels Based on Who You Need to Reach.

Channel Selection means putting your Prospect Magnets where your IMPACT Prospect already pays attention, whether that's Google, LinkedIn, AI search, trade publications or their inbox, and judging each channel by the customers it produces. That means feeding qualified leads and signed customers back to the ad platforms so they optimize for buyers instead of form fills, and keeping a source of truth you control, because every platform is happy to take credit for sales it didn't cause.

Read the Channel Selection step

Want a second opinion on what your SEO is returning?

Request a free audit. We’ll review your tracking and the customers organic search has brought in, show you what your SEO work is adding above what you already had, and tell you plainly what we’d change first.

Free, with a real person from the 5K team. Takes about a minute to request.