Skip to main content
searchmaxxed
HOW-TO GUIDE

How to calculate SEO ROI for a B2B company (2026)

SEO ROI = (gross profit from organic deals − SEO cost) ÷ SEO cost. The B2B method: CRM joins, assisted conversions, a full cost basis and a CFO-ready report.
PUBLISHED 28 OCTOBER 2026UPDATED 28 OCTOBER 202615 MIN READ
SUMMARIZE WITH AI
Summarize with ChatGPTSummarize with PerplexitySummarize with ClaudeSummarize with GeminiSummarize with Grok

SEO ROI is the gross profit from deals that organic search brought in, minus everything you spent on SEO, divided by that spend. For a B2B company, take closed-won revenue from your CRM. Not leads from GA4. Count deals whose first touch was non-brand organic search, apply your gross margin, and load in every cost: agency, staff, tools and developer time. Measure a trailing 12 months, because B2B deals close slowly. Then show the CFO a range.

I'm Brenden House, and I run Searchmaxxed, an SEO and AI SEO agency. This is the method I'd use to put an SEO number in front of finance. Forecasting is a different job, covered in how to forecast SEO results, so this page sticks to measuring what already happened.

In summary

SEO ROI = (gross profit from organic-sourced closed-won deals − total SEO cost) ÷ total SEO cost × 100.

StepWhat you use
Cost basisAgency or consultant fees, loaded staff time, tools, developer hours, content and digital PR
RevenueClosed-won deals in the CRM, first touch non-brand organic, at gross margin
AttributionThree views side by side: last touch, credit-weighted, first touch
WindowTrailing 12 months, with deals tracked back to their first visit
ReportOne page: the range, the cost per customer, and every assumption written down
  • Use gross profit. Revenue ROI flatters SEO, and finance will strip the margin out anyway.
  • Leave your brand name out. Brand searchers came from somewhere else.
  • Join GA4 to the CRM through hidden form fields, or organic search loses the credit for every deal that closes months later.
  • Check the tracking before you trust it. Bots and broken event names wreck it.

What is SEO ROI?

SEO ROI is the return organic search produces for each dollar you spend on it, written as a percentage of that spend. A result of 150% means every A$1 of SEO cost came back as A$2.50 of gross profit: the dollar, plus A$1.50 on top.

The formula is short:

SEO ROI = (gross profit from SEO − SEO cost) ÷ SEO cost × 100

Most guides put revenue there. Semrush's guide uses "SEO ROI = (SEO revenue - SEO costs) / SEO costs". Fine for a quick check. It overstates the return for any company with a real cost of goods, and a CFO will spot it.

Seven terms keep coming up:

  • Attribution is the rule that decides which channel gets credit for a sale.
  • First touch gives the credit to the channel that brought the person to your site the first time.
  • Last touch gives it to the channel used for the converting visit.
  • An assisted conversion is a sale where organic search appeared in the path but wasn't the last click.
  • A key event is GA4's name for a conversion, such as a demo request.
  • Cost basis is the full cost you divide by: every dollar and hour that went into SEO.
  • Closed-won is the CRM stage for a signed deal.

ROI is different from ROAS. ROAS divides revenue by spend and ignores every other cost, which suits ad accounts. ROI is the number finance holds up against every other use of the money, from hiring to paid search.

What goes into the cost of SEO?

The cost of SEO is everything that would stop if SEO stopped. That covers agency fees, the share of your team's salaries spent on it, tools, developer time, content and off-site work such as digital PR. Most reports leave out the internal half. Their ROI runs high.

Cost lineWhat to includeWhere to find it
Agency or consultant feesMonthly fees, audits, one-off projectsAccounts payable
Internal staffSalary plus on-costs, times the share of time on SEOFinance or HR
ToolsRank trackers, crawlers, keyword tools, AI visibility toolsCard statements
Developer timeHours on templates, speed, schema and fixes, at an internal rateSprint or ticket logs
ContentWriters, editors, designers, subject-matter reviewsInvoices and timesheets
Off-site workDigital PR, link campaigns, research assetsInvoices
Website buildA new site built for search, spread over its useful lifeFixed asset register

Treat a site build the way finance treats any asset. Say a rebuild cost A$120,000 and should last three years: charge A$40,000 a year to SEO, not A$120,000 in month one.

An all-in package makes this easier. Our managed packages include the build work, technical SEO, content, links and measurement, so most of the cost basis sits on one line. Your team's review time still counts. For market prices on each piece, see how much SEO costs in Australia.

Which revenue counts as SEO revenue?

SEO revenue is closed-won revenue from deals where organic search did the work: the person found you through a non-brand search. Count signed deals. Use gross margin, not headline contract value.

Four choices decide whether a CFO believes you:

  1. Closed-won, not pipeline. Pipeline is a forecast. Report it beside the ROI, never inside it.
  2. Non-brand only. Someone who searched your company name heard about you elsewhere, so organic search was the doorway, not the reason they came.
  3. New logos first. Expansion revenue from existing customers belongs to account management, so show it on a separate line if SEO pages drove it.
  4. First-year value. Use annual contract value for the ROI. Put lifetime value in a second line, labelled as an estimate.

How do you split brand from non-brand when GA4 doesn't show queries? Use the landing page. Visits that land on the homepage, the about page or a pricing page skew to brand searches. Articles, comparison pages and use-case pages skew non-brand. Search Console confirms the split: filter each page's queries with a regex for your brand name and its misspellings.

Newmedia's guide puts it bluntly: "Including branded revenue artificially inflates your organic return." I agree. Count brand traffic and the report looks great until someone asks questions.

How do you connect organic search to pipeline in your CRM?

Save the visitor's first source and landing page into hidden form fields, then write them onto the contact and deal records. That join is the whole game. Without it, a deal that closes five months after a Google visit sits in the CRM as "direct" or "sales", and SEO gets nothing.

Here's the setup I'd check on any B2B site:

  1. Capture first touch on arrival. Store the referrer, UTM values and landing page in a first-party cookie on the first visit.
  2. Write it into hidden fields. Every demo, contact and trial form passes those values, plus the GA4 client ID, into the CRM.
  3. Map the fields to the contact. HubSpot, Salesforce and Attio all take custom properties, so lock the first-touch fields and later visits can't overwrite them.
  4. Roll the contact source up to the deal. Finance reports deals, not contacts, so copy the first-touch source onto each deal the moment it's created.
  5. Keep last touch too. A second set of fields records the source of the converting visit.
  6. Send the deal outcome back to GA4. Import closed-won values, or upload them through the Measurement Protocol, so GA4's attribution reports see revenue.
  7. Test every form. Submit each form from an organic visit and check that the CRM record shows it.

At Searchmaxxed, every managed package starts with Search Console and GA4 wired and checked. We connect conversion events and lead signals, then test them.

That last step matters more than it sounds. Here's what we found on an enterprise B2B client's account, in our own audit of their tracking. A client's four enquiry types never counted as conversions. Their event names ran 41 to 50 characters; GA4 cuts at 40. The 40-character "career" event counted every time. Nobody had noticed, because the events still showed up.

Google's limits page confirms it: an event name that "exceeds 40 characters" won't count as a key event. Any ROI report from that property would have shown organic search producing almost no enquiries at all, across every enquiry type except two.

How do you count assisted conversions?

Count assisted conversions by reporting organic search's credit under more than one attribution model, then showing the range. One model alone gets it wrong. B2B buyers visit many times, from many channels, before anyone books a demo.

GA4 now offers three models in its Attribution reports: data-driven, paid and organic last click, and Google paid channels last click. Google retired first click, linear, time decay and position-based models in November 2023. Data-driven attribution, in Google's words, "uses your account's data to calculate the actual contribution of each click interaction".

Two GA4 settings change the answer:

  • Lookback window. For most key events the default is 90 days. You can drop it to 60 or 30, but a B2B buyer who first found you 120 days before converting falls outside it.
  • Direct visits. GA4's models give no credit to direct visits unless the whole path was direct. Returning buyers who type your URL hand the credit back.

GA4 only sees the website. Deals close in the CRM, months later, after calls and emails GA4 never sees. So I count assisted value in the CRM, using the first-touch and last-touch fields from the section above:

Attribution viewWhat it countsUse it for
Last touchDeals where organic search was the converting visitThe floor: the least SEO could have done
Credit-weightedGA4 data-driven share, or an even split across touchesThe middle estimate
First touchDeals whose first visit was non-brand organicWhat SEO sourced
Any touchDeals with organic search anywhere in the pathInfluence only; never put it in the ROI

Our monthly decision memo uses the same discipline. It reports matched periods against competitors, so one good month can't pass for a trend.

What does a worked SEO ROI calculation look like?

Here's a full calculation for an example B2B SaaS company over a trailing 12 months. The figures are illustrative. Swap in yours, and the method carries over to manufacturing, enterprise software and public-sector suppliers.

The cost basis, 12 months:

Cost lineAmount
Agency feesA$180,000
Content lead, half time, loadedA$75,000
ToolsA$12,000
Developer time, 120 hours at A$150A$18,000
Total SEO costA$285,000

The revenue side: the average first-year contract is A$24,000, gross margin is 80%, and the CRM counts new-logo deals under each attribution view.

Attribution viewClosed-won dealsRevenueGross profitSEO ROISEO cost per customer
Last touch22A$528,000A$422,40048%A$12,955
Credit-weighted33A$792,000A$633,600122%A$8,636
First touch41A$984,000A$787,200176%A$6,951
Any touch63A$1,512,000Influence onlyNot usedNot used

My arithmetic, from the example figures above.

Run the first-touch row on revenue instead of gross profit and you get 245%. That's the number plenty of agency reports would show, 69 points above the honest one. Finance finds gaps like that.

I'd lead with one line: SEO returned 48% to 176% on a fully loaded A$285,000, at A$6,951 to A$12,955 per new customer. Then put that cost per customer beside paid search. In a budget meeting, that comparison does more work than any ROI figure.

What does an SEO ROI report a CFO accepts include?

A CFO accepts an SEO ROI report that ties to the CRM, uses gross profit, shows a range and states its assumptions. It fits on one page. If finance can rebuild your number from their own systems, using their own exports and their own margin, they'll trust it.

Report lineWhat goes in it
PeriodTrailing 12 months, plus the same 12 months a year earlier
Total SEO costEvery line from the cost basis, with internal time included
Closed-won deals from organicCount and value under last touch, credit-weighted and first touch
Gross profit and ROIAt your gross margin, for each view
SEO cost per customerBeside paid search and outbound
Open pipeline from organicStage and value, kept outside the ROI
Non-brand clicks and rankingsFrom Search Console, as the leading signal
Data checksBot filtering, form tests, brand exclusion method
AssumptionsMargin, contract value, lookback window, amortised build costs

Most reports skip the data checks row. We found out why it matters on an enterprise B2B client's account. A client's GA4 showed AI-assistant visits jump from 354 to 6,050 in a month. Almost none of it was real. About 5,700 came in three one-hour bursts: same 1920x1080 desktop Chrome, all new users, no referrer, about 20 seconds each, landing on two pages. Real AI traffic was 385 sessions against 354 the month before, roughly flat.

Anyone reporting off that chart would have claimed a seventeenfold jump in AI search. Hence closed-won deals first. Bots don't sign contracts, and they don't book demos with your sales team either.

AI search belongs in the same report. Visits from ChatGPT, Perplexity and Gemini arrive as referrals. Buyers who saw you named in an AI answer often search your brand later, which lands in brand. Count the referral deals through the same CRM join, and keep AI answer tracking as its own leading signal.

What is a good SEO ROI for a B2B company?

A good SEO ROI is one that beats your next-best channel on cost per customer and clears the payback period your finance team sets. Benchmarks help a little.

First Page Sage, a US SEO agency, publishes averages from its own campaigns between Q1 2021 and Q3 2025. Its page was last updated 25 September 2025:

Industry or serviceROITime to break even
B2B SaaS702%7 months
Manufacturing813%9 months
Industrial IoT866%7 months
Technical SEO only117%6 months
Basic content marketing, about four articles a month16%15 months

Its formula is "Net Profit from SEO Campaign ÷ SEO Campaign Costs", times 100. One agency, its own clients: context, not a target.

Two things in that table matter more than the averages. First, the gap between 16% and 702% comes from what the campaign does, not from SEO as a channel. Second, break-even runs six to fifteen months. Judge a campaign in its first quarter and you'll judge it before the return shows up.

Still deciding whether to spend on SEO at all? Is SEO worth it covers that question. This page assumes the money is already going out the door and you need to prove what it bought.

How long does SEO take to show a return?

Expect six to twelve months before a B2B SEO investment pays back, and longer when your sales cycle runs past a quarter. Two clocks run at once. One is the time pages take to rank, the other is the time a deal takes to close.

A monthly ROI figure misleads in B2B, because a demo booked in March might close in August and land in the wrong month. Use a trailing 12 months. Then track each month's organic-sourced leads as a cohort, so you can see how many closed, and when.

CohortOrganic-sourced leadsClosed by month 3Closed by month 6Closed by month 9
JanuaryCountCount and valueCount and valueCount and value
FebruaryCountCount and valueCount and valueCount and value

Fill it in from the CRM. After a few cohorts, you'll know your organic close rate and lag, and you can forecast from your own history.

How does Searchmaxxed measure SEO ROI?

Searchmaxxed measures SEO the way this page describes. We connect Search Console, GA4 and your conversion events, check them, and judge the work on enquiries and revenue. We're an SEO and AI SEO agency. We do the work as well as measure it, from technical SEO through content, link building and digital PR to GEO, AEO and LLM SEO.

Every managed package has Search Console and GA4 wired and checked, and a monthly decision memo that measures results against competitors. You own the site, repository, content and data from day one, so your finance team can check the numbers in your own systems. Our SEO service sets out the work in detail.

PackageWho it suitsWhat it includes
Growth SystemA company growing in one or two markets30 page releases a month, work on up to 4 existing pages, one qualified link action a month, AI visibility tracking
Agentic Search EngineeringA competitive or national market50 page releases a month, comparison, industry and integration pages, digital PR and link campaigns, AI answer tracking across ChatGPT, Gemini, Perplexity and AI Overviews
Custom & EnterpriseSeveral markets, brands or a large siteDedicated engineering, custom reporting and original first-party research

Here's how we do it. We build on a website you own, our Agentic Website, so every page and every tracking fix stays yours. AI agents pull your Search Console and GA4 data, read the Google results and check what AI answers say about you and your competitors. That feeds the Managed Search Loop. It adds your conversion and sales feedback. We read 7-day views for what's happening, matched 28-day periods for monthly decisions and matched 90-day periods for direction. Then we build the pages, fixes and links that should bring in the most enquiries next. Off your site, the Off-Page Source Layer builds the links, digital PR and mentions that Google and AI answers draw on.

I learned to judge SEO on revenue because it was my own money. Before Searchmaxxed, I built Radiant Roof Repairs from zero to more than A$1 million a year in revenue using SEO as the only marketing channel. Three high-intent Gold Coast roofing searches reached number one within 90 days. I did the pages, research, competitor checks and updates manually.

Searchmaxxed's work has generated more than A$10 million in revenue through search for its clients.

Is Searchmaxxed right for you?

We suit marketing and growth leaders at enterprise, B2B SaaS, venture-backed, manufacturing and public-sector companies, where deals are large and sales cycles run long. You want SEO and AI search done for you, and judged on pipeline. Want a report on someone else's work? Wrong call.

Searchmaxxed is a good fit ifLook elsewhere if
You want SEO judged on closed-won revenue, not trafficYou only want a ranking report
You want the pages, fixes and links built each month, counted as page releasesYou need one ROI model built once, with no ongoing work
You want to own your site, repository, content and dataYou can't share Search Console, GA4 or your sales data
You compete in a crowded or multi-market category and need digital PR and linksYou need search to fill this quarter's pipeline on its own
You want direct access to the people doing the workYou want an account manager between you and the team

If you're in the right-hand column, an analytics consultant or a one-off attribution audit will serve you better.

Frequently asked questions

What is the formula for SEO ROI?

SEO ROI = (gross profit from SEO − total SEO cost) ÷ total SEO cost × 100. Use closed-won deals sourced by non-brand organic search. Include agency fees, internal staff time, tools, developer hours and content in the cost.

What is a good SEO ROI?

A good SEO ROI beats your other channels on cost per customer and pays back inside your finance team's target. First Page Sage reports 702% for B2B SaaS, with break-even at seven months. Treat that as one agency's benchmark, from its own client book, rather than a target for yours.

Should branded search count in SEO ROI?

Leave branded search out of the ROI. They already knew you. Split brand from non-brand using landing pages in GA4 and query filters in Search Console.

How do I track SEO ROI in GA4?

Mark your demo and contact forms as key events, keep event names under 40 characters, and test every form. Then import closed-won values from your CRM, because GA4 can't see deals that close offline and the CRM holds the final number.

Should I use first-touch or last-touch attribution for SEO?

Use both and show the range. Last touch is the floor. First touch shows what SEO sourced, and a credit-weighted view, such as GA4's data-driven model, sits between them. Any-touch counts show influence only.

How do I measure SEO ROI before I start?

You forecast it instead. Measuring needs closed deals, so before launch you estimate traffic, conversion rates, close rates and deal values from search demand and your own funnel. Our guide to SEO forecasting walks through that model, step by step, with the inputs a finance team will ask you to justify.

Does traffic from ChatGPT count as SEO ROI?

Yes, if your SEO work earned the mention. Count ChatGPT, Perplexity and Gemini referrals through the same CRM join. Check the AI channel in GA4 for bot bursts first, because automated traffic lands there too.

What should you do next?

Pull last year's closed-won deals from your CRM and check how many carry a first-touch source. Mostly "direct" or blank? Fix the hidden fields first. If you'd like us to do the SEO and measure it against your pipeline, let's talk pricing.

Let's make you the answer.

Own the searches that bring customers.

Searchmaxxed does technical SEO, content, local SEO, link building, GEO and AEO, so you rank in Google and get named in ChatGPT, Gemini and Perplexity.

  • Google and AI search in one system
  • Weekly releases with evidence
  • You own the site and data
  • Technical SEO, content and links