Guide · Local SEO measurement

How to measure Local SEO by booked jobs, not rankings

Measure Local SEO by following the same enquiries from discovery to completion. Use rankings, impressions and profile actions to diagnose visibility, then reconcile calls and forms with your booking or job records. Report qualified enquiries, booked jobs, completed jobs and unknown attribution separately. A ranking can explain why demand changed, but it cannot prove that a call was answered or a job was booked.

By Ajay Dabhi, Local SEO specialist in Melbourne

Last updated: 22 July 2026

If you run a service business in Melbourne, rankings still matter. They just need to be connected to the enquiries you qualified and the work you booked and completed. That is how I approach Local SEO for Melbourne service businesses. Where the records do not connect, say so rather than filling the gap with an assumption.

Start with the measurement chain

I use one chain to follow a potential customer from search discovery to delivered work:

  1. 01

    Visibility

    Was the business discoverable for the right services and areas?

  2. 02

    Profile or website action

    Did somebody click through, request directions or use a call control?

  3. 03

    Enquiry

    Did a unique potential customer contact the business about buying a service?

  4. 04

    Qualified enquiry

    Was the request for a target service, inside the service area and suitable to quote or book?

  5. 05

    Booked job

    Was an appointment confirmed, a quote accepted or a job scheduled under the business's written booking rule?

  6. 06

    Completed job

    Was the work delivered or the appointment attended by the reporting cut-off?

Each stage answers its own question. The numbers will normally get smaller as you remove spam and duplicates, check each enquiry against your qualification rules, and update the booking and completion status.

Do not add unrelated upstream actions and call the result a customer total. One person might create an impression, click through to the website and press the call button. Rankings and impressions tell you about discoverability. Your business records tell you whether the enquiry qualified, booked or reached completion.

Sometimes the records will not let you join one stage to the next. Leave that connection unresolved. A report with a clear gap is more useful than a complete-looking report built on a guess.

Define each number before you report it

Set the definitions before you start reporting. Write them down and use the same rules each month. If a rule changes, record what changed and when in the change log. Otherwise, a month-to-month comparison can quietly stop meaning the same thing.

Relevant non-brand impression
An impression for an agreed service, problem or location query that does not depend on the business name. Use a consistent query/page filter and document material filter changes.
Business Profile call-button click
A click on the call control reported in Business Profile Performance. It is not automatically a connected call, answered call, valid enquiry or booked job.
Website click
A click from the profile's website link or a search result, depending on the labelled source. It is not automatically an enquiry.
Valid enquiry
A unique customer contact about potentially buying a service. Exclude spam, suppliers, recruitment messages, wrong numbers, test submissions and duplicates.
Qualified enquiry
A valid enquiry that matches the documented target service, service area and minimum fit rules, and that the business is prepared to quote or book.
Booked job
A qualified enquiry with a confirmed appointment, accepted quote or scheduled job according to the business's written booking rule. A tentative callback is not booked.
Completed job
A booked job delivered or an appointment attended by the report cut-off. Keep payment status separate where relevant.
Cancelled/no-show
A booked job that did not proceed. Do not count it as completed revenue.
Open/scheduled
A valid or booked record without a final outcome at the reporting cut-off.
Attributable Local SEO enquiry
A valid enquiry with evidence tying its source to unpaid website search, Business Profile discovery where distinguishable, or a documented unresolved Local SEO path. Do not include paid search.
Unknown source
No source can be established from the available record. Do not assign it proportionally to known channels.
Booked job value
The documented value of attributable jobs at booking. This is pipeline value, not cash received.
Completed job revenue
Actual recorded revenue for attributable completed jobs. Do not substitute quoted value.

What counts as qualified depends on the business. For example:

  • Cleaners and pest control businesses: Record the target service, suburb, and whether the request is for recurring or one-off work.
  • Tradies: Record the valid job type, service radius, and whether the work is urgent or planned.
  • Clinics: Keep appointment requested, appointment booked and appointment attended as separate statuses. Do not expose patient details in the monthly report.

This scorecard is a reporting method, not legal advice, and it does not require call recording. If your wider tracking setup records calls or handles personal information, check the privacy, notice, access and storage obligations that apply to your business before you implement it.

Use the right source of truth for each stage

You will not find the full path from search visibility to a booked job in one dashboard. Use the record that can establish each stage, then be clear about what that record cannot prove by itself.

Scroll the table sideways to see every column.

StagePrimary sourceWhat it can establishWhat it cannot establish alone
Search visibilitySearch Console and a relevant local visibility viewImpressions, clicks, page/query trends and geographic visibility trendsAn answered call, qualified enquiry or booking
Business Profile actionsGoogle Business Profile PerformanceAvailable profile actions such as call-button clicks, website clicks, directions and eligible booking activityWhether a call connected, whether a website click enquired, or whether all activity was SEO
Website enquiriesImplemented analytics events plus form/booking recordsThat a configured action occurred and which tagged session preceded it where availableWhether the enquiry was valid, unique, qualified or ultimately booked
Phone enquiriesPhone logs or a properly configured call systemConnected/answered call evidence where availableQualification or booking without a business status update
Qualified leads and bookingsCRM, booking platform or maintained job logService fit, location fit, quote/appointment and booked statusCompleted or collected value unless the record is updated
Completed work and valueJob-management, invoice or finance recordsCompletion and actual recorded valuePerfect causal attribution to one search interaction

Google's Business Profile Performance documentation explains that profile calls count clicks on the call button. That is an upstream action, not proof that a call connected or became a booked job. Available metrics also vary by profile and setup.

Business Profile performance may include paid activity as well as organic activity. Reconcile paid campaigns before crediting a profile total to Local SEO.

Apply four attribution rules

  1. 1. Use a documented source when it exists. Preserve the source captured by a tagged profile link, website session, call record or enquiry form.
  2. 2. Deduplicate one prospect's repeated actions. A phone click, a call and a later form from the same known prospect are not three leads. Deduplicate only when the records provide enough evidence.
  3. 3. Keep paid and organic reporting separate. Reconcile paid campaigns before crediting profile or website activity to Local SEO. Keep broader paid search measurement with the channel that generated it.
  4. 4. Keep an unknown bucket. If the source cannot be established, use Unknown, explain the gap and do not distribute the result across channels by assumption.

Use the enquiry's original recorded source for source reporting unless the business has intentionally adopted and documented another attribution model.

For monthly funnel rates, cohort leads by the month they first enquired and update later outcomes as they mature. If it helps operations, show a separate count of all jobs booked or completed during the calendar month. Label it as a calendar-month operational count, not as the original enquiry cohort. Never mix the two bases in one rate or total without labels.

Reconcile the report every month

Run the reconciliation in the same order each month. That keeps search activity and business outcomes on a consistent basis:

  1. 1. Fix the reporting basis. Record the month, comparison period, attribution model and enquiry cohort before reviewing results.
  2. 2. Record the diagnostic metrics. Capture relevant non-brand impressions, organic clicks and available Business Profile actions. Keep them as diagnostic figures, not customer totals.
  3. 3. Build the valid-enquiry list. Bring together website forms, booking requests and phone records. Remove spam, tests, suppliers, recruitment contacts, wrong numbers and supported duplicates.
  4. 4. Preserve source evidence. Keep organic website, distinguishable Business Profile, unresolved Local SEO and unknown source in separate columns. Reconcile paid activity before assigning Local SEO credit.
  5. 5. Apply the qualification and booking rules. Update each valid enquiry with service fit, area fit, qualified status and booked status. Record a reason when an enquiry is excluded.
  6. 6. Update mature outcomes. Mark each record as completed, cancelled/no-show or still open/scheduled at the cut-off. Keep booked value separate from completed revenue.
  7. 7. Record context and gaps. Note missing source data, incomplete statuses, tracking changes, capacity, closed days, seasonality, pricing, promotions and service-area changes.
  8. 8. Calculate from raw counts. Use one cohort basis, apply the zero-denominator rules and round only the displayed result.
  9. 9. Write one decision summary. State what improved, the largest funnel drop, what remains unknown, any possible operational constraint and the next test with an owner and review date.

If the records cannot separate an organic website enquiry from a Business Profile enquiry, put it in the unresolved Local SEO column. If they cannot support Local SEO attribution at all, put it in the unknown-source column. Do not make the source sound more certain after the event.

Copy this monthly booked-job scorecard

Copy this template into a spreadsheet or document and fill it with figures you have actually observed. Use N/A when a metric is unavailable. Put missing records under Known data gaps, and leave empty cells empty rather than filling them with an invented benchmark.

A. Reporting details

Scroll the table sideways to see every column.

FieldEntry
Reporting month[Month YYYY]
Comparison period[Previous month / same month last year / none]
Attribution model[Original recorded source / other documented model]
Enquiry cohort basisLeads first received during this month
Material changes[Pages, profile changes, tracking changes, promotions, outages]
Business conditions[Seasonality, capacity, closed days, pricing or service-area changes]
Known data gaps[Missing call source, incomplete job statuses, unavailable profile metric]

B. Diagnostic visibility, do not total these as customers

Scroll the table sideways to see every column.

MetricThis monthComparisonChangeWhat it tells us
Relevant non-brand impressions[ ][ ][ ]Search exposure for agreed commercial queries/pages
Relevant organic website clicks[ ][ ][ ]Visits from those search results
Business Profile call-button clicks[ ] or N/A[ ] or N/A[ ]Clicks on the profile call control, not verified calls
Business Profile website clicks[ ] or N/A[ ] or N/A[ ]Clicks to the listed site, not enquiries
Business Profile directions[ ] or N/A[ ] or N/A[ ]Direction requests, not visits or jobs
Local visibility note[Service, suburb and observed direction of change]Diagnostic context, not revenue

C. Attributable enquiry cohort

Scroll the table sideways to see every column.

Funnel stageOrganic websiteBusiness Profile where distinguishableOrganic source unresolved between these twoTotal attributable Local SEOUnknown source, excluded from Local SEO total
Valid enquiries[ ][ ][ ][sum][ ]
Qualified enquiries[ ][ ][ ][sum][ ]
Booked jobs or appointments[ ][ ][ ][sum][ ]
Completed jobs or attended appointments[ ][ ][ ][sum][ ]
Cancelled/no-show[ ][ ][ ][sum][ ]
Still open or scheduled at cut-off[ ][ ][ ][sum][ ]
Do not force a split between the website and Business Profile when the records cannot support it. Keep a Local SEO unresolved column and a separate unknown-source column. Profile and website actions in the diagnostic table are not added to this funnel.

D. Value and measurement quality

Scroll the table sideways to see every column.

MetricThis monthFormula or entry rule
Qualification rate[ ]%Qualified attributable enquiries ÷ valid attributable enquiries × 100
Booking rate[ ]%Booked attributable jobs ÷ qualified attributable enquiries × 100
Completion rate[ ]%Completed attributable jobs ÷ booked attributable jobs × 100
Booked job value$[ ]Sum of recorded value for attributable jobs booked from this enquiry cohort
Completed job revenue$[ ]Sum of actual recorded revenue for attributable completed jobs from this cohort
Average booked-job value$[ ]Booked job value ÷ booked attributable jobs
Unknown-source enquiry share[ ]%Unknown-source valid enquiries ÷ all valid enquiries across known and unknown source × 100
Records with final status[ ]%Cohort enquiries with a documented final outcome ÷ valid attributable enquiries × 100

Do not make SEO ROI a required scorecard field. A valid profit-return calculation needs reliable attributable gross profit and an agreed investment scope, and many businesses will not have both. If those inputs are missing, report booked value, completed revenue and the data limitation instead of estimating return.

E. Change log

Scroll the table sideways to see every column.

DateSEO, tracking or business changeExpected effectMetric to watchResult at report cut-off
[DD/MM/YYYY][What changed][Specific hypothesis][Metric and segment][Observed / too early / no clear change]

F. Decision summary

Scroll the table sideways to see every column.

PromptMonthly answer
What improved?[One evidence-led sentence]
Where is the largest funnel drop?[Stage and count]
What is still unknown?[Data gap]
What may be operational rather than SEO?[Answering, qualification, capacity, price, follow-up or scheduling issue]
What is the next test?[One change, owner and review date]

Use these formulas and edge rules

Calculate from raw counts. Round displayed percentages to one decimal place only after the calculation.

  • Qualification rate (%) = qualified attributable enquiries / valid attributable enquiries × 100
  • Booking rate (%) = booked attributable jobs / qualified attributable enquiries × 100
  • Completion rate (%) = completed attributable jobs / booked attributable jobs × 100
  • Average booked-job value ($) = booked job value / booked attributable jobs
  • Unknown-source enquiry share (%) = unknown-source valid enquiries / (known-source valid enquiries + unknown-source valid enquiries) × 100
  • Records with final status (%) = attributable cohort enquiries with documented final outcome / valid attributable enquiries × 100
  • Period change (%) = (current period − comparison period) / comparison period × 100

A documented final outcome means the enquiry is recorded as not qualified and closed, qualified but not booked and closed, completed, or cancelled/no-show. Open records, enquiries awaiting qualification or a booking decision, and jobs still scheduled are not final. Do not treat a missing value as a final status.

Apply these rules every time:

  • If a denominator is zero, display N/A, never 0%, infinity or an error.
  • If no comparison data exists, display No comparison, not 0% change.
  • Do not sum impressions, clicks, profile actions and enquiries into one conversion total.
  • Do not calculate a rate across mixed cohort bases.
  • Display counts as whole numbers, percentages to one decimal place and Australian dollar values with a dollar sign and thousands separator.
  • Preserve negative period change when the current figure is lower.

How to read the scorecard

When two stages move in different directions, use this matrix to decide what to inspect and what to do next. The mismatch points you towards a question. It does not prove the cause.

Scroll the table sideways to see every column.

What the scorecard showsWhat to inspectNext action
Visibility up, qualified enquiries flatQuery and service relevance, page intent, profile-to-site path, phone or form operation and local coverageReview the highest-growth query, page or area against the service and enquiry records, then choose one supported path issue to test
Enquiries up, qualification rate downSpam, wrong services, out-of-area demand, unclear service boundaries and duplicate recordsCategorise unqualified records by reason and fix the largest supported source of mismatch
Qualified enquiries up, bookings flatResponse time, answered calls, quote follow-up, capacity, pricing and availabilityAudit the status and follow-up of qualified enquiries before changing the SEO plan
Bookings up, completions flatCancellations, no-shows, scheduling and the reporting cut-offReconcile every booked record to completed, cancelled or still scheduled status
Profile actions up, verified enquiries flatWhether calls connected and whether website visitors enquiredMatch available action records to phone and form records without treating action counts as jobs
Unknown share risingMissing source fields, broken tagging and inconsistent intake recordsRepair the first missing source-capture point and keep unresolved records unknown

Bookings can stall even while visibility and qualified enquiries improve. If the drop happens after qualification, check the operational side before deciding SEO is the problem.

A worked example with observed business data

Illustrative example only: These numbers are fictional and show how the scorecard works. They are not a benchmark, forecast or client result.

For this fictional month, the Local SEO enquiry cohort contains:

  • 24 valid attributable Local SEO enquiries
  • 18 qualified attributable enquiries
  • 9 booked jobs
  • 7 completed jobs by the reporting cut-off
  • 1 cancelled job
  • 1 job still scheduled
  • $10,800 total booked job value
  • $8,400 completed job revenue
  • 6 additional valid enquiries with unknown source, excluded from the Local SEO total
  • Previous comparable cohort: 15 qualified enquiries and 6 booked jobs

Using those records:

  • Qualification rate: 18 ÷ 24 × 100 = 75.0%
  • Booking rate: 9 ÷ 18 × 100 = 50.0%
  • Completion rate at cut-off: 7 ÷ 9 × 100 = 77.8%
  • Average booked-job value: $10,800 ÷ 9 = $1,200
  • Unknown-source enquiry share: 6 ÷ (24 + 6) × 100 = 20.0%
  • Qualified-enquiry period change: (18 − 15) ÷ 15 × 100 = 20.0%
  • Booked-job period change: (9 − 6) ÷ 6 × 100 = 50.0%

This is a positive month-on-month observation for the fictional cohort. It is not a forecast or proof that one SEO change caused the increase. Two booked jobs have not reached completion at the cut-off, and one is cancelled, so booked value is not completed revenue. The six unknown-source enquiries stay outside the Local SEO total unless the records support attribution.

Keep the report privacy-safe

The scorecard only needs counts, status labels and enough business context to explain the month. Leave out names, phone numbers, email addresses, full addresses, call content, health information and other personal details.

  • Use an internal record ID if a team needs to reconcile a row to a business system.
  • Keep a public, printed or broadly shared summary aggregated.
  • Limit access to underlying enquiry and job records to people who need it.
  • Do not put patient details into a clinic report.
  • Do not use this scorecard as a reason to record calls.
  • If the business records calls or processes personal data for tracking, it must check its own privacy, notice, access and storage obligations before implementation. My privacy policy explains how this website handles personal information. This guide is not legal advice.

This page is a blank, static template. It does not need a form, account, download gate or client-side calculator, and the implemented page does not collect, store or transmit a reader's business figures. Copy the template into a controlled business document or spreadsheet and apply the organisation's own access and retention rules there.

What the monthly report should decide

Before you close the report, answer five questions:

  1. Which service and area produced the most qualified organic enquiries?
  2. Where did the largest funnel drop occur?
  3. Which records are still unknown or incomplete?
  4. What operational issue may be suppressing bookings?
  5. What one Local SEO or measurement change will be tested next month?

Use this monthly conclusion structure

Observed result: [One sentence describing the supported change in visibility, qualified enquiries, bookings or completions.]

Largest drop: [Name the funnel stage and the observed count, without assigning a cause yet.]

Attribution quality: [State the unknown share, unresolved Local SEO records and any material source gap.]

Business context: [Note capacity, closed days, seasonality, pricing, availability, tracking changes or other relevant conditions.]

Decision: [Name one SEO, measurement or operational change, the owner and the review date.]

A useful report ends with a decision, the evidence behind it and a date for checking what happened next. Keep the observed result separate from your explanation for it. Record that explanation as a hypothesis in the change log, then test it at the next cut-off.

Keep case-study evidence in its proper scope

A case study should not be used as an SEO-only benchmark unless the underlying records support that scope. My published case study covers a broader paid, website and AI system. It is not proof of an SEO-only result, so I have not used its figures as a benchmark, forecast or worked result in this guide.

Want me to connect Local SEO to the jobs you actually book?

I can check the path from search visibility into your enquiry and booking records, find the gaps, and tell you whether Local SEO is the right place to work next. You can read how I handle the wider work on my Local SEO for Melbourne service businesses page.