Measure SEO ROI from incremental contribution profit, not a flattering pile of attributed revenue. The defensible formula is:
SEO ROI = ((attributable contribution profit − fully loaded SEO cost) ÷ fully loaded SEO cost) × 100
If you only have leads or pipeline, report a forecast and its assumptions. Do not label modeled value as realised return.
The formula most SEO reports get wrong
The common formula uses “organic revenue” as the return. That ignores cost of goods, delivery, discounts, refunds and the question of whether SEO actually created the sale.
Use the strongest value your evidence can support:
| Evidence level | Value to use | Label |
|---|---|---|
| Collected customer cash with known source | Contribution profit after variable costs | Realised ROI |
| Closed-won contract not yet collected | Expected contribution profit | Booked return |
| Qualified opportunity | Probability-weighted contribution profit | Modeled pipeline |
| Lead or enquiry | Historical expected contribution value | Modeled lead value |
| Traffic or rankings | No financial value without a validated conversion model | Leading indicator |
One report can contain all five levels. It cannot add them together without double-counting.
Calculate the return
Ecommerce
Start with transactions attributable to organic search:
Contribution profit = revenue − cost of goods − discounts − refunds − variable fulfillment and payment costs
If organic search produced $160,000 in revenue and the associated variable costs were $96,000, contribution profit is $64,000. If the fully loaded SEO investment was $40,000:
ROI = (($64,000 − $40,000) ÷ $40,000) × 100 = 60%
Using revenue instead would report 300%. That number looks magnificent and tells the board the wrong thing.
Lead generation
Use actual closed-won customers where possible. When the sales cycle is incomplete:
Expected contribution profit = qualified SEO leads × observed close rate × contribution profit per customer
Hypothetical example:
- 50 suitable organic leads;
- 20% observed close rate for that lead class;
- $8,000 expected contribution profit per new customer;
- $45,000 fully loaded SEO cost.
Expected contribution profit is $80,000. Modeled ROI is 77.8%.
That is not realised ROI. It is a forecast dependent on the lead definition, close-rate sample and customer economics.
SaaS and recurring revenue
Do not multiply monthly subscription price by an imaginary lifetime.
Use:
- collected or contracted recurring revenue;
- gross margin;
- churn or retention from the relevant cohort;
- expansion and contraction where supportable;
- sales and onboarding costs if they are incremental.
If lifetime value depends on two years of retention you have not observed, show a sensitivity range rather than one authoritative-looking number.
Count the full SEO investment
Include the resources required to create the return:
| Cost group | Examples |
|---|---|
| External delivery | Agency, consultant, digital PR and specialist fees |
| Internal labor | Marketing, subject-matter expert, leadership and project-management time |
| Production | Writing, editing, design, video, research and data work |
| Engineering | Technical implementation, migrations, QA and performance work |
| Software and data | Crawlers, rank tracking, analytics, market data and monitoring |
| Conversion work | Landing pages, forms, experimentation and call tracking |
Separate one-off foundations from recurring growth costs, but include both in the period that consumed them. If you capitalise foundational work for management reporting, declare the amortisation policy.
A managed SEO system can involve technical implementation, content, authority, measurement and conversion work. Count the resources the actual program consumed, not just the line item labeled “SEO”.
Establish what SEO actually changed
Attribution assigns credit inside a measured journey. Incrementality asks whether the outcome would have happened without the work. They are not the same.
Before claiming return, record:
- the pre-work revenue, demand and conversion baseline;
- branded versus non-branded acquisition;
- seasonality and promotions;
- pricing, sales-team and stock changes;
- redesigns, migrations and tracking changes;
- paid campaigns and offline activity;
- new versus returning customer mix.
Use a matched historical period, unaffected market or other counterfactual where one is credible. When it is not, say “attributed” rather than “incremental”.
Keep attribution scopes straight
Google Analytics exposes user, session and event-scoped traffic-source dimensions. They answer different questions:
- First user source: how the customer was first acquired.
- Session source: how the current visit began.
- Event attribution: which channels receive credit for a key event under the property’s attribution model.
Google’s current default channels classify Google AI Overviews and AI Mode visits under Organic Search, while sources such as ChatGPT, Gemini, DeepSeek, Copilot and Grok can enter the separate AI Assistants channel. That makes source definitions more useful, but it does not repair missing consent, lost referrers, cross-device journeys or bad CRM data.
Document the dimension, model, conversion event, lookback and date range beside every number.
Connect GSC, analytics and the CRM
Each system owns a different part of the chain:
| System | Best evidence |
|---|---|
| Google Search Console | Google Search impressions, clicks, queries and landing pages |
| Web analytics | Sessions, events, source dimensions and on-site conversion |
| Call or form platform | Contact event and declared lead details |
| CRM | Qualification, opportunity, close, value and sales timing |
| Finance or commerce platform | Collected revenue, refunds, margin and customer economics |
GSC clicks will not perfectly equal analytics sessions. Privacy thresholds, time zones, consent, bot filtering, attribution and measurement scope differ. Reconcile the direction and investigate material gaps; do not force the systems to agree by editing one number.
Use a return bridge
A monthly return bridge prevents the final percentage from becoming theatre:
| Stage | Target | Actual | Confidence | Owner |
|---|---|---|---|---|
| Non-brand qualified clicks | declared | observed | First-party GSC, privacy-limited | Search |
| Suitable enquiries | declared | observed | Form/call and qualification rules | Marketing |
| Opportunities | declared | observed | CRM stage definition | Sales |
| Closed-won value | declared | observed | Contract or commerce record | Sales/finance |
| Contribution profit | declared | observed | Finance model | Finance |
| Fully loaded cost | declared | observed | Ledger and labor model | Finance/marketing |
When the gap appears at one stage, fix that stage. More traffic cannot repair a sales team that never qualifies organic leads.
If you are planning an investment rather than reconciling completed work, use the SEO ROI calculator to expose the assumptions. For a longer demand model, use the SEO pipeline forecasting guide. Once work is live, the revenue-focused SEO dashboard shows which assumptions survived contact with reality.
What is a good SEO ROI benchmark?
There is no honest universal percentage.
Compare SEO against the business’s own:
- required return or hurdle rate;
- acceptable payback period;
- gross or contribution margin;
- cash-flow constraints;
- alternative acquisition costs;
- capacity to fulfill new demand;
- risk and measurement confidence.
A 40% return with collected cash and high confidence can be more valuable than a modeled 300% return based on lifetime value assumptions. A negative first-period ROI may be acceptable for a deliberate infrastructure investment. Neither conclusion follows from an industry-average blog.
Report realised, modeled and leading evidence separately
Use three blocks:
1. Realised commercial result
Collected or booked value, contribution profit, full cost, ROI and payback.
2. Modeled commercial result
Qualified pipeline or lead value, every assumption, confidence range and the date it can be reconciled to actual sales.
3. Leading operating evidence
Indexation, non-brand demand, qualified landing-page visits, conversion rate, source coverage and delivery shipped.
This gives the board a decision without pretending immature revenue has already arrived.
Common SEO ROI failures
- counting revenue rather than profit;
- using all organic revenue instead of the incremental or attributable change;
- ignoring internal labor and development;
- valuing every lead equally;
- applying a company-wide close rate to low-intent enquiries;
- using lifetime value without margin or retention;
- mixing first-touch, session and event attribution;
- claiming rankings or AI citations as financial return;
- changing the formula when the result looks bad.
FAQ
Is SEO ROI the same as ROAS?
No. ROAS compares attributed revenue with advertising spend. ROI should compare attributable profit with the full investment.
Should branded organic revenue count?
It can be reported, but separate it. Brand demand may have been created by other channels or existing awareness.
Can we value an organic lead before it closes?
Yes, as modeled lead value using an observed qualified-lead close rate and contribution profit. Label it as a forecast.
How do AI Overviews affect SEO ROI?
Google currently classifies those visits under Organic Search in GA4. Measure the same path from visit to profit and disclose where a no-click answer cannot be attributed.
What if GSC and GA4 disagree?
Expect some difference because the systems use different scopes and controls. Investigate large changes without forcing a false reconciliation.
How often should we calculate ROI?
Report operating evidence monthly and reconcile financial return on a period that matches the sales and revenue cycle.
What is the biggest SEO ROI mistake?
Presenting modeled revenue as realised profit. It creates confidence precisely where the evidence is weakest.
Make the return model survive scrutiny
Use the deepest commercial value your evidence supports, declare every assumption and keep realised, booked and modeled outcomes separate. If the current chain breaks between search, conversion, sales and finance, a managed SEO system can make that missing join the next operating priority.