You're spending $3,000-5,000/month on Google Ads. Your cost-per-click is $29. Your cost-per-lead is $153. And half those leads don't pick up the phone when you call back.
Sound familiar?
Here's the part nobody at the digital agency tells you: the problem isn't your ad copy. The problem is the channel itself.
The Math That Should Make You Angry
Let's run the numbers on a typical HVAC Google Ads campaign:
- Average CPC: $29
- Clicks to get one lead: 5-7
- Cost per lead: $145-$203
- Lead-to-job conversion: 15-25%
- Cost per booked job: $580-$1,350
On a $908 average repair job, you're barely breaking even. On a good month.
And that's before the real kick in the teeth: you're bidding against every other HVAC company in your zip code for the same homeowner who's already called three other shops.
Google Ads leads are bottom-funnel. That sounds good until you realize bottom-funnel means the customer is price-shopping. They called you, they called your competitor, and they called the guy on Thumbtack. You're competing on price for a lead you already paid $153 to get.
Why Shared Leads Are Even Worse
If Google Ads isn't bad enough, some contractors pay for shared leads through platforms like Angi.
The numbers:
- Cost per shared lead: $150-$300
- Number of contractors receiving the same lead: 3-5
- Your close rate on shared leads: 10-20%
That's a $750-$3,000 cost per booked job on shared leads. For an industry where the average repair is $908.
Read that again. You could be paying more to acquire the customer than the job is worth.
The Channel Nobody's Talking About
Here's what the top-performing HVAC companies in mid-size markets have figured out: the cheapest lead is the one that comes to you before they need emergency service.
Direct mail โ specifically handwritten postcards โ flips the HVAC marketing model on its head.
Instead of paying $29/click to reach someone who's already sweating in July with a broken AC, you reach homeowners 6-8 weeks before the season hits. Before they're desperate. Before they're price-shopping. Before your competitors have entered the picture.
The cost comparison:
| Channel | Cost Per Lead | Lead Quality | Close Rate |
|---|---|---|---|
| Google Ads | $153 | Price-shopping | 15-25% |
| Angi Shared | $150-300 | Shared with 3-5 shops | 10-20% |
| LSAs | $50-60/call | Better, but competitive | ~55% |
| Handwritten Direct Mail | $67 | Exclusive, pre-season | 40-60% |
That $67 lead number comes from real campaigns. At $1.35/postcard and a 2% response rate, you're generating exclusive leads that nobody else is calling.
Why Handwritten Beats Printed (By a Lot)
You've probably tried postcards before. You got a stack of glossy 6x9s from some print shop, blasted 5,000 to random addresses, got three calls, and decided "direct mail doesn't work."
That's because printed postcards are junk mail. Homeowners recognize them instantly and they go straight to the trash.
Handwritten postcards are different. When someone pulls a card out of their mailbox that looks like their neighbor wrote it, they read it. Every time.
Split-test data across 16,434 postcards showed handwritten cards generated a 5.4x higher response rate than printed. That's not a marginal improvement. That's a completely different marketing channel.
The HVAC Postcard That Actually Works
Here's the message structure that gets callbacks:
Line 1: Personalized opener (their name, their neighborhood) Line 2: The problem they don't know they have ("Most AC units lose 5% efficiency every year without maintenance") Line 3: Your specific offer (tune-up price, seasonal discount) Line 4: Urgency that's real, not fake ("We book up by mid-May every year") Line 5: How to respond (phone number, QR code)
Keep it under 150 words. Write it like a human being, not a marketing department.
The Timing Advantage
This is the part most HVAC contractors miss entirely.
80% of sales happen after the 5th contact. But most contractors send one mailer and quit.
The contractors crushing it with direct mail are running 3-touch campaigns:
- 8 weeks before season: "Hey, summer's coming. Here's our early-bird tune-up rate."
- 5 weeks before season: "Still haven't scheduled? Spots are filling up."
- 2 weeks before season: "Last chance for pre-season pricing."
Each touch costs $1.35. Three touches to the same 500 homeowners costs $2,025 total. If you book just 10 tune-ups at $150, that's $1,500 in immediate revenue โ plus the 30% of those customers who convert to a $3,000-$8,000 replacement within 12 months.
The lifetime math is where this gets ridiculous. A single HVAC customer is worth $15,000+ over their lifetime (biannual maintenance, repairs, eventual replacement, referrals). You're paying $6.75 in postcards to acquire a customer worth $15,000.
How to Test This for $135
You don't need to bet your whole marketing budget on this.
The $135 test:
- Pick 100 homeowners in a neighborhood with homes built 10-15 years ago
- Send a handwritten postcard offering a seasonal tune-up
- Track responses with a dedicated phone number or QR code
- At 2% response, you get 2 leads
- At a $908 average job value, that's $1,816 in revenue from $135 in postcards
If it works (and the data says it will), scale to 500, then 1,000, then make it a monthly habit.
Stop Renting Leads. Start Owning Your Pipeline.
Google Ads will always be an auction. Shared leads will always be shared. The cost will only go up because more HVAC companies keep piling into the same channels.
Direct mail โ especially handwritten โ is the one channel where your cost stays fixed and your results compound over time. Every postcard builds familiarity. Every touch increases your close rate. Every customer you acquire this way is yours, not shared with four other contractors.
Ready to run your first test? Mailbots.ai prints real pen-and-ink postcards starting at $1.35/card. Upload your list, write your message, and have postcards in mailboxes within days. No contracts. No monthly fees. No shared leads.

