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.
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:
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:
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%
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
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.
$3,300 per customer, with no repeat job value stated
$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.
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:
Search Console's branded queries filter isn't available for every site. It can misclassify queries too.
Rare queries are anonymised, so no split is ever complete.
Query totals can't tell you which customer bought.
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.
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:
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:
Check the change in your lead ledger.
Inspect the relevant pages and source trends.
Check for tracking or business changes.
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.
Chart data:
| Point | Value |
|---|---|
| Q1 | -84% |
| Q2 | -64% |
| Q3 | -38.7% |
| Q4 | -9% |
| Q5 | 19.2% |
| Q6 | 43.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.
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:
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.
Average the twelve monthly ROI percentages
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.
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:
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:
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:
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.
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.