Facebook Ads for Home Services: What I've Learned Running Campaigns for Plumbers, HVAC Techs, and Roofers

Home service ads on Facebook sell appointments, not products. Targeting is hyper-local, creative needs to feel like a neighbor's recommendation, and lead forms beat landing pages by 40-60% on cost per lead. These notes come from about $280K in spend across 15+ home service accounts over two years.

Most Facebook Ads advice targets DTC brands and SaaS companies. Try "scale your lookalikes" on a plumber serving a 30-mile radius and you'll burn through budget in a week. I learned this early when I took on my first HVAC client in Phoenix. Ran the same lookalike strategy I'd been using for a supplement brand. Two weeks in, $1,800 gone, four leads. Three were outside his service area.

Home services run under tighter constraints. Your service area is tiny. Your customer needs the service right now or not at all. The average ticket ranges from $150 for a drain unclog to $12,000 for a full HVAC replacement. And your client, the business owner, usually has no idea what a "conversion event" is and doesn't care to learn. They want the phone to ring.

Why home services play by different rules on Facebook

Nobody wakes up wanting to hire a plumber. They wake up with a flooded bathroom.

Your audience splits into two groups:

Emergency buyers - pipe burst, AC died in August, roof leaking. They need someone today. Google Ads owns this because search intent is explicit. Facebook can't win "I need a plumber right now."

Planned buyers - thinking about a kitchen remodel, AC getting old, some shingles looking rough. They're weighing options, haven't started searching yet. Facebook reaches them while they're still open to picking a provider, before they type anything into Google.

Most agencies I've taken accounts over from were trying to capture emergency demand on Facebook. One roofing company in Colorado was spending $3K/month targeting "roof repair" interests with "Call us 24/7" messaging. Their CPL was $94. We shifted the angle to "Free roof inspection before winter - your insurance may cover replacement" and CPL dropped to $38 within three weeks. Same budget, same geo, different understanding of what Facebook does well.

Home Service Demand: Where Each Platform Wins Google Ads Territory Emergency / High Intent "plumber near me now" "AC repair emergency" "roof leak fix today" Typical CPL: $35-80 Close rate: 25-40% Best for: urgent need, same-day jobs Facebook Ads Territory Planned / Consideration "AC is 12 years old, probably should..." "Roof looks rough after that storm" "Yard needs a total redo this spring" Typical CPL: $15-45 Close rate: 20-35% Best for: maintenance, upgrades, seasonal
Google captures "I need help now." Facebook captures "I should probably deal with this."

Targeting for local services

Forget broad interests and detailed targeting expansion. For home services, targeting is straightforward, and the constraints are different from what you're used to.

Geography first. Most home service businesses cover a 15-40 mile radius. I set radius targeting centered on the business address, then exclude zip codes the client won't service. On one account in Houston, this single change - cutting the radius from 50 miles to 25 - dropped CPL from $41 to $23. Half the leads had been coming from suburbs the crew wouldn't drive to.

Age bracket. Homeowners skew 28-65. For HVAC replacement campaigns ($8K-15K tickets), push that to 35-65. First-time homebuyers don't replace HVAC systems. People who've owned homes for 10+ years do. I've pulled the age breakdown on closed deals from three HVAC clients and the 35-54 bracket accounts for 60-70% of replacement revenue.

The homeowner signal. Facebook removed explicit "homeowner" targeting years ago, but you can approximate it:

One campaign per service line. Don't bundle plumbing and HVAC into one campaign. A person who needs drain cleaning doesn't care about your furnace tune-up. I know it feels like more work. It is. But the performance gap is 30-50% on CPL in our accounts.

A typical HVAC company structure:

CampaignObjectiveServiceMonthly Budget
HVAC-MaintenanceLeadsAC Tune-up $79$1,200
HVAC-ReplacementLeadsSystem Replacement$2,500
HVAC-EmergencyLeads24/7 Repair$800
HVAC-RetargetLeadsAll Services$600

Total: ~$5,100/month for an HVAC company doing $1.5M-3M annual revenue. If that sounds like a lot for a local business, the math section below breaks down what it returns.

Creative that converts for home services

I've tested hundreds of creatives across these accounts. Some patterns held up across plumbing, roofing, HVAC, and landscaping. Others surprised me.

What works:

What falls flat:

The best-performing format I've found: a 30-second vertical video of the owner standing next to a completed job. Something like "Finished this roof replacement in [neighborhood]. 30-year warranty, took us two days. If your roof is over 15 years old, we're doing free inspections this month." I've run it head-to-head against polished creative in six accounts and it won on CPL by 2-3x in five of them. The exception was a high-end landscaping company where polished design photography matched the brand.

One thing that took me a while to accept: ugly ads outperform pretty ads in this space. A blurry before/after shot from a real job site pulls more leads than a professional photoshoot. Your client might hate how the ad looks. Show them the numbers.

Lead forms vs. landing pages

I expected landing pages to win in home services. Higher intent, more information, better qualification. That's the pattern in SaaS and e-commerce.

The data disagreed.

Across 12 home service accounts over the past year, Facebook Lead Ads beat landing page campaigns on cost-per-lead by an average of 47%. I was skeptical at first. Ran it as a proper split in a few accounts before I believed it.

Numbers from a plumbing company in Dallas-Fort Worth (Q4 2025):

MetricLead FormLanding Page
CPL$18.40$34.20
Lead Volume (30 days)12768
Valid Contact Rate72%84%
Booked Appointment Rate31%38%
Cost per Booked Appt$82$119

The landing page produced better lead quality - higher valid contact rate and more bookings per lead. But the lead form generated so many more leads at low enough cost that it won on the metric that matters: cost per booked appointment. $82 vs. $119.

Two things make lead forms work in this space. First, keep them short. Name, phone number, and ONE qualifying question ("What service do you need?" with 3-4 options). Each extra field drops completion rate by 15-20%. I tested adding a "preferred time" dropdown for an electrician and completion rate fell from 34% to 22%. Not worth it.

Second, and this one kills more campaigns than bad creative: speed-to-lead. I tracked response times across eight accounts for a month. When the business called within 5 minutes of the lead coming in, booking rate hit 45-55%. After 30 minutes, 20-25%. After 2 hours, 8-12%. The leads aren't bad. The follow-up is slow. If your client checks their leads once a day at 5pm, you're wasting half the budget.

Speed-to-Lead vs. Booking Rate (8 Home Service Accounts) 50% 35% 20% 10% 5% 45-55% < 5 min 30-35% 5-15 min 20-25% 30 min 8-12% 2+ hours Response Time After Lead Submission
Call within 5 minutes or lose half your bookings. This pattern held across plumbing, HVAC, and electrical accounts.

Budget benchmarks for local service businesses

I get this question more than any other. It depends on the market, the competition, and how many service areas the business covers. But these ranges give you a baseline.

CPL benchmarks across home services, 2025-2026 (US, Tier-1 metros):

ServiceAverage CPLTypical TicketTarget ROAS
Plumbing (general)$22-35$250-8005-8x
HVAC Maintenance$15-28$79-1503-5x
HVAC Replacement$45-85$6,000-15,00020-50x
Roofing$35-70$8,000-25,00015-40x
Electrical$25-45$200-2,0005-10x
Landscaping$12-25$150-5,0004-8x
Pest Control$10-20$100-4004-7x
Cleaning$8-18$120-3004-6x

For a business doing $1-3M in revenue, start at $2,000-5,000/month on Facebook. Below $2K you don't collect enough data to optimize, and your algorithm stays in learning phase longer than it should.

Quick math for a plumber: $3,000 monthly spend at $28 CPL = ~107 leads. At 30% booking rate = 32 jobs. At $400 average ticket = $12,800 revenue. That's 4.3x ROAS before repeat business and referrals. One $8K repiping job in that batch and your return jumps to 6-7x.

Retargeting: the 90-day window

Most home service retargeting I've inherited runs one audience - "everyone who visited the website" - with a generic "still need help?" ad. That doesn't do much.

Service-specific retargeting performs better. Someone who visited your AC repair page gets AC repair ads. Drain cleaning page visitor gets drain cleaning ads. Sounds obvious written out, but I've taken over accounts from agencies charging $3K/month that didn't do this.

The 7/30/90 day stack. I break retargeting into three windows:

After 90 days I drop them. Three months is enough time - if someone didn't book, they fixed it themselves, hired someone else, or decided they can live with it.

Budget split: 15-20% of total goes to retargeting. For a $4,000/month account that's $600-800. Across our accounts it produces better cost-per-appointment than prospecting campaigns, which makes sense. These people already showed interest.

Seasonal patterns

Home services swing harder by season than any vertical I work in. Ignore the cycle and you'll overspend in slow months and miss the wave in busy ones.

HVAC: Peaks in May-June (AC season) and October-November (heating season). January-February drops off hard. I cut HVAC budgets by 40-50% in the off-season and shift that money into maintenance/tune-up campaigns. One client wanted to keep $5K/month running in January. We compromised at $2K and spent the rest building a maintenance contract list for spring. Better use of the money.

Roofing: Spring (March-May) is booking season after winter damage reveals itself. Secondary peak in fall before winter hits again. Summer? The crews are too busy doing jobs to need more leads. I've had roofing clients ask me to pause campaigns in July because they're booked out eight weeks.

Plumbing: Steady year-round. Spike in November-December from holiday hosting stress and frozen pipes in cold markets. The most recession-proof home service in my experience.

Landscaping: March-June is the rush. July-August is maintenance mode. September-October covers fall cleanup. Winter goes quiet unless they do snow removal.

I map these cycles into the annual plan on day one. A $4K/month client isn't spending $4K each month. It's $5,500 in May and $2,200 in January, same annual total, different allocation.

Tracking for service businesses

Most home service businesses book appointments over the phone. No checkout funnel, no add-to-cart events. That makes tracking harder, but if you skip it you're flying blind.

The setup I use:

  1. Facebook Pixel on the website with standard events (Lead, Contact, SubmitApplication)
  2. Conversions API via server-side (or LeadsBridge if the client doesn't have a developer)
  3. Call tracking with a dedicated number per campaign (CallRail or WhatConverts)
  4. CRM integration to follow leads through to completed jobs

Call tracking is where most agencies drop the ball. I've audited accounts where 60% of leads came through phone calls and the agency was optimizing based on form submissions alone. When I plugged in CallRail on one plumbing account, reported conversions doubled overnight. The ads hadn't changed - we'd started counting the phone calls that were always happening.

Offline conversion uploads are worth the setup time for high-ticket services. When you send a closed $12K HVAC replacement back to Facebook, it shifts optimization toward finding buyers at that price range. Without it, Facebook optimizes for the cheapest lead, which tends to be the tire-kicker filling out forms from the couch with no intention of booking.

Common mistakes in home service accounts

I've audited 30-40 of these accounts. Same problems, over and over:

1. One campaign for all services. A plumber running one campaign for drain cleaning, water heater installation, and repiping. These attract different customers with different urgency and budgets. Split them.

2. No call tracking. You're blind to 40-70% of your conversions. Without it you're optimizing with half the data.

3. Too-wide geography. Targeting the entire metro when the business covers a 20-mile radius. You're paying for clicks from people your client will never serve.

4. Wrong objective. Running Traffic or Engagement campaigns instead of Lead Generation. Engagement gets likes from people who will never hire a plumber. I see this one at least twice a month in audits.

5. No speed-to-lead process. Leads sitting in a Facebook notification tab for six hours. Connect the lead form to the business phone or CRM for instant notification. Zapier to SMS takes 10 minutes to set up and saves thousands in wasted leads.

6. Quitting too early. "We tried Facebook for two weeks and it didn't work." Two weeks at $500 produces 20-30 leads. That's a coin flip. Budget 60-90 days with proper spend before you decide.

FAQ

How much should a plumber spend on Facebook Ads?

For a solo operator or small team, $1,500-3,000/month is the minimum in a mid-sized US market. You need enough volume - 50+ leads per month - so the algorithm has data to optimize against. At $500/month you'll get 15-20 leads, not enough to draw conclusions from.

Do Facebook Ads work for emergency services?

For true emergencies (burst pipe, no heat in winter), Google Ads and Google Local Services Ads outperform Facebook because search intent is explicit. Facebook works for planned services: maintenance contracts, upgrades, seasonal prep. It also keeps your company visible, so when the emergency happens, you're the name they remember.

Should I use Advantage+ for home service campaigns?

I've tested Advantage+ Shopping for home services. It doesn't fit. The catalog structure targets products. For services, stick with standard Leads objective campaigns. Advantage+ Audience (the targeting expansion toggle) can help for broader service areas, but turn it off for hyper-local campaigns under a 20-mile radius - it tends to push outside your geo.

Cost per booked appointment by service type?

Cleaning and pest control: $35-60. General plumbing: $60-100. HVAC maintenance: $40-80. HVAC replacement and roofing: $150-350. These assume decent creative, tight geo targeting, and someone calling leads within 15 minutes. Miss any of those and your numbers will be worse.

How do I handle a client who wants ROAS but only tracks phone calls?

Set up call tracking with dynamic number insertion (CallRail or similar). Tag each campaign with a unique number. Track which calls convert to booked jobs. Upload closed-won revenue back to Facebook as offline conversions. Takes 2-3 hours to set up. Transforms reporting from "I think it's working" to real ROAS numbers your client can compare against their other marketing.

Bottom line

Home service Facebook Ads follow a different playbook from e-commerce or SaaS. Hyper-local targeting, honest creative that looks like a neighbor's referral, lead forms over landing pages for most services, and a follow-up process that calls leads within five minutes. Businesses that handle these basics pull 4-8x ROAS in competitive metros. The ones that struggle almost always have a follow-up problem. The ads bring the leads. If nobody picks up the phone for two hours, the best campaign in the world can't fix that.