SEO & GEO, measured by return on investmentRequest a proposal →

SEO ROI & Measurement · 5 min read

How Do You Measure SEO ROI Without Fooling Yourself?

Short answer

SEO ROI is the gross profit you can credit to organic search, minus everything you spent to earn it, divided by that spend. Use gross profit rather than revenue, count staff and dev time as cost, and judge it over a payback period of a year or more.

Key takeaways

  • Calculate ROI on gross profit, not revenue, or a low-margin business will look far more profitable than it is.
  • For B2B, value a lead as lead-to-close rate times average deal value times gross margin.
  • GA4 attribution shows correlation; only a test or a clean before-and-after comparison gets you close to incremental return.

Someone in finance has asked what the SEO budget returns, and the dashboard shows sessions and rankings. Those numbers describe activity. This page gives you a formula, a cost list, a way to value leads that don't close for months, and a worked example you can copy into a spreadsheet or plug into our SEO ROI calculator.

What is the formula for SEO ROI?

SEO ROI equals the gross profit attributable to organic search minus the total cost of SEO, divided by that cost.

Written out:

ROI = (organic gross profit − SEO cost) ÷ SEO cost

Many reports use revenue instead, which ignores what it cost to deliver the product. A retailer with a 30% margin that books $100,000 of organic revenue has earned $30,000 to set against its SEO spend. If you report revenue ROI, label it clearly so nobody compares it with a profit-based number from another channel.

What should count as SEO cost?

Every dollar and hour that would not have been spent without the SEO program belongs in the cost line.

The invoice is easy. People forget the internal costs:

  • Agency or consultant fees, including one-off audits
  • Content production: writers, editors, designers, subject experts' review time
  • Developer time for technical fixes, templates, redirects and speed work
  • Tools and data subscriptions (crawlers, rank trackers, keyword data)
  • A share of in-house staff salary for whoever manages the program

Developer time is the most common omission. Two sprints spent fixing faceted navigation have a cost.

How do you value organic leads in B2B?

Value each lead as lead-to-close rate times average deal value times gross margin.

When a sale closes six months later in a CRM, GA4 only sees the form fill, so you give the form fill an average value.

Hypothetical example: 5% of organic leads become customers, the average first-year deal is $20,000, and gross margin is 60%. Each lead is worth 0.05 × $20,000 × 0.60 = $600 in gross profit. Recalculate these inputs every quarter from closed deals in your CRM, and check whether organic leads close at the same rate as paid ones. They often don't.

How do time lag and payback period change the picture?

SEO costs start on day one while returns arrive months later, so measure payback, the month when cumulative profit passes cumulative cost.

A 90-day snapshot of a new program will almost always look negative, and that says little.

Hypothetical example: a business spends $8,000 a month. Organic gross profit is zero for three months, then grows by $2,000 a month from month four. Cumulative cost at month 12 is $96,000 against $90,000 of cumulative gross profit, still short. By month 13 it is $104,000 against $110,000, so the program pays back in month 13. If you want to model this before committing budget, our guide to building an SEO forecast walks through the inputs.

Which GA4 attribution setting should you use?

As of November 2026, GA4 defaults to data-driven attribution, and you should know which model your property uses before you quote any organic revenue number.

Google says it made data-driven attribution the default in both Google Ads and GA4. The other reporting models still offered are "Paid and organic last click" and "Google paid channels last click." First click, linear, time decay and position-based were retired in November 2023.

A few settings change the answer:

Setting Where it matters What to check
Reporting attribution model Key event and revenue reports using event-scoped dimensions Data-driven gives fractional credit; last click gives all of it to the final channel
Key event lookback window How far back a touchpoint can earn credit Default is 90 days for most key events, 30 for first visits
Session-scoped dimensions Traffic acquisition reports Not affected by the attribution model at all

Changing the reporting model also applies to historical data, so a report you exported last month may no longer match. Note the model in every SEO report you send. For AI search referrals, which now appear alongside organic, see tracking AI search traffic in GA4.

Is attributed revenue the same as incremental revenue?

Attributed revenue shows which channels were present before a sale, while incremental revenue is only the part that would not have happened without the SEO work.

Some organic visitors would have bought anyway, branded searchers most of all. Data-driven attribution redistributes credit without running an experiment. To get closer to incremental return:

  1. Split branded and non-branded organic, and build the ROI case mainly on non-branded.
  2. Change one group of pages and leave a comparable group alone, then compare the trend over the same period.
  3. Compare against a pre-program baseline adjusted for seasonality, using the same months a year earlier.

None of these is perfect. Our article on the limits of attribution covers why precision claims deserve suspicion.

What does a full SEO ROI calculation look like?

A complete calculation lists every cost, converts organic outcomes into gross profit, and shows the revenue and profit versions side by side.

Hypothetical example for one year of a B2B program:

Line item Value
Agency fees $60,000
Content production $24,000
Developer time $12,000
Tools $4,000
Total SEO cost $100,000
Incremental non-branded organic leads 600
Closed deals (5% close rate) 30
Revenue (30 × $20,000) $600,000
Gross profit (60% margin) $360,000
ROI on revenue 500%
ROI on gross profit 260%

Both figures come from the same program, yet one is almost twice the other. The gross profit version is the one to defend in a budget meeting. If you'd rather have this set up and audited across your analytics and CRM, that is what our SEO ROI measurement service does.

Frequently asked questions

What is a good ROI for SEO?

There is no universal benchmark worth trusting, because margins, sales cycles and starting authority differ so much. A more useful test is whether cumulative gross profit from organic passes cumulative cost within a payback window your finance team accepts, often 12 to 24 months.

Should branded organic traffic count toward SEO ROI?

Report it separately. People searching your brand name were often going to find you anyway, so most of that value comes from marketing outside SEO. Non-branded organic traffic is the cleaner measure of what search work produced.

Which GA4 attribution model should I use for SEO reporting?

Google made data-driven attribution the default in GA4, and it is a sensible starting point. Check Admin, then Attribution settings, to confirm what your property uses, and note that changing the model rewrites historical key event reports too.

How long before SEO shows a positive ROI?

Expect several months before organic results move, and longer before cumulative profit covers cumulative cost. New sites and competitive topics take longest.

Sources

  1. Select attribution settings - Analytics Help
  2. Get started with attribution - Analytics Help
  3. First click, linear, time decay, and position-based attribution models are going away - Google Ads Help

It's the ROI Editorial writes about SEO, GEO and measuring the return on search. Found an error or an outdated detail? Email contact@itstheroi.com.

Related reading