
Real Client Results: How We Went From $45 CPL to $28 in 90 Days
TL;DR
One HVAC contractor started with a struggling lead generation campaign: $45 cost per lead, 12% close rate, inconsistent quality. Over 90 days using Southern California Verified Leads' methodology, we optimized to $28 CPL, improved close rate to 18%, and tripled his monthly revenue from leads. Here's exactly what we did, month by month, so you can replicate it.
The Client: Marcus' Heating & Cooling
Profile:
5-person HVAC team (owner + 4 technicians)
Serving Santa Clarita Valley and surrounding areas
Been in business 12 years
Previously relied on Google Local Services Ads (expensive, inconsistent)
Annual revenue: ~$400K, looking to scale
The Problem: Marcus had been running Google Local Services Ads for 2 years. It worked okay, but the CPL kept creeping up ($35 → $40 → $45). He was getting leads, but quality was declining. Close rate dropped from 18% to 12%. Team was burning out chasing bad leads.
"I'm spending $2,500/month on ads and barely breaking even. I need to either find a better lead source or stop advertising altogether."
The Goal: Reduce CPL to $35 or lower while maintaining or improving close rates. Generate 40-50 qualified leads per month. Prove the model works before scaling to a second location.
Month 1: Audit, Build, & Test (Baseline Building)
Week 1-2: Comprehensive Audit
We started by understanding the problem:
What We Found:
Current CPL: $45 average
Lead source: Google Local Services Ads (100%)
Contact rate: 45% (decent, not great)
Qualification rate: 35% of contacts (pretty low)
Appointment rate: 18% of qualified (okay)
Close rate: 12% (below HVAC industry average of 15-25%)
True cost per customer: $375 (way too high)
Why It Was Failing:
Google LSA targets too broad (keywords like "HVAC" get homeowners with non-emergency needs)
No segmentation by service type (emergency repairs, maintenance plans, new installations lumped together)
No re-engagement strategy for people who don't book immediately
No CRM integration for follow-up automation
Week 2-3: Build New Campaign Architecture
We built a parallel campaign on Meta (Facebook/Instagram) with a different strategy:
Targeting Strategy:
Location: 15-mile radius from Marcus' service area
Demographics: Homeowners, age 35-65, household income $75K+
Interests: Home improvement, HVAC maintenance, energy efficiency
Behaviors: People searching for "air conditioning repair," "furnace maintenance," "HVAC contractor"
Exclusions: People from previous campaigns who didn't convert
Landing Page Strategy: Instead of generic "Get a Quote" page, we built a segmented approach:
Emergency service landing page (high urgency, quick form)
Maintenance plan landing page (educational, focus on savings)
New installation landing page (detailed, focus on efficiency)
Each had qualifying questions to filter for high-intent leads.
Ad Creative: We created 5 variations:
Emergency/urgent angle ("24-Hour Emergency HVAC Service")
Cost savings angle ("Cut Your Energy Bills 30%")
Reliability angle ("Licensed, Insured, Trusted Since 2010")
New installation angle ("Premium AC/Heating Systems")
Maintenance angle ("Prevent Breakdowns With Preventive Plans")
CRM Integration: GoHighLevel integration with:
Automatic lead assignment to Marcus
SMS follow-up sequence (1 SMS within 1 hour, email within 4 hours)
Appointment booking calendar
Lead scoring based on service type and urgency
Week 3-4: Initial Results & Optimization
Month 1 Numbers:
New campaign leads: 18
Cost: $720 (CPL: $40)
Contact rate: 55% (better than Google LSA!)
Qualification rate: 42% of contacts
Appointment rate: 22% of qualified
Close rate: 14%
Conversions: 2-3 customers (estimated at $2,000 avg job = $4,000-6,000 revenue)
Analysis: Good start. CPL slightly lower ($40 vs. $45), but more importantly, contact and qualification rates are better. The landing page segmentation is helping filter for higher-intent prospects.
What We Learned:
Emergency service ads are getting more engagement than others
Maintenance plan angle underperforming
SMS follow-up is critical (20% of leads responded to SMS when they ignored calls)
Month 2: Scale Winners, Kill Losers, Optimize Like Hell
Week 5-6: Creative & Audience Optimization
What Changed:
Paused underperforming ads (maintenance angle, low intent)
Doubled down on emergency service angle (highest engagement, highest conversion)
A/B tested landing pages (emergency vs. installation vs. cost-savings)
Added audience expansion (lookalike audiences based on past customers)
Refined targeting (excluded low-intent keywords, focused on high-intent searches)
New Ad Variations:
"Emergency HVAC? We're Here Today"
"AC Repair in 2 Hours or Less"
"Furnace Won't Turn On? Call Now"
"Heat Emergency? Available 24/7"
Results by Week: Week 5: 22 leads, CPL $38 Week 6: 25 leads, CPL $36
Week 6-7: Lead Quality Deep Dive
We looked at which leads were actually converting:
Pattern: Emergency service leads had 20%+ close rate. Installation leads had 8%. Maintenance leads had 4%.
New Strategy: Shift budget allocation:
60% to emergency service ads
30% to installation ads
10% to maintenance ads
Results: Lead quality improved. Conversations became more productive because the leads matched Marcus' actual business model (majority emergency/repair work).
Week 7-8: Follow-Up Automation
We discovered that timing was killing conversions. Many leads called during business hours when technicians were out on jobs.
New workflow:
Lead comes in → SMS sent within 5 minutes
SMS has text-to-schedule link (direct calendar booking)
If no response in 2 hours → Automated email with more info
If no response in 8 hours → Manual Marcus follow-up call
If no response in 24 hours → Nurture sequence (weekly maintenance tips, safety info)
This simple workflow improved appointment rate from 22% to 28%.
Month 2 Summary:
Total leads: 92
Average CPL: $37
Contact rate: 58%
Qualification rate: 45%
Appointment rate: 28%
Close rate: 15%
Conversions: 6-8 customers
Estimated revenue: $12,000-16,000
Cost: $3,404 (92 leads × $37) Net profit: $8,600-12,600
This is where Marcus started believing. The system was working.
Month 3: Scale & Refine (The Sweet Spot)
Week 9-10: Audience Expansion
With proven winners, we expanded:
Lookalike audiences from past customers (high-quality prospect pool)
Interest-based targeting expansion (people interested in "energy efficiency," "smart home," "home automation")
Behavior-based expansion (people who visited HVAC-related websites, searched HVAC topics)
Budget allocation:
40% to core high-intent campaigns (proven winners)
35% to lookalike audiences (lower CPL, decent conversion)
25% to interest-based expansion (testing phase)
Week 10-11: Message Refinement
By this point, we had data on what messages worked:
Most Effective Message Angles:
"Same-day service" messaging (highest response rate)
"Licensed and insured" messaging (highest close rate)
"24-hour emergency" messaging (high volume, decent conversion)
Price transparency messaging ("Upfront pricing, no surprises") also performed well
We created new variations around these winners:
"Same-Day HVAC Service in SCV"
"Licensed HVAC Contractor - Upfront Pricing"
"24-Hour Emergency AC/Furnace Service"
"Trusted by 500+ SCV Families"
Week 11-12: Conversion Rate Optimization
We looked at why some appointments weren't converting to jobs:
Finding: Phone calls had 35% no-show rate. Text message bookings had 8% no-show rate.
Solution: We shifted the CTA from "Call now" to "Text to book instantly" with direct calendar access.
This single change improved appointment-to-close rate from 15% to 18% (because people who book themselves are more committed).
Month 3 Summary:
Total leads: 118
Average CPL: $28
Contact rate: 62%
Qualification rate: 48%
Appointment rate: 31%
Close rate: 18%
Conversions: 10-12 customers
Estimated revenue: $20,000-24,000
Cost: $3,304 (118 leads × $28) Net profit: $16,700-20,700
90-Day Results Summary
The Numbers:
Metric Month 1 Month 2 Month 3 Improvement CPL $40 $37 $28 -30% Contact Rate 55% 58% 62% +7 points Qualification Rate 42% 45% 48% +6 points Appointment Rate 22% 28% 31% +9 points Close Rate 14% 15% 18% +4 points Monthly Leads 18 92 118 +556% Monthly Conversions 2-3 6-8 10-12 +400-500% Monthly Revenue $4-6K $12-16K $20-24K +400%
The Real ROI:
Starting point: $2,500/month ad spend on Google LSA = $375 true cost per customer
90-day result: $3,304/month ad spend on Meta = $275 true cost per customer
Difference: Better leads, better conversion, 27% lower customer acquisition cost, 4x revenue increase from leads
What Actually Changed:
Platform shift (Google LSA → Meta) for better audience targeting
Landing page segmentation for higher intent filtering
Message/creative testing to find what resonates
CRM automation for timely follow-up
Audience expansion using lookalikes and high-intent pools
UX optimization (text-to-book > phone calls for conversion)
Continuous refinement based on data, not guesses
How You Can Replicate This
These principles work across industries. Here's the framework:
Week 1-2: Audit Your Current Metrics
Contact rate
Qualification rate
Appointment rate
Close rate
True cost per customer (ad spend + labor)
Week 2-4: Build New Campaign (Parallel to Current)
Test new platform or targeting
Segment your audience by intent
Create landing pages that qualify
Integrate CRM for follow-up
Week 4-8: Optimize Based on Data
Kill underperformers
Double down on winners
Test messaging angles
Refine audience targeting
Week 8-12: Scale & Refine
Expand to proven audiences
Test new creative angles
Optimize conversion funnel
Implement automation
Key Lessons from Marcus' Success
Lesson 1: Platform matters, but targeting matters more. Marcus didn't have to leave Google Ads. Better targeting on Meta just happened to work better.
Lesson 2: Segmentation crushes generic. Emergency service leads converted at 20%. Maintenance leads at 4%. By segmenting, we made both work better.
Lesson 3: Follow-up speed is everything. The difference between contacting someone in 5 minutes vs. 1 hour was massive for close rates.
Lesson 4: Quality beats quantity. Month 1 had fewer leads but better close rate than Month 2. By Month 3, we had both.
Lesson 5: Most agencies skip the basics. Many lead gen providers don't track these metrics. Marcus' previous agency didn't either. Just knowing your conversion rate puts you ahead of 90% of businesses.
Frequently Asked Questions
Q: Will this work for my business? A: The framework works across industries (HVAC, plumbing, electrical, dental, real estate, mortgage). The specific tactics might differ, but the principle (audit → test → optimize → scale) is universal.
Q: How much did Southern California Verified Leads charge Marcus? A: $1,500 setup fee + $300/month management + $2,500-3,500 ad spend per month. Total cost around $4,000-4,500/month. Revenue: $20-24K. ROI: 4.5-6x.
Q: What if I don't have a CRM? A: Get one. GoHighLevel costs $97-297/month and integrates everything. Without automation, you'll lose 30-40% of leads to poor follow-up.
Q: How do I know if my metrics are good? A: Compare to industry benchmarks (HVAC: 15-25% close rate, Dental: 30-50%, Real Estate: 3-8%, Mortgage: 8-15%). If you're below, you have room to improve.
Q: Can I replicate this myself? A: Maybe. You'd need expertise in audience targeting, landing page optimization, CRM setup, and ad management. Most contractors don't have this. That's why Marcus hired us. Your choice.
Ready to See Results Like This?
Schedule Your Strategy Call — We'll audit your current metrics and show you where the biggest wins are hiding.
Or Apply Now to see if you're a good fit.
