Key takeaways:
- The formula is (SEO value minus SEO cost) ÷ SEO cost × 100. A result of 100% means you earned $2 for every $1 spent.
- For service businesses, the "revenue" side is usually lead value: average customer value × the share of leads you close.
- Branded searches (people typing your name) should be split out, and Google Search Console now has a built-in filter for that.
- SEO usually runs at a loss for several months before it breaks even, so a month-three ROI number is not a verdict.
- Phone calls, offline sales and AI answers are the most common gaps in SEO ROI tracking, and each one has a fix.
Most business owners know SEO costs money every month. Far fewer can say what SEO ROI they are actually getting, because the return shows up as calls, form fills and repeat customers rather than one clean sales figure. That gap is where agencies hide weak results and where good work gets cancelled too early.
This guide walks through how to measure SEO ROI the way you would check any other spend: what to count as cost, how to put a dollar value on an organic lead, how to build a simple calculator, how long payback really takes, and what to do once you have the number. It is written for service businesses that sell through phone calls and forms, not only online stores, which is where most ROI guides fall short.
What is SEO ROI, and how do you calculate it?
SEO ROI (return on investment) is the percentage you get back on every dollar spent on search engine optimization. The formula is:
SEO ROI = (value from organic search − SEO cost) ÷ SEO cost × 100
Read the result like this. Zero means you broke even. 100% means every $1 spent came back as $2. A negative number means SEO cost more than it returned over the period you measured.
The formula is the easy part. The hard part is filling in the two inputs honestly, so the next three steps cover exactly that.
Step 1: Add up every SEO cost
Most ROI numbers look better than they should because the cost side is incomplete. Count everything that exists only because you are doing SEO.
| Cost line | What to include | How to count it |
|---|---|---|
| Agency or freelancer | Monthly retainer, project fees, audits | Invoice totals for the period |
| Tools | Rank trackers, keyword tools, call tracking | Annual plans ÷ 12 |
| Content | Writers, editors, photography, video | Per piece or per month |
| Website work | Developer time for speed, redirects, schema, new pages | Hours × hourly cost |
| Your own time | Reviewing drafts, meetings, approvals, answering questions | Hours × what your hour is worth |
| Link building | Guest posts on relevant, reputable sites | Per placement or monthly |
The "your own time" line is the one most owners skip. Five hours a month at $60 an hour is $300 a month, which adds up to $3,600 a year that never shows on an invoice.
Step 2: Put a dollar value on organic leads
An online store can read revenue straight out of its checkout. A plumber, law firm or clinic cannot, because the sale happens later on the phone or in person. For those businesses, value each lead like this:
Value per lead = average customer value × close rate
If an average customer is worth $1,800 over their time with you (first job plus repeat work), and you close 40% of the leads that come in, each organic lead is worth $720 on average. Use real numbers from your invoices or CRM, not guesses. If you do not track repeat work yet, use the first-job value alone and accept that your ROI will read a little low.
One more honest adjustment: revenue is not profit. If your gross margin is 50%, a lead worth $720 in revenue is worth $360 in profit. Measuring ROI on profit is stricter, and it is the number that tells you whether SEO is actually paying for itself.
Step 3: Run the formula
Here is a worked example for a home service company spending $2,850 a month on SEO (agency fees, tools, content and the owner's time), or $34,200 over 12 months.
| Scenario | Organic leads in 12 months | Value at $720 per lead | SEO cost | SEO ROI |
|---|---|---|---|---|
| Strong year | 80 | $57,600 | $34,200 | 68.4% |
| Weak year | 30 | $21,600 | $34,200 | −36.8% |
| Strong year, measured on 50% margin | 80 | $28,800 profit | $34,200 | −15.8% |
The third row is the one most guides leave out. The same campaign can look like a 68% return on revenue and still lose money on profit in year one. That does not mean the campaign failed: rankings keep producing leads after you stop paying for the work that earned them, which is why year two is usually where SEO earns its keep.
Which numbers should you track to measure SEO ROI?
You need four numbers: organic leads, the value of those leads, total SEO cost, and the share of results that came from non-branded searches. Everything else (rankings, traffic, impressions) is a leading signal, useful for spotting trends but not a return on its own.
| Metric | Where to find it | What it tells you |
|---|---|---|
| Organic form fills and bookings | Google Analytics 4, key events filtered to Organic Search | Leads that arrived from search |
| Organic phone calls | Call tracking number on the site, or a call-click event in GA4 | The leads most service businesses get |
| Clicks and impressions | Google Search Console, Performance report | Whether visibility is growing |
| Branded vs non-branded clicks | Search Console branded queries filter | How much growth came from new customers |
| Closed revenue by source | Your CRM or invoices, tagged "Google organic" | Whether leads turned into money |
| Total SEO cost | Invoices, tool bills, timesheets | The denominator of the formula |
Set up key events in Google Analytics
Google Analytics now calls the actions that matter to your business "key events" (the old name was conversions), as explained in Google's help article on conversions vs. key events. Mark form submissions, booking confirmations and phone-number clicks as key events. Then look at them by session source, filtered to Organic Search. Without this setup, you have traffic numbers and no return to measure.
Split branded from non-branded searches
Someone who types your business name into Google was going to find you anyway. Counting those visits as an SEO win inflates your ROI. Google Search Console now has a built-in branded queries filter that, in Google's own words, lets you "separate data based on whether or not the search term included your brand name." Google notes that some queries can be misclassified and that the filter is not offered for sites with low impressions, so smaller sites may need a simple text filter on their brand name instead.
The non-branded share is the cleanest evidence that SEO brought you customers who did not already know you. If that line is flat while branded clicks rise, the growth is probably coming from your reputation, ads or word of mouth, not from SEO.
How do you build a simple SEO ROI calculator?
An SEO ROI calculator forecasts return before you spend by multiplying expected searches by click rate, lead rate and lead value, then comparing that with the monthly cost. You can build one in a spreadsheet in 20 minutes, and it beats any online calculator because it uses your own numbers.
Set up one row per target keyword group and these columns:
| Column | Example | Where the number comes from |
|---|---|---|
| Monthly searches | 4,000 | A keyword research tool |
| Expected click rate at your target position | 5% | Your own Search Console click rate for pages already ranking in that range |
| Expected visits | 200 | Searches × click rate |
| Visit-to-lead rate | 4% | GA4: organic key events ÷ organic sessions |
| Expected leads | 8 | Visits × lead rate |
| Value per lead | $720 | Customer value × close rate |
| Monthly value at full ramp | $5,760 | Leads × value per lead |
| Monthly SEO cost | $2,850 | Your quote plus tools and time |
| Forecast monthly ROI at full ramp | 102% | (Value − cost) ÷ cost × 100 |
Two cautions. First, "full ramp" means the month your pages actually reach the target positions, which is rarely before month six. Second, use your own Search Console click rates where you can, because published click-rate studies vary widely by industry and by how many ads and AI answers sit above the organic results.
If an agency hands you a forecast, ask to see these columns. A forecast that cannot show its inputs is a sales slide, not a plan. Our guide on how to evaluate an AI agency covers more questions worth asking before you sign.
How long does SEO take to pay back?
For most small service businesses, SEO runs at a loss for the first several months and breaks even somewhere between month six and month twelve. The reason is simple: costs start on day one, while rankings and leads build gradually.
Here is the same home service example from above, month by month, with leads growing as pages climb.
| Month | Leads that month | Running value ($720 each) | Running cost ($2,850/mo) | Running ROI |
|---|---|---|---|---|
| 1 | 0 | $0 | $2,850 | −100% |
| 3 | 2 | $2,160 | $8,550 | −74.7% |
| 6 | 6 | $12,240 | $17,100 | −28.4% |
| 7 | 8 | $18,000 | $19,950 | −9.8% |
| 8 | 9 | $24,480 | $22,800 | 7.4% |
| 9 | 10 | $31,680 | $25,650 | 23.5% |
| 12 | 13 | $57,600 | $34,200 | 68.4% |
The pattern matters more than the exact figures. Running ROI climbs every month because each new lead adds value while cost stays flat. Cancel in month six and you have paid for the slow part without collecting the payoff. Paid ads work the other way: leads arrive fast, but they stop the day the budget stops.
That is also why you should look at the trend line, not a single month. If running ROI is still falling by month nine, something is wrong with the targeting, the pages or the tracking, and it is time to find out which.
Why is SEO ROI hard to measure, and how do you close each gap?
SEO ROI is hard to measure because many of the sales it causes happen off the website, across several visits, or inside AI answers that send no click at all. Each gap has a practical fix.
| Gap | Why it hides SEO value | Fix |
|---|---|---|
| Phone calls | Calls from the site never show up as a form fill | Track phone-number clicks as a key event, or use a call tracking number on the website only |
| Offline sales | The deal closes in person weeks later | Ask "how did you find us?" on every new customer and tag the CRM record |
| Multi-visit buyers | Someone finds you through a blog post, then returns later by typing your name | Look at GA4's conversion paths, not just the last click |
| Branded inflation | Name searches get counted as SEO wins | Use Search Console's branded filter and report non-branded growth separately |
| AI answers | People read about you in an AI answer and call without clicking | Track AI answer visibility and AI assistant referrals alongside clicks |
Calls are usually the biggest gap
For most service businesses, the phone is where the money is, and it is the channel ROI reports most often ignore. When we fixed how Google read an auto repair shop's review data and rebuilt its thin service pages, phone calls from Google search went from 3 to 25 a month, comparing the 28 days before the fixes went live with the most recent 28 days. Because the same call event was measured in both windows, that comparison holds up. Change how you count calls halfway through a campaign and the before-and-after stops meaning anything.
AI answers are now part of search
Google's AI Overviews and AI Mode send visits too, and Google's documentation on AI features says that traffic is included in Search Console's Performance report under the "Web" search type. The same page says Google has seen that clicks from these features tend to be higher quality, with people spending more time on the site. So your Search Console clicks already include some AI traffic. What they miss is the person who read the AI answer, remembered your name and searched for you later.
To close that gap, track AI assistant referrals (visits from tools like ChatGPT and Perplexity) in GA4, and check what AI tools say about your business each month. Our guide to AI search citation tracking shows how to set that up without expensive software. On one solar installer's site we set up for AI search, Google AI answer appearances went from 783 to 3,602 while leads from Google went from 4 to 12, comparing the 28 days before launch with the most recent 28 days.
What is a good SEO ROI?
A good SEO ROI is any number that clears your own break-even after a fair time window, usually 12 months. Published industry averages exist, but they mostly come from agencies measuring their own clients, so treat them as marketing rather than benchmarks.
The more useful test is your own math. If your running ROI on profit is positive by month 12 and still climbing, SEO is working. If it is positive on revenue but negative on profit, it may still be worth it, but only if year two keeps the leads coming at a lower cost.
Use this table to decide what to do with your number:
| Your 12-month running ROI | What it usually means | What to do next |
|---|---|---|
| Below −50% | Tracking is broken, targeting is wrong, or the work never shipped | Audit tracking first, then check which pages were actually published or fixed |
| −50% to 0% | Rankings are building but not yet converting | Check the non-branded trend and lead rate per page before cutting spend |
| 0% to 100% | Paying back on revenue | Test the profit version and keep the pages that bring leads updated |
| Above 100% | Strong return | Find the pages driving it and build more on those topics |
Whatever the number, the first question is always whether the measurement is honest. A high ROI built on branded clicks is not real, and a low ROI with no call tracking may be hiding your best channel. For a broader look at what really sits inside a monthly marketing bill, see our breakdown of free AI tools vs. agency hidden costs.
How do you improve SEO ROI once you are measuring it?
You improve SEO ROI by putting more of the budget into pages that already bring leads and less into pages that only bring traffic. Measurement is the point where that becomes possible, because you can finally see which pages earn their keep.
- Find your lead pages. In GA4, list organic landing pages by key events. Those pages are your best signals for what to build next.
- Fix pages that rank but do not convert. A page with steady clicks and zero leads usually needs a clearer offer, a visible phone number or a faster form.
- Answer the questions buyers actually ask. Pages with direct, specific answers are the ones AI tools quote. Our playbook for getting cited in ChatGPT covers the format.
- Cut work that cannot be tied to a result. If a monthly deliverable has never been linked to a lead or a ranking gain, ask why it is still on the invoice.
If you want a team to run this measurement and the work behind it, our AI SEO services cover both classic Google rankings and visibility in AI answers, with monthly reports built around leads, calls and non-branded growth rather than traffic alone.
Frequently Asked Questions
How do you calculate SEO ROI?
Subtract your total SEO cost from the value organic search brought in, divide by the SEO cost, and multiply by 100. For service businesses, the value side is usually organic leads × close rate × average customer value. Count every cost, including tools and your own time.
What is a good ROI for SEO?
Any ROI that clears your own break-even within about 12 months and keeps climbing is a good result. Published averages are mostly agency-reported and vary widely, so your own profit-based number is the better test. Expect a negative ROI in the first few months, because costs start before rankings do.
How long does it take to see ROI from SEO?
Most small businesses see SEO break even somewhere between month six and month twelve, depending on competition and how much the site needed fixing first. Leads usually build gradually, so running ROI improves month by month. Judging a campaign at month three almost always reads as a loss.
How often should you measure SEO ROI?
Check leading signals like clicks, non-branded growth and organic leads every month, and calculate full ROI every quarter. A monthly ROI figure swings too much to act on, while a quarterly one smooths out slow weeks and seasonal dips. Re-run your 12-month running ROI each quarter to see the trend.
Is there a free SEO ROI calculator?
Yes. Many free online calculators exist, but a simple spreadsheet with your own numbers is more accurate. Use columns for monthly searches, your own Search Console click rate, your GA4 lead rate, value per lead and monthly cost. Because it runs on your data, it gives a forecast you can actually check later.
Get a free AI SEO audit with your ROI baseline
Before you judge any SEO spend, you need to know whether the tracking underneath it is telling the truth. We will run a free AI SEO audit that checks your call and form tracking, your branded vs non-branded split, and how you show up in Google and AI answers today, so you have a clean baseline to measure from. If you then want help, we quote a fixed scope after the audit.
WhatsApp our team, email info@speedxmarketing.com, or use our contact page. The team at SpeedX Marketing will take it from there.



