The Cost-Per-Job Lie Marketplaces Hide

Most contractors compare lead sources by cost-per-lead. That is the wrong number. The only metric that matters is cost per signed job — and when you run the math, the gap between shared marketplace leads and exclusive owned-channel leads becomes obvious. Here is the complete breakdown with worked examples for every major trade.
The formula is simple:
(Cost per lead) ÷ (Close rate) = Cost per signed job
Example: $80 per Angi lead at 10% close rate = $800 per signed job. This is the only number that matters for ROI decisions. A $40 shared lead that closes at 5% costs you $800 per job. A $120 exclusive lead that closes at 30% costs you $400 per job. The "cheaper" lead actually costs 2x more. See exclusive vs shared remodeling leads.
Cost per lead is what you pay to receive the homeowner''s contact info. Cost per job is what you actually pay to close one booked, signed contract. The difference is close rate — and close rate varies dramatically:
- Shared marketplace leads (Angi, HomeAdvisor, Thumbtack): 5-15% close rate because 3-5 contractors compete on every lead
- Exclusive owned-channel leads (LSAs, SEO, GBP): 25-45% close rate because the homeowner chose you specifically
Because of this gap, exclusive leads can cost 2-3x more per lead and still produce dramatically lower cost per signed job. See marketplace leads vs owned engine.
Benchmarks vary by trade:
- Handyman / small repair: $50-$200 per job
- Plumbing service: $100-$300 per job
- HVAC service: $150-$400 per job
- Roofing: $300-$800 per job
- Kitchen / bath remodel: $500-$1,500 per job
- Whole-home remodel: $1,000-$3,000 per job
These are healthy ranges for sustainable margins. Marketplace leads frequently push cost per signed job 2-5x above these benchmarks. See contractor lead costs by trade.
The Universal Formula
For every lead source, calculate three numbers:
- Cost per lead (CPL) = total spend ÷ leads received
- Close rate = jobs signed ÷ leads received
- Cost per signed job (CPJ) = CPL ÷ close rate, or total spend ÷ jobs signed
Track CPJ monthly per channel. Anything above your healthy-range benchmark is bleeding profit. Anything below is scalable spend.
Worked Example: Roofing
Scenario A — Marketplace Leads (Angi):
- Per-lead cost: $80 (shared with 4 other pros)
- Monthly spend: $1,600 = 20 leads
- Close rate: 10%
- Jobs signed: 2
- True cost per signed job: $800
On a $12K average roof at 25% gross margin = $3,000 gross profit per roof. After marketing cost of $800: net $2,200 per roof × 2 roofs = $4,400/mo before payroll, materials, overhead.
Scenario B — Owned Lead Engine:
- Per-lead cost: $50 average (mix of LSAs $80, SEO $0, Google Ads $60)
- Monthly spend: $500 on 10 exclusive leads
- Close rate: 30%
- Jobs signed: 3
- True cost per signed job: $167
Same $12K roof, 25% margin, $3,000 gross profit. After marketing cost of $167: net $2,833 per roof × 3 roofs = $8,499/mo. Same trade, $4,000+ more monthly profit on lower marketing spend.
See roofing lead cost by source.
Worked Example: HVAC Service
HomeAdvisor: $45/lead × 12% close rate = $375 per signed job. 20 leads = 2-3 jobs.
Owned Engine (LSAs + GBP + SEO): $30 avg × 35% close = $86 per signed job. 20 exclusive leads = 7 jobs.
HVAC owned engine produces 3x the jobs at 4x lower cost per signed job. See HVAC SEO.
Worked Example: Kitchen Remodel
Thumbtack: $75/contact × 60% reply rate × 8% close = $1,500 per signed remodel.
Owned Engine: $80 avg × 25% close = $267-$400 per signed remodel.
On a $50K average remodel at 22% margin = $11,000 gross profit. The $1,100+ difference per job in marketing cost = pure margin lift.
Worked Example: Plumbing Service
Angi: $35/lead × 15% close = $233 per signed job.
Owned Engine: $25 avg × 40% close = $63 per signed job. 8 jobs vs 3.
See plumbing lead sources ranked.
The Time Cost Marketplace Leads Hide
The numbers above only count marketing dollar cost. They do not count the time cost of unqualified leads — where marketplaces really bleed contractors.
For every shared marketplace lead:
- You spend 5-15 minutes vetting and calling
- Of replied leads, 50-70% are tire-kickers or wrong-fit
- Of qualified leads, 4 other pros are competing
- You spend 30-60 minutes on quotes that do not close
At $50/hour fully-loaded labor cost, 20 marketplace leads/month = 5-10 hours of unbilled time = $250-$500 in labor cost on top of the per-lead fees. According to Harvard Business Review research, the first responder wins up to 9x more — meaning slow contractors lose this race repeatedly.
The Brand Cost Marketplace Leads Hide
Every dollar spent on Angi/HomeAdvisor/Thumbtack builds the marketplace''s brand, not yours. Homeowners remember "I found my contractor on Angi" — not your company name.
Compare to owned channels:
- Google LSAs put your company name + Google Guaranteed badge in front of homeowners
- GBP and SEO build your brand search volume over time
- Reviews accumulate on Google and your website (assets you own forever)
- Customers refer friends to your name, not the marketplace
Five years of marketplace spend = zero brand equity. Five years of owned-channel spend = a self-sustaining brand that produces leads at near-zero marginal cost.
The Compounding Difference
Marketplaces do not get cheaper. They get more expensive as more pros compete for the same lead pool. Owned channels do the opposite — year 1 SEO investment becomes year 2 free traffic.
| Year | Marketplace CPJ | Owned Engine CPJ |
|---|---|---|
| Year 1 | $800 | $400 (ramping) |
| Year 2 | $850 | $200 |
| Year 3 | $900 | $125 |
| Year 5 | $1,000+ | $75 |
This is why every contractor who scales past $1M builds owned channels.
How to Measure Your True Cost Per Job
Pull these 5 numbers per channel each month:
- Total marketing spend for that channel
- Leads received from that channel
- Appointments booked from those leads
- Jobs signed from those appointments
- Revenue produced by those jobs
Calculate cost per lead, cost per appointment, cost per signed job, ROAS, and cost per job as percentage of revenue. Track every month. Kill channels above your healthy CPJ benchmark. Scale channels below it.
The Predictable Work Dashboard from BaaDigi handles this automatically — every lead tagged to source, every dollar tracked, in real time.
The Bottom Line
Cost per lead is a vanity metric. Cost per signed job is the only number that matters. When you run the real math, marketplace leads almost always cost 2-5x more per signed job than exclusive owned-channel leads — and the gap widens over time. BaaDigi installs the owned engine for one contractor per zip code, period.
FAQ: What is a healthy cost-per-job percentage of revenue?
For service trades, marketing cost should run 5-10% of revenue. For higher-ticket trades (remodeling, roofing), 3-7% is healthy. Marketplace dependency often pushes this to 12-20%, which is unsustainable long-term.
FAQ: Why do shared marketplace leads have such low close rates?
Because 3-5 contractors compete on every lead. Even if you respond fastest and have the best reviews, you are still 1 of 5 in the homeowner''s consideration set. Math says 1-in-5 wins at best.
FAQ: How do I track cost per signed job?
Use call tracking (CallRail, WhatConverts) plus a CRM (Jobber, ServiceTitan, HouseCallPro) to attribute every job back to the lead source. Pull monthly reports per channel.
FAQ: Can I improve cost per job on marketplace leads?
You can improve it 10-20% with sub-2-minute response time, tight zip code targeting, aggressive dispute discipline, and best-in-class follow-up. You cannot fix the structural problem of leads being shared 3-5 ways.
FAQ: How long until owned channels show lower cost per job than marketplaces?
LSAs can outperform marketplaces on cost per job within 30-60 days. SEO takes 90-180 days. Full system optimization (cost per job dramatically below marketplaces) takes 6-12 months.
FAQ: What is the best way to lower cost per job overall?
Build an owned lead engine: Google Local Services Ads, optimized Google Business Profile, local SEO, Google Ads, custom website, and automated follow-up. This combination produces the lowest cost per signed job of any strategy and gets cheaper over time.
Free website audit — see what's costing you leads
No email required. Takes 2 minutes. Completely free.
Get contractor marketing tips in your inbox
Join contractors getting weekly SEO, PPC & lead gen playbooks — free.

Ryan Goering
CEO & Founder, BaaDigi
U.S. military veteran and digital marketing strategist who built BaaDigi to help contractors generate predictable leads and revenue. 15+ years in SEO, PPC, and AI-powered marketing automation.
Frequently Asked Questions
What is a healthy cost-per-job percentage of revenue?▼
For service trades, marketing cost should typically run 5-10% of revenue. For higher-ticket trades (remodeling, roofing), 3-7% is healthy. Marketplace dependency often pushes this to 12-20%, which is unsustainable long-term and almost always indicates lead source problems.
Why do shared marketplace leads have such low close rates?▼
Because 3-5 contractors compete on every lead. Even if you respond fastest and have the best reviews, youre still 1 of 5 in the homeowners consideration set. Math says 1-in-5 wins at best, often 1-in-10 or worse. Exclusive leads from your own channels skip this entirely.
How do I track cost per signed job?▼
Use call tracking (CallRail, WhatConverts) plus a CRM (Jobber, ServiceTitan, HouseCallPro) to attribute every job back to the lead source. Pull monthly reports per channel and calculate the formula. Without attribution, every channel decision is guessing.
Can I improve cost per job on marketplace leads?▼
You can improve it 10-20% with sub-2-minute response time, tight zip code targeting, aggressive dispute discipline, and best-in-class follow-up. You cannot fix the structural problem of leads being shared 3-5 ways. Thats baked into the platform.
How long until owned channels show lower cost per job than marketplaces?▼
LSAs can outperform marketplaces on cost per job within 30-60 days. SEO takes 90-180 days. Full system optimization takes 6-12 months. The investment compounds — year 2 is dramatically cheaper than year 1.
What is the best way to lower cost per job overall?▼
Build an owned lead engine: Google Local Services Ads, optimized Google Business Profile, local SEO, Google Ads, custom website, and automated follow-up. This combination produces the lowest cost per signed job of any strategy and gets cheaper over time.
Popular Contractor Marketing Guides
PPC for Contractors by City
We serve contractors nationwide — based in Orange County, CA
Explore More Topics
Ready to Get More Leads?
Get a free marketing audit for your contracting business. We'll show you exactly where you're losing leads.
Get Your Free AuditRelated Articles
Speed to Lead: Why Contractors Lose Jobs in the First 5 Minutes (And How to Fix It With Automation)
The average business takes 47 hours to respond to a new lead - and the first responder wins 78% of deals. Here's the speed-to-lead math for contractors, and how AI automation answers every lead in seconds without adding payroll.
Stop Logging Into Thumbtack. The Math Sucks.
Need the Thumbtack Pro login? Here is the direct link. While you are here — the cost-per-job math on Thumbtack and the case for building your own pipeline.
Thumbtack Alternatives That Actually Work
The 9 best Thumbtack alternatives for contractors in 2026 — pricing, lead quality, exclusive options, and how to build an engine you actually own.