Case file 01 · HVAC and heat pump contractor
$387,000 more revenue than the year before.
Their profile leads tripled and the leads they had to buy fell by a third. Their own invoicing shows 640 more jobs and $387,000 more revenue in the last twelve months than in the twelve before it.
+$387,000
More revenue in twelve months
From their invoicing, not modeled
+640
More jobs invoiced
3,275 to 3,915, up 19.5%
86 → 286
Leads from the Google profile
Per quarter, up 233%
314 → 213
Leads they had to buy
Down 32%, while the work went up
What it produced in the business
+$387,000 in twelve months
Revenue up 18.2% and jobs up 19.5% over a full twelve months against the twelve before it.
$2,133,000 invoiced in the prior twelve months → $2,520,000 in the last twelve
Invoiced, not estimated. Both figures come straight out of the client’s own job management system, counted over equal periods so every season appears once on each side. See the detail
The lead mix, first quarter against third quarter
Google Business Profile
86 → 286
Organic search
381 → 692
Paid search
314 → 213
Phone calls
475 → 665
Web form enquiries
351 → 405
Total tracked leads
826 → 1,073
Q1 is January to March 2026. Q3 is July 1 to September 24 2026, which is a week short of a full quarter, so the third column understates itself.
The situation
What the baseline actually showed.
This contractor was not invisible. It was renting its visibility. In the first quarter of 2026 paid search produced 314 leads and the Google Business Profile produced 86, so for every lead the profile earned, the company bought nearly four. That is a business paying rent on its own phone.
The problem with a bought lead is not the cost. It is that the moment the card stops working the pipeline stops with it, and every competitor in the metro can outbid you on any given day. An owner in that position does not own an asset, he owns a subscription.
The profile itself was the underused half of the business. It sat there collecting a fraction of the demand its own service area was generating, while the ad account carried the load.
Goals and measurement window
What we set out to move.
The engagement was scoped around one outcome, stated plainly at the start: make the profile produce more than the ad account, and let the ad spend come down as it does.
- Grow leads coming directly from the Google Business Profile
- Grow organic search leads alongside them, so the site and the profile pull together
- Reduce dependence on paid search rather than adding to it
- Track every lead individually, joined to the job management system, so none of this rests on an estimate
Measurement window: January to September 2026
What we implemented
The work, in the order it ran.
-
Grid scan and baseline
January 2026
Baseline taken across the service area, with call tracking and form tracking wired up first so every lead from that point forward is attributed to a source rather than guessed at.
-
Competitor teardown
Same month
The businesses holding the pack on the highest-value service terms were pulled apart for category, service depth and review rate, which set the target for the rebuild.
-
Profile rebuild
Months one to three
Categories reset against the benchmark. Every service the company actually sells listed and described, installation and service separated rather than collapsed into one line. Service area set to where the vans genuinely go. Name, address and phone made consistent across citations.
-
Review system
Built in, then ongoing
Review requests attached to job close-out inside the existing workflow, with prompts that encourage naming the service and the area, so the rate keeps running without anyone chasing it.
-
Content and proximity
Months two to six
Service and area content aligned to the terms the profile was being asked for, so the site and the profile describe the same business to Google rather than two different ones.
-
Re-scan, report, adjust
Quarterly
Lead volume reviewed by source every quarter. Paid spend was reduced as profile and organic volume replaced it, rather than left running alongside.
This is the same sequence every account runs. See the full process
Before and after
Every keyword we tracked, including the ones that barely moved.
Top-three coverage is the share of grid points where the profile held position one, two or three. Same grid, same points, both dates.
What the coverage produced
Rankings are the input. This is the output.
Read from the client's own Google Business Profile performance panel. Each row compares a period against the period immediately before it, or against the same period a year earlier where the row says so.
| Metric | Before | After | Change | Window |
|---|---|---|---|---|
| Google Business Profile leads | 86 | 286 | +233% | Q1 2026 against Q3 2026 |
| Organic search leads | 381 | 692 | +82% | Q1 2026 against Q3 2026 |
| Paid search leads | 314 | 213 | −32% | Q1 2026 against Q3 2026 |
| Phone calls | 475 | 665 | +40% | Q1 2026 against Q3 2026 |
| Web form enquiries | 351 | 405 | +15% | Q1 2026 against Q3 2026 |
| First-time enquirers | 583 | 752 | +29% | Q1 2026 against Q3 2026 |
| Total tracked leads | 826 | 1,073 | +30% | Q1 2026 against Q3 2026 |
| Jobs invoiced | 3,275 | 3,915 | +19.5% | Trailing 12 months against the 12 before it |
| Revenue invoiced | $2,133,000 | $2,520,000 | +18.2% | Trailing 12 months against the 12 before it |
Source: Call tracking, source-attributed per lead · Call tracking, every call recorded and sourced · Form tracking on the site · Call tracking, repeat callers excluded · Call tracking, calls and web forms · Their job management and invoicing system · Their invoicing system, ex-tax, converted to USD
What it produced in the business
Straight out of their invoicing, both years.
Nothing on this one is modeled. These are invoices raised in the client’s own job management system, counted across the identical date range in each year so the seasons match.
- 3,915 jobs invoiced in twelve months Measured
- Measured, and not a lead figure at all. This is every invoice raised in their job management system over the last twelve months, against 3,275 in the twelve months before it. That is 640 more jobs actually billed, a full year against a full year, with no month left out and nothing annualised from a shorter run.
- Not used close rate Not modeled
- There is no close-rate assumption on this study, because nothing here is modeled. The other case studies estimate what extra demand might be worth. This one reports what the business actually invoiced.
- $612 average, $2,255 on installs average job Measured
- Their own numbers, converted to US dollars. Across all 2,976 invoices the average is $612, but that blends warranty calls and small service visits with installations. The 17% of jobs that are installation scale average $2,255 and carry 64% of all revenue, so a new enquiry that turns into an install is worth nearly four times the blended figure.
$2,133,000 invoiced in the prior twelve months → $2,520,000 in the last twelve
+$387,000 in twelve months
Revenue up 18.2% and jobs up 19.5% over a full twelve months against the twelve before it.
What this does and does not prove
These are real invoices, not a model. They come from the client’s own job management and invoicing system, counted across a full twelve months against the twelve months immediately before, so every season appears once on each side and nothing is annualised from a short run. Figures are ex-tax and converted to US dollars. What we are NOT claiming is that every one of those dollars came from the map work, because other things move a business. What we can show is what changed over the same period: leads from the Google Business Profile went up 233 percent, the leads they had to buy went down 32 percent, and the company billed 640 more jobs.
How this was measured
So you can check it rather than trust it.
Every lead on this page is an individual tracked record, not a platform estimate. Calls and web form submissions are captured by call tracking and tagged with the source that produced them, so a lead from the Google Business Profile is distinguishable from a paid click and from organic search.
The lead counts were pulled directly from that tracking platform for the exact date ranges printed on this page, not from a dashboard screenshot.
Invoice counts and values were read from the client’s own job management and invoicing system over the same window, which is how we can say what the demand turned into rather than guessing.
Paid search is reported separately and is never counted toward the profile result. Where paid volume fell, that is shown as a fall.
What these numbers do not say
- These results were selected. They are not typical of every engagement and they are not a forecast of yours.
- Nobody can guarantee a Google ranking. Positions move with competitors, categories, proximity and Google’s own updates.
- The third quarter here runs to September 24 rather than September 30, because that is the day the data was pulled. It is a week short, so every Q3 figure on this page is slightly understated.
- Quarter against quarter inside one year tells you nothing here, because this trade is seasonal and a heating business bills differently in July than in January. Q1 against Q3 shows revenue flat. A full twelve months against the twelve before it shows it up 18.2 percent. The twelve month comparison is the honest one and it is the one used on this page.
- We are not claiming every extra dollar came from the map work. Other things move a business. What is shown is what changed across the same window, measured on both sides.
- This client had call tracking and a job management system already in place. That is why this page can report attributed leads and invoice counts, and it is the standard every engagement should be held to.
Client name, city and profile ID are withheld on every case study we publish. Contractors get called by vendors the moment they show up in a results page, so we do not put them there.