If you ask ten HVAC owners where their leads come from, nine will say Google Ads. The tenth one will say Google Ads and "word of mouth." Both answers usually mean the same thing: nobody's measuring.
When you actually wire revenue from your FSM back to the campaign that booked it, the channel mix that wins almost never matches the channel mix you're spending on.
How we rank channels
We weight every channel on three factors:
- Booked-job CAC — not lead cost, not appointment cost. The cost to book a job that actually ran a truck.
- Capacity fit — whether the channel produces leads at a rate your dispatch can absorb without burning techs out.
- Defensibility — how hard it is for the operator down the street to copy your position.
The ranking
- Local Services Ads — Lowest booked-job CAC in 8 of 10 service areas we audit. The "Google Guaranteed" badge does the heavy lifting; you're paying for trust as much as intent.
- SEO — Slow to start, cheapest at maturity. The defensibility score is unmatched; rankings compound while ad spend doesn't.
- Paid search — Still essential, but no longer the king. Use it to fill capacity gaps Local Services can't cover.
- Directories — Yelp, Angi, Thumbtack. Good for fill, terrible for margin. Cap spend here.
- Social — Meta and TikTok work for emergency-adjacent jobs (water damage, "no heat") and almost nothing else.
- Content marketing — Last on the list, first to get cut. Skip it unless your SEO is mature and you have a real CMS strategy.
What changes when you measure correctly
The first thing operators do after connecting their FSM to channel-level revenue is cut their paid search budget by 20–30%. Not because paid search is bad — because the leads it produced weren't actually the leads booking the jobs.
The second thing they do is double Local Services spend. Every time.