How to measure SEO ROI: the maths that shows whether it is paying

Ajay K. Published 10 Mar 2026 Updated 19 Oct 2026 28 min read SEO Reviewed by Liam P., SEO Lead · Oct 2026 Share
Measure SEO ROI. Line drawing of coins dropping into a measuring jug heaped with coins.

Measure SEO ROI by comparing what organic customers contribute with the full cost of SEO. Match enquiries to real customers and subtract delivery costs before you compare. Keep forecasts apart from realised results. Then report the attribution method and cash timing beside the percentage.

Want to test your own numbers first? Our calculator models a scenario from inputs you choose.

It's a projection tool, not an audit of what actually happened.

Define the return you are measuring

Return in an ROI formula has to be money, on a basis you define. Leads, calls and pipeline aren't money yet. This guide uses four measures:

  • Contribution before acquisition: net sales less the direct costs of fulfilling those sales.

  • Marketing ROI: attributed contribution less SEO programme cost, divided by that cost, times 100.

  • Contribution to spend multiple: attributed contribution divided by SEO programme cost.

  • Net contribution after SEO: attributed contribution less SEO programme cost.

This is a management measure. It isn't whole business net profit or a return on all your capital. Say which overheads you include and which you leave out.

A common mistake is calling revenue the return. A $10,000 job that costs $8,000 to deliver contributes $2,000.

Every amount in this guide is an example, in Australian dollars, excluding GST. Agree the GST and accounting treatment with your accountant. Never mix GST inclusive revenue with GST exclusive costs.

Four kinds of number happen at different times, so keep them in separate columns:

  • Expected contribution: suitable leads times a realistic completion rate times contribution per customer. It's a forecast until outcomes are known.

  • Weighted pipeline: open deals times their chance of closing. That's a forecast too.

  • Realised contribution: completed sales less their delivery costs.

  • Cash: money actually received, less money actually paid.

A signed contract, an invoice and a cash receipt are three different events. Once a deal closes, take it out of the pipeline so it isn't counted twice.

Decide what you're measuring before you calculate:

  • the total reported organic channel

  • the extra effect of the current SEO work

  • a forecast for a proposed programme

Each needs different evidence. An established site can win organic sales that this month's work didn't create.

Some results look odd but are valid. A zero SEO cost makes the percentage undefined. Zero qualified leads don't give a zero CPL. Report the cost beside the zero instead. A negative return stays visible too.

The calculator above runs a quick scenario and a separate monthly model. Use it for editable assumptions, not as proof. Its steady traffic ramp and its defaults are modelling choices, not benchmarks.

Choose a return basis for your business model

The right basis depends on how you make money:

Model

Useful return basis

Watch for

Service work

Completed jobs tied to enquiries

Completion, capacity, payment lag

Professional services

Realised fees, pipeline kept apart

A sales cycle you define

Ecommerce

Net sales less product costs

Fulfilment, refunds, payment fees

Hospitality and bookings

Completed bookings after costs

Cancellations, no shows, fees

Repeat purchase

First order plus a cohort model

Retention and repeat service costs

In Google Analytics 4 (GA4), ecommerce needs a valid setup of purchase and refund events. Even then, it doesn't know your margin or your offline adjustments. Take those from your business records.

Pipeline needs extra care in professional services. A $20,000 matter with a 30% chance of proceeding is $6,000 of weighted pipeline. That's a forecast, not $6,000 earned. Once the matter is won or lost, the actual result replaces the forecast.

Bookings have their own leaks. Commissions on third party bookings come out of contribution. No shows and cancellations reduce it too. Trades have their own economics, covered in SEO for tradies.

Read the three layers of measurement

Measurement works in three layers. They're categories of evidence, not stages one group of people moves through.

Split.
What is each layer for?
OutcomesSuitable enquiries, completed customers and contribution
PerformanceUseful visits, pages and search visibility
DiagnosticsTracking, indexing and technical evidence

Lead with outcomes when you have them, starting with completed customers and their contribution. Suitable enquiries and pipeline are evidence along the way. Performance metrics explain the movement. Diagnostics find the fault when something breaks.

Take a plumber, where outcomes are completed hot water jobs and what each one contributed. Performance is visits to the hot water page from relevant searches. Diagnostics is whether that page is indexed and whether its form delivers.

No metric is useless by itself. Impressions and rankings become unhelpful when they're reported with no decision attached. Branded and non branded impressions can explain a change. So can demand for your main service.

Two numbers deserve extra suspicion. A third party authority score isn't Google's score, or money. A ranking has no fixed dollar value either. Its worth depends on demand, clicks and what those clicks contribute.

Use leading indicators and timing carefully

Leading indicators show progress before the money arrives. Useful ones include:

  • priority pages Google can index

  • non branded visibility for relevant searches

  • visits to suitable landing pages

  • enquiry tests that pass

  • qualified enquiries and maturing opportunities

Each should connect to the business goal. None of them is financial ROI on its own.

Don't hold a new site, a mature service business and a long cycle firm to one milestone. Agree a review horizon that fits your starting point and sales lag. Your affordable runway matters too. A provider should show work and evidence at each checkpoint, even though not every metric rises every month.

Watch for false verdicts in both directions:

  • Flat traffic with more suitable enquiries can mean better targeting. Check before celebrating.

  • Rising traffic with flat enquiries can mean irrelevant demand, a weak offer or broken measurement.

  • A consent change can move analytics counts with no change in customers.

  • Rising branded visibility can come from other marketing.

Little baseline data on a new site is still no reason to ignore sales for six months. An established site inherits demand, but not quick gains. Three months of data isn't a reliability threshold either.

Before a strong verdict, check sample size, cohort maturity and any business changes. Our guide helps you set a review horizon for your starting point. The SEO timeline estimator gives a rough planning range, not a promised date.

Define and reconcile qualified enquiries

Define a qualified enquiry before you report one. Here's a neutral rule: a genuine person or organisation asking for something you offer and can supply. Where location matters, they're in your area. They also meet any requirement you've stated, such as a minimum job size.

Keep the rule stable by giving every contact one status:

  • unsuitable

  • spam

  • duplicate

  • existing customer support

  • new opportunity

  • unresolved

Don't quietly redefine "qualified" to improve a result. If the rule has to change, change it openly and date the change.

Join records with one opportunity ID in a system you control. A form, a call and a later quote about the same job are one opportunity. A repeat message isn't another acquisition. Keep the raw interactions for diagnosis, then count the opportunity once.

Record each source as known, mixed or unknown, with the evidence and the date. What a customer says about finding you helps, though it doesn't always capture the whole journey. A common mistake is adding analytics events to your customer records as if they were new people.

Here's an example cohort of 40 contacts, followed from first contact to outcome:

Funnel.
Example contact cohort
40Raw contacts
30Unique opportunities↓ 25% drop off
25Qualified opportunities↓ 17% drop off
5Completed customers↓ 80% drop off

SourceExample teaching cohort, every stage from the same 40 contacts

Ten contacts were duplicates. Five unique opportunities didn't meet the definition. Five of the 25 qualified opportunities became customers, a 20% qualified completion rate. That's not the same as 12.5% of raw contacts.

Then check how much of the record you can trace. In this separate example, 45 of 60 qualified enquiries have usable source evidence:

Example source coverage
60Qualified enquiriesOne defined period
45Matched sourceUsable evidence recorded
75%Coverage45 divided by 60
15Unknown sourceKept visible in the report

The other 15 stay unknown. Don't split that unknown quarter across channels in proportion to the known ones. Report the coverage with its denominator and period.

Include the full cost and calculate CPL

The cost side needs the same care. A full programme cost includes:

  • agency work

  • content or development commissioned separately

  • tools the programme needs

  • owner and staff time, at an agreed hourly basis

Allocate shared work consistently and write down how you did it. Count a one off project once. If a management view spreads a cost across months, show the actual payment as well. Spreading a cost doesn't create cash.

Here's an example month for the 40 contact cohort above:

Monthly cost

Amount

Treatment

Agency work

$2,200

Agreed contracted work only

Separate content or implementation

$400

Not already in the agency invoice

Attributable tools

$100

A documented share across channels

Owner time

$300

Six hours at an assumed $50

Total

$3,000

All in cost for this cohort

With each completed customer contributing $1,000, here's the maths:

  • Raw contact cost: $3,000 ÷ 40 = $75

  • Unique opportunity cost: $3,000 ÷ 30 = $100

  • Qualified CPL: $3,000 ÷ 25 = $120

  • Cost per completed new customer: $3,000 ÷ 5 = $600

  • Contribution: 5 × $1,000 = $5,000

  • Net contribution after SEO: $5,000 less $3,000 = $2,000

  • Marketing ROI: $2,000 ÷ $3,000 × 100 = 66.7%

Lead economics.
Example resolved cohort
$3,000Spend
40Raw contacts$75.00 spend per raw contact
30Unique opportunities75% of raw contacts → unique opportunities$100 spend per unique opportunity
25Qualified opportunities83% of unique opportunities → qualified opportunities$120 spend per qualified opportunity
5Completed customers20% of qualified opportunities → completed customers$600 spend per completed customer
$5,000Contribution1.67× contribution ÷ spend

SourceExample teaching cohort in this article

The chart's last chip is a multiple, and here $5,000 contribution is 1.67 times spend. Net marketing ROI is 66.7%, because the cost comes off first.

A lower CPL isn't automatically better. Cheaper leads can bring smaller jobs, poorer completion or work you can't take on. Judge CPL against your own contribution and completion rates, not an industry band.

Our guide shows how to work out an affordable qualified CPL. It's written for Google Ads, though the affordability method still works for organic leads. Our packages guide explains what the programme cost includes. Our cost guide covers scope and cost drivers.

Work through the full ROI calculation

Here's a second, separate example. It uses expected values, not a finished cohort:

  • SEO cost: $4,000

  • Qualified opportunities: 30

  • Completion rate: 20%

  • Expected completed customers: 30 × 20% = 6

  • Contribution per completed customer: $1,200

  • Expected contribution: 6 × $1,200 = $7,200

  • Net contribution after SEO: $3,200

  • Marketing ROI: $3,200 ÷ $4,000 × 100 = 80%

  • Qualified CPL: $4,000 ÷ 30 = $133.33

Lead economics.
Example expected return
$4,000Spend
30Qualified opportunities$133 spend per qualified opportunity
6Expected customers20% of qualified opportunities → expected customers$667 spend per expected customer
$7,200Expected contribution1.8× expected contribution ÷ spend

SourceTeaching example in this article

This time the multiple is 1.8 times contribution to spend. That's not 180% net ROI. Net marketing ROI is 80%, after the $4,000 comes off.

The example uses expected values. If six customers have actually completed and the costs are final, it becomes a realised cohort. Label it one way or the other, and never switch halfway through a calculation.

Where does the 20% come from? Use your own resolved cohorts, not a figure from someone else's industry. A rate built on a handful of customers is fragile. Keep testing it as more cohorts resolve.

Before you judge the example, test the two inputs you can recognise: completion and contribution. Hold the 30 opportunities and the $4,000 cost fixed:

Completion rate

Contribution each

Expected contribution

Marketing ROI

10%

$1,200$3,600

-10%

20%

$1,200$7,200

80%

20%

$900$5,400

35%

30%

$1,200$10,800

170%

These are scenarios, not confidence intervals or industry averages.

Break even is $4,000 ÷ $1,200 = 3.33 customers. With whole customers only, you'd need four to beat the cost. On 30 opportunities, the matching completion rate is just over 11.11%. These are boundaries before excluded overheads and profit, not targets.

Once the cohort resolves, use actuals. Seven completed customers would give $8,400 and a 110% return. Four would give $4,800 and 20%.

Use lifetime value without moving future cash into today

Lifetime value is where ROI maths often goes wrong. The fix is to show every assumption. Here's the corrected version, using the $4,000 example:

  • First job: $1,200 contribution

  • Two repeat jobs over three years: $1,200 each

  • Expected customer contribution: $3,600

  • Six customers: $21,600

  • Simple three year cohort ROI: 440%

That 440% holds only if repeat service and retention costs are already deducted. It isn't discounted for time either.

Show referrals separately. Say 25% of customers each bring one genuinely new customer worth $1,200 in contribution. That adds $300 of expected value per original customer.

Combined, that's $3,900 per customer. For the six customers, it's $23,400. The extended scenario is 485%. Don't call the referral value the customer's own lifetime value.

Make the future value assumption explicit
Before

$3,300 per customer, with no repeat job value stated

After

$3,600 expected contribution over three years, plus a separate $300 referral scenario

A $3,300 figure needs another hidden assumption. Two repeat jobs at $900 each, plus the $300 referral, would get there. Hidden assumptions are exactly how lifetime value gets inflated.

Real retention, repeat contribution and referral rates must come from mature cohorts. Use a defined horizon and a cautious case. A dollar in year three is worth less than a dollar today. Where that matters, apply a discount rate chosen with your accountant.

Leave unproven referrals out of the headline result. Don't count the same referred customer in another channel's return as well. And remember that a three year forecast doesn't pay this month's invoices.

Our customer lifetime value calculator works out lifetime gross profit from your inputs. It treats 3:1 as a rule of thumb, not a limit.

Attribute the journey and state what remains unknown

Attribution answers three different questions. A dashboard can answer the first two without proving the third.

Split.
Which question are you answering?
Observed sourceWhere did the recorded interaction come from?
Assigned creditHow does the report allocate the outcome?
Additional effectWhat changed because of the programme?

Plenty besides SEO shapes an outcome. Brand demand, referrals and seasonality all play a part. So do pricing, sales follow up and competitors.

GA4 reports acquisition at three scopes. Each one answers a different question:

Scope

Where you see it

What it tells you

First user

User acquisition report

How new users first arrived

Session

Traffic acquisition report

How each session started

Event

Key event attribution reports

Which source gets key event credit

The reporting attribution model only changes event scoped key event reports. User and session scoped dimensions don't move. A model change also rewrites historical data, so note the date you made it. And a later direct visit doesn't automatically wipe out organic credit.

Keep branded and non branded searches visible. Don't hand all branded return to "the brand", or all non branded return to your SEO supplier. Three limits apply to the split:

Listing your own brand variants helps. A common mistake is treating branded growth as proof that SEO caused the sale.

A front desk question still helps if it stays neutral and optional. A customer might say they were referred, then searched your name. Record both, without forcing a single touch story. Show assists beside the financial total. Never add them as extra sales.

Estimate the extra effect honestly

For the extra effect of a programme, compare a stated baseline with actual results. Write down the other explanations too. A careful comparison across pages, locations or periods can strengthen the case. It won't remove every bias.

A small business can reasonably report two things. One is the attributed channel return. The other is a range of plausible extra effect, with its limits stated.

Here's a quick test: $7,200 attributed contribution at $4,000 cost is an 80% reported return. Now suppose only half of it was truly extra. Half of $7,200 is $3,600. That's $400 short of the cost, a -10% incremental return.

That 50% is an assumption to test, not a standard discount for SEO. Keep unpriced spillover in a separate note too. Think referral stories, guides used in sales calls, or callers who mention your map listing. Use them to ask better questions, never to turn a negative percentage positive.

Build a reliable measurement path

You don't need an elaborate setup, just this minimum path:

  • owner controlled analytics and Search Console access

  • events tested against real actions

  • a reconciled lead or sales record

  • phone source evidence, where calls matter

You don't need a Google Ads account for organic measurement. If you're also comparing paid search, Ads conversion setup is a separate job. Our guide helps you set up and review meaningful events.

A form event should match a real submission. Check the enquiry is delivered and the event doesn't fire twice. A phone link click is just a click until a call record shows more. A booking button click isn't a completed booking.

Across 100 website audits from May 2023 to September 2026, we sent labelled test enquiries. About 1 in 5 sites with an enquiry form failed the test. The request didn't reach the person who answers it within one business hour.

That's why marking a key event isn't the end of the job. A key event flags an action as important. It doesn't make that action a qualified lead.

Flow.
From interaction to a usable outcome
01InteractionRecord the intended action
02ValidationConfirm delivery or connection
03ReconciliationDeduplicate the opportunity
04OutcomeRecord completion and contribution
05ReviewCheck source evidence and gaps

Link each order or opportunity to its outcome in a business record you control. Keep names, contact details and enquiry text out of GA4. Google's policy keeps personal information out of Analytics.

Phone heavy businesses need a source method for calls:

  • Dynamic number insertion swaps in a tracking number by traffic source.

  • Your main published number stays stable.

  • Routing stays reliable for every number.

  • Calls get deduplicated against forms, like any other contact.

Our guide explains call tracking for paid and organic measurement. Recording isn't needed for attribution. If you do record calls, get advice on the notice and consent rules that apply. Check who can access recordings and how long you keep them.

Tracking tools can collect personal information. The OAIC's tracking pixel guidance puts that responsibility on the business using them. Health and other sensitive information generally mustn't flow to third party platforms. The OAIC explains which small businesses the Privacy Act covers.

Business Profile numbers need the same caution. Its call figure counts call button clicks. Direction requests don't prove visits. The figures can include Google Ads activity too.

Don't add profile calls to website calls and call the total qualified SEO leads. Reconcile the actual contact where the evidence allows. Our profile guide covers profile interactions in full.

Read GA4 and Search Console together

Each tool measures something different, so use each one for its own job:

Split.
Which source answers which question?
Search ConsoleGoogle search visibility and clicks
AnalyticsRecorded onsite sessions and actions
Business recordsSuitable enquiries, sales and contribution

Compare Google organic sessions with the matching Search Console clicks. Use the same site and dates, and match country and device where you can.

GA4's Organic Search channel can include other search engines. Search Console only covers Google. Clicks, sessions and users are different units too.

Google lists why the two tools differ:

  • missing or duplicate Analytics tags

  • visitors who decline tracking

  • time zones, with Search Console on Pacific Time by default

  • canonical URLs, since Search Console reports only the canonical

  • different scopes and traffic breakdowns

There's no rule that one count must be smaller. There's no acceptable fixed gap either. Small differences can be ignored if the trends match.

When a number moves, run a short routine:

  1. Check the change in your lead ledger.

  2. Inspect the relevant pages and source trends.

  3. Check for tracking or business changes.

  4. Record the explanation, or the next test.

A clean small account can be quick, but don't expect a five minute diagnosis every time. Our guide shows how to read Google search evidence and its query limits.

Google's page on AI features and your website covers traffic from AI Overviews and AI Mode. That traffic is included in the overall search traffic in Search Console. It's reported in the Performance report, within the Web search type.

Separately, Search Console's Generative AI performance report shows impressions (not clicks) from AI Overviews and AI Mode. It breaks them down by page, country, date and device. The report reached all websites worldwide as of 31 August 2026.

An impression isn't a visit, let alone a sale. Third party AI referrals show up only where usable referral data exists. Blaming AI for lost revenue needs evidence. Our guide covers getting cited in Google AI search. Another explains how AI search changes clicks.

Follow an 18 month cumulative model

This is an example 18 month planning model. It isn't an Elev8d client record or a typical outcome. Its assumptions are simple:

  • $2,500 all in SEO cost each month

  • a constant 25% expected completion rate

  • $1,200 contribution per completed customer

  • so $300 of expected contribution per qualified lead

  • no inherited organic baseline

Year one is the first four quarters, and quarters five and six extend it.

Quarter

Leads in quarter

Cumulative contribution

Cumulative ROI

Q1

4

$1,200

-84.0%

Q2

14

$5,400

-64.0%

Q3

28

$13,800

-38.7%

Q4

45

$27,300

-9.0%

Q5

58

$44,700

19.2%

Q6

66

$64,500

43.3%

Cost adds $7,500 each quarter. By month 12, $27,300 of expected contribution sits against $30,000 of cost. That's -$2,700, or -9% ROI.

Line chart.
Example cumulative marketing ROI
43.3%
Q1Q2Q3Q4Q5Q6
HoverTap any point for exact values

Chart data:

PointValue
Q1-84%
Q2-64%
Q3-38.7%
Q4-9%
Q519.2%
Q643.3%

SourceExample 18 month model in this article

The chart joins quarter end points. The line between them says nothing about each month. Its axis starts at the lowest point, not at zero. Year one still ends below break even.

Expected customer counts can be fractions in a planning model. Real customers come whole. Each ratio is rounded to one decimal place from full values.

Month by month

The monthly schedule makes the payback point reproducible while keeping the quarterly totals. It assumes contribution lands in the same month as the lead, with no sales lag. Replace that big simplification with your own cohort timing.

SEO cost to date is $2,500 times the month number. The last column is a separate cash example, explained in the next section.

Month

Leads

Contribution less SEO to date

Cash less SEO to date

1

0

-$2,500-$2,500

2

1

-$4,700-$5,000

3

3

-$6,300-$7,200

4

3

-$7,900-$8,800

5

5

-$8,900-$10,400

6

6

-$9,600-$11,400

Months 7 to 12 hold the deepest contribution gap:

Month

Leads

Contribution less SEO to date

Cash less SEO to date

7

8

-$9,700-$12,100

8

9

-$9,500-$12,200

9

11

-$8,700-$12,000

10

13

-$7,300-$11,200

11

15

-$5,300-$9,800

12

17

-$2,700-$7,800

Months 13 to 18 cross both lines:

Month

Leads

Contribution less SEO to date

Cash less SEO to date

13

18

$200-$5,200

14

19

$3,400-$2,300

15

21

$7,200$900

16

21

$11,000$4,700

17

22

$15,100$8,500

18

23

$19,500$12,600

Under this schedule, expected contribution first beats cumulative cost in month 13, by $200. The largest gap is $9,700, in month 7. Don't carry that crossing or funding need over to another business. Weaker completion or extra costs would move both.

Separate payback from cash recovery

Contribution break even isn't cash recovery. The cash column uses one simple assumption. Net cash from each month's work arrives a month later. Meanwhile, the $2,500 SEO cost is paid in the month it's incurred.

Opening cash contribution is zero. Tax, financing and overheads are left out, and so is working capital.

On that basis, cash first beats cumulative SEO payments in month 15, by $900. The largest cash gap is $12,200, in month 8.

Two crossings in one example model
13Contribution crossing month$200 above SEO cost
15Cash crossing month$900 above SEO payments
$12,200Largest cash gapMonth 8, with a one month lag

That's why break even in month 13 isn't cash recovery in month 13. A real forecast schedules receipts and delivery payments separately, rather than as one net amount.

Run a downside case before committing. At 20% completion instead of 25%, each lead is worth $240. Contribution then crosses in month 16, and cash only in month 18. The largest cash gap grows to $14,100, in month 9. Month 18 ROI falls to 14.7%.

Treat the largest gap as the funding need inside the model. It isn't a recommended cash reserve. Add your other obligations before deciding you can carry it. A quarterly table alone can't show the monthly low point or the exact crossing. Our guide helps you decide whether the investment fits your business.

Keep a useful ledger and allow for seasonality

A useful ledger is a monthly summary linked to a record you control. Keep four parts:

Record

What it holds

Monthly summary

Cost, qualified opportunities, coverage, contribution

Opportunity record

ID, source evidence, outcome, contribution, payment date

Forecast view

Open pipeline and repeat value, kept apart from results

Change record

Tracking changes, shipped work, offers, outages

Each opportunity record needs the same fields:

Opportunity evidence record

Internal opportunity ID: [non public record]

Acquisition date and evidence: [date and source]

Qualification: [status and reason]

Outcome: [completed, lost or unresolved]

Contribution and basis: [amount and included costs]

Payment date: [date or outstanding]

Uncertainty: [missing evidence or assumption]

Keep identifying details in your business system, not in analytics or a shared report.

Keep two views apart. Cohort analysis follows each month's opportunities to their outcomes. A calendar view reports contribution or cash in the month it lands. So a January lead won in April counts in January's cohort and April's contribution. Dividing this month's sales by this month's new leads doesn't give a close rate.

Compare equivalent seasonal periods where that helps. Note what else changed, such as prices, capacity or tracking. Use a rolling annual view only once you have enough comparable data.

Work out rolling CPL as total cost divided by total qualified opportunities. Rolling ROI comes from summed contribution and summed cost.

Calculate the period from its totals
Before

Average the twelve monthly ROI percentages

After

Sum contribution and cost for the period, then calculate the return from those totals

A common mistake is averaging monthly CPLs or ROI figures without weighting. A falling ROI isn't a sign of improvement either. A falling CPL is only good news if quality and contribution hold.

Search Console keeps 16 months of performance data. Save regular exports for longer comparisons. Exports can't recreate data you never collected. Protect private records and agree who can see them.

Compare channels on the same basis

Comparing SEO with Google Ads only works on matching terms. Before you compare, line up:

  • the same definition of contribution

  • full cost on both sides, including Ads media, management and staff time

  • the same attribution rules and cohort horizon

  • a cash view for each channel

Don't count shared costs twice. Apply repeat value to both channels, or to neither. Credit SEO with $3,900 a customer and Ads with only $1,200? That result is rigged before you start.

A higher historical return doesn't automatically earn the next dollar. Before adding scope, ask:

  • What will the extra work change?

  • Is there enough useful demand and delivery capacity?

  • What evidence would change the decision?

  • How much downside can you afford?

Our guide compares SEO with Google Ads in full. For the paid side, see our Google Ads ROI method.

Diagnose a negative or inconclusive result

Start with data fitness. A broken or incomplete record can only give an inconclusive verdict.

Decision tree.
Can the result support a decision?
CHECK 1Are costs and lead definitions consistent?
YEScontinueYES · continue to CHECK 2Continues to: Have relevant cohorts had time to resolve?
NO
Repair the recordState what remains unknown
CHECK 2Have relevant cohorts had time to resolve?
YES
Diagnose the resultCheck causes and alternatives
NO
Mark inconclusiveSet a review point and downside limit

Repair what you can and say what can't be recovered. Neither a busy phone nor your provider's confidence is evidence. An inconclusive result isn't a pass, so continue only within an affordable, agreed scope.

Once the data is fit, look for the cause:

Split.
Which cause fits the evidence?
Reach or relevanceIs useful search demand reaching the right page?
Conversion or fulfilmentCan suitable customers complete the journey?
MeasurementAre outcomes and costs recorded accurately?
Market or unit economicsCan contribution support the required cost?

Several causes can apply at once. Here's what to inspect for each:

Cause

Evidence to inspect

Possible action

Reach or relevance

Demand, pages, shipped work

Revise targeting or content

Conversion or fulfilment

Delivery, offer, response time

Fix the bottleneck and retest

Measurement

Duplicates, missed calls, gaps

Fix collection, mark gaps

Market or unit economics

Demand, contribution, cost, runway

Change scope, price or channel

Our guides help you improve the pages behind suitable enquiries and choose content with a commercial role. Our conversion guide helps you investigate a verified enquiry problem. Hands on, our conversion optimisation service does that investigation for you.

Stopping isn't reserved for a rare market failure. Persistent execution problems, a better opportunity or limited capacity can justify it. So can a downside you can't fund. Sunk cost is never a reason to keep spending. Equally, a young cohort that hasn't resolved isn't proof of failure.

Record the diagnosis and the action. Then name the owner, the budget and the next review point.

Review the report and decide the next quarter

A useful SEO report answers ten evidence questions:

1Does it count unique qualified organic opportunities, with known source coverage?
2Does it include full cost and make qualified CPL reproducible?
3Does it separate branded and non branded evidence, and state the limits?
4Does it identify the pages and journeys behind suitable enquiries?
5Does it name completed, verified work?
6Does it explain material changes, or assign a test where the cause is unknown?
7Does it keep realised contribution, pipeline, lifetime scenarios and cash apart?
8Are the period, assumptions and exclusions clear?
9Does it support a practical next decision without hiding uncertainty?
10Does it show adverse results and missing evidence when they occur?

These are discussion prompts, not a ten point score. Missing costs or untested leads can't be offset by nine other yes answers. An honest report doesn't need to invent bad news either.

Each quarter, run a 30 minute review:

  • 5 minutes: is the data fit to use?

  • 7 minutes: cumulative contribution and cash

  • 6 minutes: pages and causes

  • 7 minutes: the scope decision

  • 5 minutes: owners and review dates

Don't wait a quarter to fix a broken form or an unaffordable overspend. Monthly checks catch those.

Ask your provider four direct questions:

  • Which suitable enquiries do you know about, and how?

  • What work was completed and verified?

  • What explains the cost and contribution trend?

  • What do you recommend changing?

If the answers are vague, our guide to SEO red flags explains what to look for. Our guide to choosing an SEO agency helps you pick one that can explain and verify the work.

Finish the meeting with a written decision:

Quarterly ROI decision

Result and basis: [period, contribution and full cost]

Evidence quality: [coverage and unresolved gaps]

Cash position: [actual or scenario, clearly labelled]

Decision: [continue, change, reduce, pause or stop]

Owner and budget: [person and agreed scope]

Review trigger: [date or material condition]

The decision should name the next action, not recap old charts.

Want a second pair of eyes on your SEO reporting?

Our free audit is a short, prioritised read on what to fix first.

What we recommend at Elev8d

Measure contribution, not activity. Reconcile every enquiry to an outcome before you calculate anything. Keep forecasts, results and cash in separate columns. Then make one written decision a quarter.

Don't get taken for a ride by a report full of rankings and traffic charts. If it can't show contribution against full cost, it can't show ROI. Measurement only matters if the work itself is right. Our broader guide covers SEO for small business.

Frequently asked questions

What is a good SEO ROI?

There's no honest universal number. A good return depends on your contribution, risk, cash timing and capacity. It also depends on what the same money and time could earn elsewhere. Be wary of anyone quoting a typical percentage.

How do I measure phone enquiries?

Use actual call evidence, such as call tracking records, not phone link clicks. A call record shows a call happened. Your job notes show whether it became work. Deduplicate calls against forms and quotes. Keep unknowns visible.

Are assisted conversions real?

They describe a real journey. They aren't extra full sales. Show assists beside the financial total, never added to it. Use them to understand how people find you.

Should branded searches count?

Yes, shown separately from non branded searches. Branded growth can come from other marketing. Classification is imperfect too, so state the limits.

Can an agency guarantee ROI?

No. A provider can commit to work, measurement and honest reporting. It can't control your pricing, capacity or competitors. Treat an ROI guarantee as a red flag, not a selling point.

Can I measure without GA4?

Yes. Another analytics tool plus a good business ledger can support the method. A spreadsheet is a fine start. What matters is reconciled enquiries, full cost and contribution.

Does year two have to improve?

No. Year two can improve, get worse or stay unclear. It depends on the work, demand and competition that year. Judge it on the evidence, not on a schedule.

Next steps

Repair a known tracking failure

Fix it, retest it and mark the affected dates before you calculate anything.

Reconcile a recent cohort

Take last quarter's enquiries and follow each one to an outcome.

Agree a contribution basis

Write down which costs come out before contribution. Then list the overheads you leave out.

Decide a smaller, affordable scope

If the downside isn't affordable, reduce scope and set a review date. To hand the measurement over, ask our SEO team for a scoped review.

Ajay K.
Written by Ajay K.Co-founder, Elev8d

Ajay is the co-founder of Elev8d and writes most of what you will read here. Psychology grad turned marketer, which is a fancy way of saying he cares about why people click, not just where things rank. Every guide is written in plain English for Australian businesses, tested on real campaigns before it earns a spot on this site.

The next step

Ready for a Website That Actually Converts?

If the article raised more questions than it answered, that is what the free audit is for: a straight, no obligation read on your site, your rankings and what a transfer would actually involve.

Prefer to text? Message us on 0494 740 873 and we will reply the same day.