Cost Per Call and Cost Per Lead Are Not ROI
You run a Facebook ad. A contractor sees it. They either tap the call button or fill out a form. Your account logs a "cost per call" (CPC) or a "cost per lead" (CPL). You feel good because the number is low. Then your phone rings, or your email fills up—and the jobs don't follow.
This is the trap: CPC and CPL are metrics. ROI is an outcome. One is counting; the other is money. A $6 cost per call is not ROI if the caller is 500 miles away or has no budget. A $12 cost per lead is not ROI if the form submitter never picks up the phone.
The hard truth is that contractors optimizing for the lowest cost-per-metric are often losing money. They're chasing a number that feels clean and measurable instead of tracking what actually matters: jobs closed and profit margin.
In this guide, we'll separate the hype from the real data. You'll see why call-button campaigns attract different (often lower-quality) callers than form campaigns, how to spot when a cheap metric is actually costing you jobs, and the one number you should track instead.
Stop buying leads. Generate your own in 2 minutes.
Describe your business: the AI writes the copy, designs the visual, sets the targeting, and publishes your ad. Your leads — exclusive and far cheaper than a bought one — land straight in Leadria with a phone number, ready to call.
Try Leadria free7-day free trial — no credit card — cancel anytime
Cost Per Call vs. Cost Per Lead: The Mechanics
Cost per call (CPC): Facebook charges you each time someone clicks the green call button on your ad. They may spend 2 seconds on the page or immediately hang up. You still pay. In 2025, Facebook call-button clicks cost $0.80–$3.50 per click across most trades, depending on season, competition, and how tight your targeting is. A locksmith in Denver might pay $1.20 per call-button click; a roofer in Tampa pays $2.80 in May (storm season).
Cost per lead (CPL): Facebook charges you when someone submits a lead form (name, phone, email, service type). This is a more deliberate action. CPL ranges $8–$35 depending on trade and region. A heat pump installer in Minnesota might pay $14 per form; an electrician in Houston $22 per form. The form requires friction—typing—which filters out browsers.
The mistake most contractors make: they compare the two metrics directly. "My CPC is $1.50, but my CPL is $18—so I should use call buttons." Wrong. A $1.50 CPC that produces 1 job per 200 calls ($300 per job) is worse than an $18 CPL that produces 1 job per 4 leads ($72 per job). The metrics measure different things at different points in the funnel.
Why Call Buttons Attract Low-Quality Calls
Call buttons have zero friction. A user is scrolling. Your ad appears. One tap, and their phone rings. No form, no qualification, no commitment. This sounds efficient. It's often the opposite.
The data: Studies of contractor Facebook campaigns show 40–65% of call-button clicks never result in a conversation (call drops, busy signal, bad number, or hangup immediately). Of the calls that do connect, 30–50% are unqualified: the caller is not in your service area, cannot afford your service, or is just curious. A roofing company in Portland, Oregon might receive 150 call-button clicks per week at $2.40 each ($360/week). Of those, 90 connect. Of those, 27 are qualified. Cost per qualified call: $13.33.
Form leads, by contrast, require the prospect to type their phone number, describe their job, and hit submit. This self-filters. A higher percentage of form leads are intent-based: they spent 60–90 seconds deciding to reach out. Completion rates for lead forms average 8–15% (meaning 85–92% of people who see the form abandon it), but those who complete are 2–3x more likely to book a service.
Example: A plumber in Chicago runs two campaigns in parallel for one month:
- Campaign A (Call Button): 180 clicks @ $1.80 = $324 spend. 108 calls connect. 18 booked services. Cost per booking: $18.
- Campaign B (Lead Form): 450 form impressions, 40 form completions @ $8.10 per lead = $324 spend. 12 booked services (30% close rate). Cost per booking: $27.
The call-button campaign looks better (18 bookings vs. 12). But the plumber answered 108 calls, many from people with no real intent. His team spent 20+ hours on the phone. The form campaign required less labor and produced higher-quality leads. Over six months, if the plumber had run form ads, he would have spent the same but closed 72 jobs instead of 108 calls that were mostly noise.
The Regional and Trade Variation in Cost Per Lead
Your CPL depends on three factors: trade, region, and season. There is no universal "good" CPL.
By trade (2025 averages):
- HVAC: $10–$16 per lead (seasonal spike to $22 in July–August)
- Electrician: $12–$20 per lead
- Plumber: $15–$25 per lead
- Roofer: $14–$28 per lead (higher in storm season: May–August)
- Painter: $8–$14 per lead
- Landscaper: $6–$12 per lead
- Tree Service: $10–$18 per lead
- Locksmith: $5–$12 per lead
- Pest Control: $8–$16 per lead
For more specific benchmarks by trade, see cost per lead by trade 2025 benchmarks.
By region: A plumber in rural Montana pays $9–$12 per lead; a plumber in San Francisco Bay Area pays $28–$38 per lead. Population density, competition, and wealth all move the needle. Regional CPL variation can swing 200–300%.
By season: HVAC contractors see CPL jump 40–60% in summer. Roofers see CPL double after hail storms. January is the cheapest month for most trades (holiday slump). If you're paying $20 per lead in June for HVAC but your benchmark is $12, you're not failing—you're in peak season.
When Call Buttons Win (and When They Don't)
Call buttons are not always wrong. They work well in specific cases.
Call buttons work when:
- Emergency services: A 24/7 plumber or locksmith running ads at night. The person needs help now. One tap to call is friction-free and converts. Close rates are 20–40% because intent is immediate and high.
- Repeat customers: A cleaning service retargeting customers who booked before. They know your quality. The call button re-engages them. Close rates spike to 35–50%.
- Brand searches: Someone searching your company name on Facebook. They're already decided. Call button converts 25–45% of callers.
- High-intent keywords: "Emergency furnace repair" or "Burst pipe now." These callers have an urgent problem. Call button works. Close rate: 15–30%.
Call buttons fail when:
- Broad audience: You're targeting "homeowners age 35–65 interested in home improvement" with no keyword control. The audience includes browsers, DIY-ers, and tire-kickers. 60–75% of calls are unqualified.
- Non-emergency service: A kitchen remodeler using call buttons. Kitchen projects are planned, often researched, and rarely urgent. Prospects need to compare quotes and think. Call buttons force a conversation before they're ready. Close rates: 3–8%.
- No follow-up system: Your team doesn't answer during business hours or returns calls after 4 hours. Call button creates friction for you (missed calls) and frustration for the caller (no response). Leads go cold.
- Geographic mismatch: You're targeting a 5-mile radius but call-button clickers are 30% outside that radius (lookalike audience leakage). 1 in 3 calls is unserviceable.
Form Leads: Higher CPL, Higher Close Rate
Lead forms are slower to fill but higher intent. The prospect typed your address, described the job, confirmed their phone number. They're pre-qualified by their own effort.
Form lead mechanics: You publish a lead form on Facebook. When someone taps your ad, the form appears in-feed or in a modal window. They fill name, phone (sometimes email), and a custom question ("What service do you need?"). One tap to submit. Facebook charges you immediately (CPL) if the form completes.
Why form leads close higher: A form completion requires 45–120 seconds. The prospect must be intentional. This self-filters out 85–90% of unqualified browsers. The remaining 10–15% who complete are much more likely to answer their phone (74% vs. 45% for call-button leads) and much more likely to book (28–45% vs. 8–18% for call-button leads).
Example: An electrician in Austin runs a lead form campaign for 30 days. 680 leads @ $13 CPL = $8,840 spend. Close rate: 32%. Jobs booked: 218. Cost per job: $40.55.
Same electrician runs a call-button campaign. 420 calls @ $2.10 per click = $882 spend. Calls connect: 252. Qualified calls: 45. Booked jobs: 9. Cost per job: $98.
The form campaign cost 10x more in absolute spend but delivered 24x more jobs per dollar. This is why many contractors are shifting toward form leads.
Reducing form abandonment: Even if you choose forms, you'll lose leads. Forms with 3 or fewer fields average 12–18% completion. Forms with 5+ fields drop to 6–10%. To improve:
- Ask only for phone and service type (2 fields). Email can come later.
- Use a phone number mask (auto-format as the user types).
- Test the form on mobile—85% of your form submitters use phones.
- Use conditional logic: only show fields relevant to the selected service (e.g., "If roof repair selected, ask 'What's the issue?'")
- See email vs. phone form field comparison for data on which fields kill completion.
How to Actually Track ROI (Not Just CPC or CPL)
Stop looking at CPC and CPL in isolation. Track cost per job booked and cost per job closed (paid in full).
The formula:
- Total ad spend ÷ Total jobs booked = Cost per booking
- Total ad spend ÷ Total jobs closed and paid = Cost per closed job
- Average job profit ÷ Cost per closed job = ROI multiple
Example: An HVAC contractor spends $2,400 per month on Facebook ads. He tracks every lead source. In month 1:
- Call-button ads: 120 calls, 8 bookings ($300 spend per booking, 6.7% close rate)
- Form ads: 45 leads, 14 bookings ($171 spend per booking, 31% close rate)
- Total: 22 bookings from $2,400 ad spend = $109 cost per booking
He then follows up. Of the 22 bookings, 18 convert to actual jobs (81% of bookings close). Cost per closed job: $133.
His average HVAC job profit is $800 (after labor, materials, overhead). ROI: $800 ÷ $133 = 6x. For every dollar spent on ads, he makes $6 profit. This is good. He scales up.
To track this, use a CRM synced to Facebook Lead Ads so every form submission auto-logs. Add a custom field to mark "booked" and "closed + paid." At month-end, run the calculation. You'll see that form ads cost less per closed job even if they cost more per lead.
When Facebook Ads Cost Per Lead Doesn't Predict ROI
Even if you nail the formula, CPL-based ROI can mislead. Here are the cases where CPL metrics fail:
1. Long sales cycles (consultative services): A roofing inspector might generate a form lead (CPL = $16). But the homeowner is still deciding between three roofers. The close takes 3–4 weeks. By then, your "cost per lead" is stale. The true ROI depends on your close rate and average job value, not CPL.
2. Seasonal no-shows: An HVAC contractor gets 40 winter leads (CPL = $11). Only 28 turn into scheduled service calls. Of those, 24 show up. Of those, 20 close. His real cost per closed job is $22 (not $11), and he wasted time and dispatch on no-shows. If he doesn't track show rate, he thinks his CPL is good when his ROI is poor.
3. Low-intent audiences at scale: You lower your geographic targeting from 3 miles to 15 miles to hit a lower CPL ($9 vs. $16). Your form volume doubles. But 30% of those leads are outside your service area or unqualified. You're burning time on follow-up. Real cost per qualified lead: $13, not $9. If you don't track qualification by source, you'll keep overspending.
4. Cheap leads that don't close: A locksmith in a rural market pays $4 per lead (very low). But his close rate is 6% because the market is small and tire-kickers abound. His cost per closed job is $67. A locksmith in a dense suburb pays $9 per lead but closes 40% of the time. Cost per closed job: $22.50. Cheap CPL does not equal ROI.
5. High-conversion landing pages mask bad targeting: Your Facebook CPL is $20, but your landing page converts form starters to phone-call confirmations at 65% (not typical; average is 15–25%). The high landing-page conversion can hide the fact that you're targeting the wrong audience. You're just spending more on ads to reach fewer, slightly-more-committed people.
The lesson: Use CPL or CPC as a monitoring metric (it helps you spot if your campaign is getting more expensive month-over-month), but never optimize solely on it. Always close the loop: measure bookings, no-shows, close rate, and profit per ad dollar. Use an ROI calculator that factors in your close rate, not just CPL.
Call Tracking and Lead Quality Scoring
If you run both call-button and form-lead campaigns, you need to know which is actually profitable. Use call tracking numbers to measure quality.
Call tracking setup: Assign a unique phone number (or extension) to each ad campaign. When a call comes in, it rings to your main line but logs to the call-tracking provider. After the call, you manually mark it "booked" or "not qualified." Over a month, you'll see:
- Campaign A (call button, 200 clicks @ $2.00 = $400): 120 calls, 8 booked. Cost per booking: $50. Close rate: 6.7%.
- Campaign B (form, 50 leads @ $8.00 = $400): 50 leads, 15 booked. Cost per booking: $27. Close rate: 30%.
Now you know: form ads are 1.85x more expensive per click but 2.2x cheaper per booking. You reallocate budget to forms. See call tracking setup without a developer to automate this.
The Honest Reality: When Facebook Ads Don't Work
Not every contractor wins on Facebook ads, no matter how low the CPL goes.
Facebook ads fail when:
- Market is too small: You're a locksmith serving a rural county (population 8,000). Facebook's minimum audience is ~1,000 people in your targeting parameters, and you'll pay a premium for such a small pool. CPL might be $6, but you'll exhaust your market in 2 weeks and see no leads after that. Better channel: local Google Maps, Yelp, or local partnerships.
- Competitor dominance: There are 40 roofers in your metro area, and 15 of them are already running Facebook ads with big budgets. Your $500/month budget gets outbid. You pay $35 CPL and get no leads. You can't compete on budget. Better channel: Google Local Services Ads (you pay only for qualified leads) or a comparison of Facebook vs. Google Local Services.
- Your service is commoditized or price-based: You're a house painter competing on cost alone. Every lead is price-shopping. 80% of form leads never call back because they found someone cheaper on Craigslist. CPL is low ($7) but close rate is 2%. Not worth it. Better channel: Angie's List, Thumbtack, or local referral networks.
- Poor follow-up systems: You get 30 leads per week (CPL = $12) but only call back 50% in the first 4 hours. The other 50% call back the next day and get voicemail. Your close rate is 8%. If you'd call back within 15 minutes, your close rate would be 35%. CPL is not the problem; your operations are. Fix follow-up before scaling ads.
- No brand credibility: You're a new contractor with no reviews, no website, no Google rating. Leads see your ad and think "Who is this?" No-show rate is 50%; close rate is 3%. Spend 6 months building Google reviews, a simple website, and local credibility before running paid ads. ROI is negative until you have social proof.
Test Facebook ads on a small budget first: Run a $300–$500 test campaign (7–10 days) before committing to a $2,000+ monthly spend. If you can't close at least 1 job per $50–$100 in ad spend during the test, pause and investigate the reason (follow-up, targeting, creative, landing page, credibility). Don't scale a losing formula.
How Leadria Fits In: Generating Your Own Leads
Most contractors buy leads from Facebook, Google, or lead-aggregator platforms (Angie's List, Thumbtack). You're buying access to audiences you don't own. Your CPL is subject to seasonal price swings, and your leads are sometimes shared (a lead aggregator sells the same job to 3–5 contractors).
An alternative: generate your own leads directly from your audience using an AI ad generator that writes copy, designs the visual, sets targeting, and publishes the ad to your own Facebook account in minutes. You own the lead list, control the follow-up, and skip the middleman markup.
With Leadria, you describe your business (trade, location, service), and the AI generates a complete Facebook ad campaign. Leads arrive with a phone number in your own CRM, ready to call. No monthly agency fees. No shared leads. A 7-day free trial requires no credit card. The time to generate a new ad campaign: about 2 minutes. Your CPL is determined by your targeting and budget, not inflated by a platform broker.
For deeper context on whether generating your own ads makes sense, read Facebook ads worth it for small business.
