Home & Local Services PPC That Books Jobs, Not Just Calls
Whether you run HVAC, plumbing, electrical, or roofing crews, growth comes down to which calls turn into booked jobs. We run Local Services Ads and Search as one system, track every call through to its outcome, and feed that back to the platforms so the ads learn what a real customer looks like.
Where it breaks
The problems we see over and over.
Calls counted as wins
The platforms count every call as a conversion, including spam, solicitors, and callers outside your area. So the algorithm optimizes toward more calls, not more jobs.
LSA and Search run in silos
Local Services Ads and Search ads compete for the same homeowner, often against each other. When nobody manages them together, you pay twice to reach the same person.
Geo targeting leaks budget
A simple radius does not match how you actually operate. Spend spills into zip codes you cannot serve while the neighborhoods with your best job values get whatever is left.
Seasonality whipsaws the budget
HVAC demand spikes with the first heat wave and the first freeze. Flat monthly budgets cap out exactly when the phone should be ringing most.
How this plays out
The pattern, up close.
Say you run an HVAC and plumbing shop with six trucks. The first hot week of June hits and the phone lights up. Your dispatcher fields sixty calls, and Google counts every one as a conversion, including the solicitor, the caller two counties over, and the tenant whose landlord handles repairs. By Friday the platform report says the campaign had its best week of the year. Your dispatcher, who booked maybe fifteen jobs, would put it differently.
The usual fixes do not touch the real problem. A new set of keywords or a bigger budget just buys more of the same call mix, because the algorithm is still optimizing toward ring volume. Disputing LSA leads from memory catches a fraction of the junk, and the dispute window closes whether you noticed or not. Meanwhile your Search ads and your LSA profile keep competing for the same homeowner on the same results page, so part of your budget goes to bidding against yourself.
With the system in, every call is scored by what it became. Booked jobs flow back to Google as offline conversions, junk gets disputed on a schedule instead of a memory, and the budget follows your seasonal curve instead of the calendar. LSA and Search get one plan, so each search goes to whichever placement wins it cheapest. On Monday morning you can see cost per booked job by zip code, and decide where the next dollar goes.
Signs this is you
Google says the campaign had a great month. Your dispatcher disagrees.
You pay for LSA leads you meant to dispute but never did.
Your Search ad and your LSA profile show up for the same search, and you pay both ways.
You cannot name the zip codes that produce your best job values.
Your budget caps out the first week of a heat wave.
Cost per lead looks fine. Nobody knows cost per booked job.
What we do about it
Audit · Build · Manage
LSA and Search as one system
We manage Local Services Ads and Search together, deciding which searches each should win. One plan, one budget logic, no bidding against yourself.
Call tracking tied to booked jobs
We wire call tracking into your CRM or field service software so every call is scored by what it became. Booked job, estimate, or junk, the record follows the click.
Lead quality fed back to the platforms
Booked jobs go back to Google and Meta as offline conversions, and we dispute junk LSA leads so you do not pay for them. The platforms learn to find customers, not callers.
Geo targeting built on your service map
We target by zip code and city, weighted by job value, drive time, and crew capacity. Your budget concentrates where the work is worth doing.
Budgets that follow the season
We plan spend around your seasonal demand curve, then adjust weekly and document every change. The budget is ready before the phones light up.
We have managed $100M+ in paid media spend, including for brands you know in outdoor, Western, industrial, and agricultural retail, and for multi-location brands with hundreds of locations, where geo discipline is the whole game. The playbook is the same here: score every call by what it became, then hold the ads to it.
Same industry, other services
The first 30 days
What actually happens after you say go.
Weeks 1-2: Access and audit
We get read access to Google Ads, Local Services Ads, call tracking, and your CRM or field service software, whether that is ServiceTitan, Housecall Pro, Jobber, or a spreadsheet. Then we pull the history and score it: calls against booked jobs, spend by zip against your actual service area, and where LSA and Search overlapped. You get a written read on where the budget leaked.
Weeks 2-3: The plan and first fixes
We map targeting to your real service area, weighted by job value and drive time, and split the work between LSA and Search so they stop bidding against each other. Call tracking gets wired to outcomes in your CRM. Obvious leaks get closed first: out-of-area spend, undisputed junk leads, duplicate coverage.
Week 4: The operating rhythm
The weekly cadence starts. Budgets get checked against the seasonal plan, new LSA leads get scored and disputed on schedule, and every change lands in a log with a reason attached. Your Monday report shows spend, calls, booked jobs, and cost per job by area, and it reads in minutes.
From the blog
How we think about home & local services marketing.
UTM Tracking, Done Properly
A practical guide to UTM tracking: the five parameters, casing rules, governance, common breakages, and how to audit the links you already have.
ReadA Weekly Search Terms and Negatives Workflow
A repeatable weekly workflow for Google Ads search terms: fast reviews, intent buckets, shared negative lists, broad match discipline, and a decision log.
ReadThe Paid Media Reporting Stack, Explained
The five layers of a paid media reporting stack, from raw platform exports to a narrative people actually read, and where AI fits in the middle.
ReadQuestions we get
Straight answers.
Do you manage Local Services Ads or just Search?
Both, and that is the point. LSA and Search show up on the same results page for the same searches, so managing them separately means paying twice or losing the top of the page. We run them as one system with one budget logic.
How do you track lead quality, not just call volume?
We connect call tracking to your CRM or field service software so every call is matched to its outcome. Booked jobs flow back to the ad platforms as conversions, and junk leads get flagged and disputed. Over time the platforms optimize toward revenue, not ring volume.
Who owns the ad accounts and the data?
You do, always. The accounts, the tracking, the dashboards, and the naming conventions all live in your name. If we ever part ways, everything stays with you.
Do you produce the ad creative?
We do not produce creative in-house. When creative is the gap, we connect you with creative teams we trust and wire their work into the system. For Search and Local Services Ads, the work is mostly structure, copy, and feedback loops, and we handle all of that.
We are heading into our slow season. Should we wait to start?
The slow season is the best time to build. Wiring call tracking to outcomes, cleaning up geo targeting, and feeding conversion history to the platforms all take weeks to compound, and you want that learning finished before the first heat wave or freeze, not during it. Starting in the spike means fixing the plane mid-flight. Starting early means the system is trained when the phones light up.
Do we have to change our field service software or CRM?
No. We wire into what you already run, whether that is ServiceTitan, Housecall Pro, Jobber, or something homegrown. The requirement is simpler than any platform: somewhere, a person marks what each call became. If that record exists, we can connect it to the click that caused it.
Find out what is leaking before you spend another dollar.
One call. We learn what you are running and tell you the first move worth making.