Digital Handshake Media "Book call now" badge
A person reviewing ad spend and lead data on a tablet, standing in for a contractor checking what a rising cost per lead is doing to a job's margin.

Guide · updated 2026-09-19

Why Google Local Services Ads are becoming a margin killer for HVAC & plumbing

LSA still sends real calls. That part hasn't changed. What's changed is how hard it is to know what each call will cost you before it happens, and that's a bad mix with a trade that already runs on thin margins.

Quick answer

Google Local Services Ads (LSA) charge you per lead, not per click, and the price isn't fixed. It's set by an auction that moves with your trade, your city, and the season, and Google doesn't publish a rate card. In 2025, Google also removed the one fixed rule that let you predict part of that cost: message leads used to be priced at exactly half of a phone lead, and that rule is gone, replaced with "typically lower, but not always." HVAC and plumbing shops already run on thin margins after materials, labor, fuel, and overhead. When a channel's cost per lead can move without warning and without a formula, it's the margin that absorbs the difference, not the price you charge the customer. An owned Google Map Pack ranking doesn't have this problem: once it's built, the same call from the same customer costs nothing extra.

By the numbers

  • LSA pricing is an auction, not a rate card. Google does not publish a flat price per lead. Cost moves with your trade, your market, and the season, so two shops in different cities never pay the same amount for the same kind of job. GOOGLE DOCUMENTED
  • The one fixed pricing rule got removed. Google's own help documentation used to state that a message lead is priced at exactly 50% of the matching phone lead. That line was rewritten to say a message lead is "typically priced lower than the corresponding phone lead price, although that's not always the case." A guaranteed ratio became an estimate. GOOGLE DOCUMENTED
  • LSA is being folded into Performance Max. Starting in phases from August 2026, Google is moving LSA accounts into Performance Max campaigns. Manual bidding and vertical-level Target CPA go away, and weekly budgets convert to daily averages, full detail on our LSA page. GOOGLE DOCUMENTED
  • Trade margins are already thin. Accountants and coaches who work with HVAC and plumbing shops consistently describe net margin, what's left after materials, labor, fuel, and overhead, as thin, often in the single digits to low teens. A single, precise industry-wide percentage isn't something we can verify to a primary source, so we won't repeat one as fact. But the direction is not in dispute: there isn't much room left to absorb a rising cost per lead. DHM INTERPRETATION
  • An owned ranking has no per-call bill. Once a Map Pack ranking is built, the same call from the same customer doesn't cost anything extra the second, tenth, or hundredth time it happens. DHM INTERPRETATION
A contractor checking a phone call on a job site, standing in for the moment a paid lead either books a job or doesn't.
Every one of these calls has a price tag now. The question this guide answers is whether that price tag is shrinking your margin or just your ad budget.

What changed in how Google prices a lead

None of these changes make LSA stop working. They make it harder to predict what a lead will cost before you're already charged for it, which is a different problem, and a more expensive one over time.

How LSA's pricing rules changed between 2024 and 2026.
What you're pricingThe old ruleThe rule now
A message lead vs. a phone leadFixed at 50% of the matching phone lead price"Typically lower," no fixed ratio published
How you set your bidManual bidding and a Target CPA you set yourselfRemoved as accounts move into Performance Max, phased from August 2026
Your weekly budgetA weekly average you controlled directlyConverts to a daily average under Performance Max
A spam or wrong-number leadDisputable for a creditStill disputable for a credit, this part hasn't changed

A worked example (illustrative, not a claim about any real business)

This is a simple, made-up example to show the shape of the math, not a study or a prediction of your own cost per lead. Real numbers vary by trade, city, and how the account is run.

Illustrative example only: what a rising cost per lead does to a fixed job margin.
JobAverage job profit (example)Lead cost (example)Profit left after the lead (example)
Year one$400$60$340
Year two, lead cost up a third$400$80$320
Year three, lead cost up a third again$400$105$295

The job profit didn't change in this example. The lead cost did, because it's set by an auction, not by you. Every dollar that auction adds comes straight out of the same profit line, since the price you charge the customer usually can't move as fast as an auction can.

Three real objections we hear about LSA cost

A strong close rate is real and worth keeping. It just doesn't fix the underlying problem: the cost of each lead you're closing can still climb on its own, on Google's auction and Google's schedule, regardless of how good you are at booking the call once it comes in.

Raising your bid usually buys more leads, not a lower price per lead, since it's an auction against other bidders in your trade and city. And once your account moves into Performance Max, the manual bid control that used to let you set that ceiling yourself goes away.

It has worked, and for many shops it still should keep running. The point isn't to drop it. It's that a channel with a rising, less predictable cost is a poor place to keep 100% of your lead volume, when a Map Pack ranking sitting next to it has no per-call bill at all.

What to do instead of just watching the cost climb

  1. Keep LSA running. It's still a real source of calls. The fix isn't to shut it off, it's to stop depending on it alone.
  2. Track cost per booked job, not cost per lead. A lead that doesn't book still cost you money. The number that matters is what you paid for the jobs you actually won.
  3. Build the owned side underneath it. A Google Business Profile and a Map Pack ranking take longer to build than turning on a campaign, but they don't carry a per-call bill once they're in place. That trade-off is covered in full in the lead gen trap guide.
  4. Re-check the split at the 12-week mark. That's the point to compare what LSA actually cost you against what the organic side is starting to produce, using your own numbers, not the example above.

Questions we get

Frequently asked questions

Is Google Local Services Ads a bad investment for HVAC and plumbing?

No. It's still a real source of calls for many shops. The point of this guide is narrower: its cost per lead isn't fixed, it can rise without warning, and that's a harder fit for a trade that already runs on thin margins than most agencies admit.

Why did Google remove the 50% pricing rule for message leads?

Google hasn't published a stated reason. What changed is documented: the help page went from a fixed 50%-of-phone-lead formula to language that says a message lead is typically priced lower, but not always, which removed the one number contractors could plan around.

Will moving to Performance Max make LSA cost more?

Google hasn't published a cost prediction for the migration. What's documented is that manual bidding and vertical-level Target CPA go away, and weekly budgets convert to daily averages, which is less direct control over spend than before, not necessarily a higher price by itself.

Should I cancel LSA and just focus on the Map Pack?

Not on day one. Most shops need both while an owned ranking is being built. The shift is gradual: keep the working channel running, and move weight toward the ranking as it starts producing calls without a per-lead bill attached.

How do I know if LSA is actually hurting my margin?

Track cost per booked job over several months, not cost per lead in a single week. If that number is climbing while your job pricing hasn't moved, the auction is doing what auctions do, and your margin is absorbing the gap.

What can I dispute if an LSA lead was bad?

Google's own process still allows a dispute for a credit on leads that are spam, a wrong number, or outside your service area. That part of the system hasn't changed, only the pricing predictability around it has.

Sources

  1. Google Local Services Help, How leads work: pay-per-lead, auction-based charging, and how message lead pricing is estimated relative to phone leads.
  2. Google Ads Help, Local Services Ads transition to Performance Max campaigns: phased migration timeline from August 2026 and what changes for advertisers.
  3. Full detail on LSA verification, badges, and the Performance Max migration on our Local Services Ads page.

Cost-per-lead dollar figures circulating on agency blogs are unverified estimates, not Google-published pricing, and are not repeated here as fact. Trade profit margins are described qualitatively for the same reason: no single primary source publishes one authoritative, current figure for HVAC and plumbing net margin. The worked example in this guide is illustrative only and uses made-up numbers to show the shape of the math, not real performance data.

Read next

Where to go from here

Next step

Want to see what a rented lead is actually costing you?

The free audit reads your current owned-versus-rented mix and gives you a real geo-grid baseline to measure against, not a guess.

Or call 778-200-8644 · One client per industry, per area · No guaranteed rankings