SEO ROI is the gross profit organic search earned you, minus what you spent on SEO, divided by what you spent, times 100. If two years of SEO cost $72,000 and the customers it brought in produced $108,000 of gross profit, the ROI is 50%. The formula is easy. The four decisions behind its inputs are where most SEO ROI numbers go wrong.
Those decisions are: what counts as the return, which sales belong to SEO, which costs you include, and over what period. Change any one of them and the same programme can be reported as a triumph or a loss. This guide walks through each decision, recommends a default for each, and then applies them to one worked example in rupees, pounds and dollars.
The SEO ROI formula we recommend
Most guides give the formula on revenue:
SEO ROI = (revenue from organic search − cost of SEO) ÷ cost of SEO × 100
We recommend one change, and it matters more than any other choice in this article:
SEO ROI = (gross profit from organic search − cost of SEO) ÷ cost of SEO × 100
Gross profit is revenue minus the direct cost of delivering what you sold: stock, shipping, payment fees, the hours a service takes to deliver. A shop selling ₹1,000 kurtas at a 40% margin keeps ₹400 per order. Counting the full ₹1,000 as "return" compares money you never kept against money you really spent, and overstates the return two and a half times.

Revenue-based ROI is fine for comparing SEO with a channel also measured on revenue, such as a Google Ads ROAS figure. If finance asks whether SEO pays for itself, only the profit version answers.
Three other ratios get confused with ROI, so name yours when you report it:
| Metric | Formula | What it tells you |
|---|---|---|
| ROI | (gross profit − cost) ÷ cost | Whether SEO pays for itself |
| ROAS-style return | revenue ÷ cost | Revenue per unit of spend, ignoring margin |
| Payback period | months until cumulative profit ≥ cumulative cost | How long the money is tied up |
| Cost per acquisition | cost ÷ new customers | What one customer costs you through SEO |
Decision 1: what counts as the return
The return should be money your business kept because someone found you in organic search. That rules out three tempting substitutes.
Revenue instead of profit. Covered above. Use your real average margin, or the margin of the product lines your SEO pages sell.
Lifetime value instead of first-year value. A subscription customer keeps paying, so lifetime value (LTV) is fair in principle. In practice, LTV estimates for young businesses are guesses, and a guess multiplied by every customer swamps everything else in the sum. Our default: first-year gross profit per customer, stated as such. If you use LTV, use the same LTV figure your paid channels are judged on.
Traffic value instead of sales. This one deserves its own section.
Why "traffic value" is not SEO ROI
SEO tools show a dollar figure next to your organic traffic. Ahrefs defines organic traffic value as the equivalent monthly cost of traffic from all the keywords a site ranks for, if that traffic was paid via PPC instead. It multiplies each keyword's estimated traffic by its cost per click and adds them up.
That makes traffic value an answer to a hypothetical: what would these visits cost in ads? It is useful for sizing a market or comparing two sites. It is not revenue:
- You were never going to buy that traffic. Many informational keywords have high CPCs because advertisers bid on them for other reasons. A blog post ranking for "what is GST" saves you nothing if you would never have run that ad.
- The visits are estimates. Traffic value rests on modelled search volume and modelled click-through rates, not on your analytics.
- A visit is not a sale. Traffic value treats every visit as worth its CPC whether or not anyone bought anything.
If an agency report puts "traffic value" in the ROI line, ask for the same report built from key events and closed deals. Traffic value can sit in the appendix.
Decision 2: which conversions belong to SEO
This is the hardest of the four, and no tool settles it for you. You need a tracked action, a channel rule, and an attribution model.
The tracked action. In Google Analytics 4, the actions you care about are now called key events. Google defines a key event as an event that measures an action that's particularly important to the success of your business, and reserves the word "conversion" for actions used to measure ad campaigns. For a shop, the key event is purchase with a value. For a lead-generation site, it is a form submission, a booked call or a click on a WhatsApp link, and the money comes later from your CRM.
The channel rule. GA4 puts a session in the Organic Search default channel group when the source matches its list of search sites or the medium is exactly "organic". Paid clicks from the same search engines go to Paid Search. That split is reliable as long as your ad links carry proper tracking, so check that before trusting either number.
The attribution model. Most buyers touch more than one channel. Someone reads your guide from Google, leaves, sees a retargeting ad, then books a demo. GA4's attribution settings offer data-driven attribution, which distributes credit based on data for each key event, and "paid and organic last click", which ignores direct traffic and gives 100% of the credit to the last channel clicked. Pick one, write it down, and do not switch models between reports.
Separate brand searches from the searches SEO won
Organic Search in GA4 includes people who typed your company name into Google. Most of them would have found you without any SEO programme, because they already knew you. Counting their purchases as SEO return is the most common way ROI gets inflated.
Search Console now helps with this. Its branded queries filter, announced in November 2025 and made available to all eligible sites in March 2026, splits the Performance report into branded and non-branded queries. Google says a branded query is one that includes your brand name, and that the split is made by an internal, AI-assisted system, which also catches misspellings and brand products. It only works on top-level properties with enough query volume, and the Insights report has a card showing the click split.
Search Console does not track sales, so you cannot filter key events by branded query directly. Use the split one of two ways:
- Landing-page method. Count key events only on pages your SEO work created or improved, and exclude the homepage and pages people reach mainly by brand name. Simple, conservative, and easy to explain.
- Share method. Take the non-branded share of organic clicks from Search Console, say 70%, and apply it to organic key events. Rougher, because it assumes branded and non-branded visitors convert at the same rate, which these reports cannot confirm.
We prefer the landing-page method for anything shown to finance.
Decision 3: which costs go in
SEO is often described as free traffic. The bill is real, just spread across people and tools that are easy to forget. Count:
- People. Salaries for the time your team spends on SEO and content, including the developer who fixes templates and the designer who makes images. Use loaded cost (salary plus employer taxes and benefits), pro-rated by hours.
- Outside help. Agency retainers, freelance writers and editors, technical audits.
- Tools. SEO platforms, rank trackers, writing tools. If a tool is shared with the paid team, allocate a fair share.
- Content production. Photography, video, translation, expert reviewers.
- Promotion and links. Digital PR, outreach, sponsored placements.
Leave out costs that would exist anyway, such as hosting the site you already run. Include one-off costs such as a migration in the period they happened, and say so in the report, because they distort a single month.
The cost side is also where a team can make the most honest saving. Writing fewer pages that target keywords you can actually win is cheaper than writing many that never rank; our SEO plan guide covers that decision.
Decision 4: what time window to measure
SEO costs arrive first. Returns arrive months later and keep arriving after the spend stops. Comparing this month's cost with this month's return therefore punishes SEO early and flatters it later.
These habits fix most of the distortion:
- Measure cumulatively. Add up all costs and all attributed gross profit since the programme started, and report ROI on the totals.
- Report the payback month. The month in which cumulative profit overtakes cumulative cost is easier for a founder to understand than a percentage.
- Keep the period honest. If you report 24 months, include all 24 months of cost, not just the months that look good.

Two practical limits matter here. Search Console keeps 16 months of data, so export it if you want a longer view. And GA4 changes apply from the day you make them: marking an event as a key event affects reports from that point on and does not change historic data, so set tracking up before the programme starts, not when someone asks for an ROI report.
A worked example in rupees, pounds and dollars
The numbers below are illustrative. They describe a made-up B2B software company running the same SEO programme in three markets. They are not exchange-rate conversions or data from a real business. Each column is sized for its own market, with identical ratios so the arithmetic stays easy to follow.
The company publishes and updates content for 24 months. It sells a subscription, generates leads through a demo form (its key event), and closes 12% of leads in its CRM. It keeps 75% of first-year revenue as gross profit.
| Line | India (₹) | UK (£) | US ($) |
|---|---|---|---|
| Writing and editing per month | 40,000 | 1,600 | 2,000 |
| Tools per month | 5,000 | 200 | 250 |
| Internal time per month | 15,000 | 600 | 750 |
| Total cost, 24 months | 14,40,000 | 57,600 | 72,000 |
| Organic demo requests, 24 months | 250 | 250 | 250 |
| Of which on SEO landing pages (not homepage or brand) | 200 | 200 | 200 |
| Customers at 12% close rate | 24 | 24 | 24 |
| First-year revenue per customer | 1,20,000 | 4,800 | 6,000 |
| Gross profit per customer (75%) | 90,000 | 3,600 | 4,500 |
| Gross profit from SEO, 24 months | 21,60,000 | 86,400 | 108,000 |
| SEO ROI | 50% | 50% | 50% |
The dollar case in full: (108,000 − 72,000) ÷ 72,000 = 0.5, so the ROI is 50%. Cumulative profit caught up with cumulative cost in month 18, which is the payback period.
The same programme, reported five ways
Now report the dollar column the ways agency decks and online calculators do. Nothing about the business changes.

| How it was counted | Return used | ROI |
|---|---|---|
| Tool "traffic value", summed over 24 months | $192,000 | 167% |
| Revenue from all 250 organic leads, brand included | $180,000 | 150% |
| Revenue from the 200 non-brand leads | $144,000 | 100% |
| Gross profit from the 200 non-brand leads | $108,000 | 50% |
| Gross profit, but measured at month 12 | $18,000 against $36,000 cost | −50% |
Every row uses a real-sounding method. Only the fourth answers "did SEO pay for itself?", and the fifth shows why a programme judged at its first anniversary can look like a failure while it is on track. In rupees and pounds the percentages are identical, because ROI is a ratio.
Where the "SEO ROI is 748%" figure comes from
Search for SEO ROI and you will meet a confident number, usually 748%, sometimes without a source. We traced it. It comes from an SEO agency, First Page Sage, which publishes SEO ROI statistics drawn from proprietary data on campaigns it ran between 2021 and 2025.
Read the original and the figure shrinks. The 748% is the average for the agency's own premium service tier, which it describes as strategic planning plus high-end content about eight times a month. The same table gives basic content marketing, about four average-quality articles a month, a 16% ROI and 15 months to break even. The page does not say how many campaigns sit behind each figure, how revenue was attributed, or whether brand searches were excluded. It ends by inviting readers to hire the agency.
None of that makes the numbers false. It makes them unusable as your benchmark: one firm's clients, one firm's methods, an undisclosed sample and an obvious interest in the result. We quote no industry-average SEO ROI here, because we found none built on a disclosed method and a broad sample. Treat any single percentage sold as "the" ROI of SEO as marketing.
The useful benchmark is your own. Calculate ROI for your paid channels with the same four decisions, then compare.
How to set it up in GA4 and Search Console
Set this up before anyone asks for the number.
- Mark your key events. In GA4, go to Admin, then Data display, then Events, and mark
purchase,generate_leador your form event as a key event. For ecommerce, send the order value with the event. For lead generation, give the key event a default value only if you can defend it from close rate and deal size. - Choose an attribution model and freeze it. Under Admin, then Data display, then Attribution settings, pick data-driven or paid and organic last click. Note the choice in your reporting template.
- Check your paid tagging. Every ad and email link should carry UTM parameters, so paid and email traffic do not leak into Organic Search.
- Link Search Console. In Admin, under Product links, click Search Console Links and connect your property. The Search Console link adds two reports, Google Organic Search Queries and Google Organic Search Traffic, which joins landing pages to clicks, impressions and GA4 engagement. The collection is unpublished by default, so publish it from the Library.
- List your SEO landing pages. Keep a sheet of every page the programme created or materially improved, with the date. This is what the landing-page method filters on.
- Join to your CRM. For lead generation, store the landing page and channel on each lead, then report closed revenue by those fields each quarter. GA4 alone stops at the lead.
- Log every cost monthly. One row per month: people, outside help, tools, production, promotion.
Our guide to Google Search Console for SEO covers the Performance report filters, including how to compare periods for a single page. If you want ranking and click trends per page between quarterly ROI reviews, the SEO tracking guide lists what to watch.
When ROI is the wrong question
ROI is a lagging number. In the early months it is often negative, as the example showed, and a negative number at month six says little about whether the work is right.
Early on, judge the programme by the numbers that move first: pages indexed, impressions on target pages, positions for the queries you chose, then clicks. The measurement section of our SEO plan guide covers that sequence, so we will not repeat it here. Switch the headline metric to ROI once organic key events are arriving every month.
ROI also misses value that does not convert directly. Some searches are now answered on the results page, so a page can inform a buyer without earning the click; how AI Overviews work explains where that happens. And content that existing customers read can reduce churn without ever touching a lead form. Neither belongs in the ROI line. Mention them beside it, and do not put a made-up figure on them.
Finally, page-level ROI is often more useful than site-level ROI. Pick your ten most expensive pages, add up what each cost to write and update, and set that against the key events it landed. That shows which kinds of page pay back, which is the input your next plan needs. If the expensive pages are the ones not paying back, the problem is usually the page, and our walkthrough of how to write a blog post for SEO covers what to change. Project Rankup's Rank Tracker shows Search Console clicks, impressions and position per page, which speeds up the traffic half of that review; costs and revenue still come from your own records.
Frequently asked questions
What is a good ROI for SEO?
Any ROI above zero on gross profit, measured cumulatively over a period that includes the ramp-up, means SEO is paying for itself. Beyond that, there is no reliable industry benchmark. Compare it with your paid channels measured the same way: if SEO returns more profit per rupee, pound or dollar over two years, it deserves more budget.
How long does SEO take to show a positive ROI?
Expect negative ROI for at least the first several months, because costs start immediately and rankings take time to build. Payback depends on keyword difficulty, your site's authority and deal size. Track the payback month on cumulative figures rather than judging any single month in isolation.
Is SEO ROI higher than paid ads ROI?
Sometimes, often over a long period, because organic traffic keeps arriving after the spend stops while paid traffic stops with the budget. Over a short period paid ads usually win, since they produce clicks from day one. Only a like-for-like comparison, with profit, the same attribution model and the same period, answers it for your business.
How do I calculate SEO ROI for a lead generation business?
Track form submissions or booked calls as GA4 key events, count those from Organic Search on your SEO landing pages, then use your CRM to see how many became customers and what they paid. Multiply customers by gross profit per customer, subtract SEO costs, and divide by those costs.
What is ROI in digital marketing?
ROI in digital marketing is the profit a channel produced minus what it cost, divided by what it cost. The same formula applies to SEO, paid search, email or social. What differs is how each channel's return is attributed, which is why two channels' ROI figures are only comparable if they use the same attribution model, margin and period.



