For three years I threw money at marketing and had no idea what worked. Yard signs, a lead service, some Facebook boosts, a magnet on the truck. Money went out. Jobs came in. I couldn’t tell you which dollar earned which job. That’s not marketing. That’s hoping.
Then I started tracking one number on every lead: where did you hear about us? Inside two months I knew my truck wraps were carrying my whole pipeline and the paid lead service was bleeding me dry. I cut the lead service. Kept my profit.
Marketing ROI is how you find out which dollars are working and which are just walking out the door. Know your numbers first. Run them through the Break-Even Calculator so you understand what a job actually has to clear, then read on. Try EstimationPro free if you’d rather spend your evenings with family than buried in spreadsheets.
Quick Answer: How Do You Calculate Marketing ROI?
Marketing ROI is the profit you earn from marketing divided by what you spent, times 100. The math is (revenue from marketing minus marketing cost) divided by marketing cost. Spend $1,000, win $5,000 in jobs, and your ROI is 400%. For contractors, the honest version uses gross profit, not revenue, because a $50,000 job at 25% margin only puts $12,500 in your pocket.
The numbers you need:
- Marketing spend for the channel and period
- Leads generated from that spend
- Close rate, the percent of leads you win
- Average job value and your gross margin
That’s it. Track those four and you can score any channel.
The Two Ways to Measure It
There’s the simple way and the honest way. Use both.
| Method | Formula | When to use |
|---|---|---|
| Revenue ROI | (Revenue − Spend) ÷ Spend × 100 | Quick gut check |
| Profit ROI | (Gross Profit − Spend) ÷ Spend × 100 | Real decisions |
Revenue ROI makes everything look great. A $40,000 kitchen off a $500 ad campaign reads like a 7,900% return. But you don’t keep $40,000. You keep the margin. Profit ROI tells you the truth, and the truth is what you budget on.
Cost Per Lead and Cost Per Job
Before ROI, you need two building blocks. These tell you what you’re paying to get a phone call and what you’re paying to land a signed job.
- Cost per lead (CPL) = marketing spend ÷ number of leads
- Cost per acquisition (CPA) = marketing spend ÷ jobs won
Say you spend $1,200 on Google Ads and get 20 calls. Your CPL is $60. If you close 5 of those, your CPA is $240 per job. For a $15,000 bathroom remodel, $240 to land it is cheap. For a $400 faucet swap, it’s a money loser. Context is everything.
Home services cost per lead runs anywhere from $25 to over $200 depending on the channel and your market, based on LocalIQ and WordStream 2026 benchmark data and my own field experience tracking it. Paid lead services sit at the high end. Referrals cost almost nothing.
Worked Example 1: A Google Ads Campaign
Here’s a clean one. A remodeler runs Google Ads for a month.
- Spend: $2,000
- Leads: 25 calls and form fills
- Close rate: 20% (5 jobs)
- Average job value: $18,000
- Gross margin: 25%
Now the math:
| Step | Calculation | Result |
|---|---|---|
| Cost per lead | $2,000 ÷ 25 | $80 |
| Cost per job | $2,000 ÷ 5 | $400 |
| Total revenue | 5 × $18,000 | $90,000 |
| Gross profit | $90,000 × 25% | $22,500 |
| Profit ROI | ($22,500 − $2,000) ÷ $2,000 × 100 | 1,025% |
That campaign is a keeper. Every dollar in returned about ten in profit. I’d pour more budget into it tomorrow.
Worked Example 2: A Paid Lead Service
Same contractor, different channel. This is the one that burned me.
- Spend: $2,000 in lead fees
- Leads: 40 shared leads
- Close rate: 5% (the leads went to four other contractors too)
- Jobs won: 2
- Average job value: $6,000
- Gross margin: 25%
| Step | Calculation | Result |
|---|---|---|
| Cost per lead | $2,000 ÷ 40 | $50 |
| Cost per job | $2,000 ÷ 2 | $1,000 |
| Total revenue | 2 × $6,000 | $12,000 |
| Gross profit | $12,000 × 25% | $3,000 |
| Profit ROI | ($3,000 − $2,000) ÷ $2,000 × 100 | 50% |
Still positive, barely. But look at the cost per job. $1,000 to land a $6,000 job eats most of your margin before you swing a hammer. That low close rate is the killer. Shared leads mean you’re racing four other guys to the phone. I’d rather put that $2,000 somewhere that closes.
ROI by Channel: What I Actually See
Your market will differ. Track your own. But these are the patterns I’ve watched over 20 years and across three businesses.
| Channel | Typical CPL | Close rate | Notes |
|---|---|---|---|
| Referrals / word of mouth | $0–$25 | 50–70% | Best ROI, every time |
| Google reviews / local SEO | $10–$50 | 30–50% | Slow build, lasts |
| Google Ads | $50–$120 | 15–25% | Fast, scalable, costs more |
| Facebook / Instagram | $20–$80 | 5–15% | Good for brand, lower intent |
| Paid lead services | $30–$80 | 5–10% | Shared leads, thin margins |
Sources: LocalIQ and WordStream 2026 home services benchmarks, plus 20 years of my own field experience. Referrals win because they show up pre-sold. Somebody they trust already vouched for you. That’s why I treat every client like it’s my mom’s house. The work is the marketing.
Costs Vary by Market
Cost per lead in Seattle or New York runs higher than in a rural county. Competition drives ad prices. A “kitchen remodel” Google click might cost $8 in a small market and $25 in a metro. Always run your own local numbers, because national averages are a starting point, not gospel. Prices vary by region, and so does what your customers will pay.
Common Mistakes That Hide Your Real ROI
I’ve made every one of these.
- Not asking where leads came from. If you don’t tag the source, you’re flying blind. Ask every single caller. Write it down.
- Using revenue instead of profit. A high-revenue channel with thin margins can lose money. Score on gross profit. Know your margin first with the Contractor Markup Calculator.
- Ignoring lifetime value. A repeat client or one who refers three friends is worth far more than a single job. A 200% first-job ROI can become 800% over the relationship.
- Chasing vanity metrics. Likes and impressions don’t pay payroll. Booked jobs do. Track the metric that turns into money.
- Quitting a channel too fast. SEO and reviews take months to pay off. Don’t kill a slow burner before it catches.
Build Your Marketing Budget From the Numbers
Once you know ROI by channel, budgeting gets simple. Feed more into what closes. Starve what doesn’t. Most contractors spend 5 to 10% of revenue on marketing, and where you put it matters more than how much. A solid rule:
- Fund your highest-ROI channel first
- Reinvest in reviews and referrals, they compound
- Test new channels with small budgets you can afford to lose
- Re-score every quarter, markets shift
Your time has a price too. If you’re spending ten hours a week on marketing, value those hours at your real rate. The Contractor Hourly Rate Calculator helps you put a number on that.
Frequently Asked Questions
What is a good marketing ROI for a contractor?
A profit ROI above 200% is solid, meaning you triple your money after costs. Referrals and local SEO often clear 500% or more once established. Paid channels closer to 100 to 300% are still worth running. Below 50%, fix the channel or cut it.
How do I track which leads came from where?
Ask every lead directly and log the answer. Use a separate phone number for ads, a unique form on your site, and tag referrals by name. Then run the ROI math per source. The Break-Even Calculator shows you the revenue each channel has to hit to be worth the spend.
Should I use revenue or profit to calculate marketing ROI?
Use gross profit for real decisions. Revenue ROI looks impressive but ignores your costs. A $50,000 job at 25% margin nets $12,500, and that’s the number that should be in your ROI math, not the $50,000.
How much should a contractor spend on marketing?
Most spend 5 to 10% of revenue. Newer businesses or those in competitive metros lean higher. The right number is whatever keeps your highest-ROI channels funded without starving the jobs you’ve already booked.
Is cost per lead the same as cost per job?
No. Cost per lead is spend divided by total leads. Cost per job, or cost per acquisition, is spend divided by jobs actually won. The gap between them is your close rate, and improving close rate is often cheaper than buying more leads.
Track It or You’re Guessing
The three years I marketed blind cost me more than any single bad job. The fix wasn’t a bigger budget. It was knowing my numbers. Cost per lead, close rate, job value, margin. Run those and your marketing stops being a mystery.
Contractors using EstimationPro report cutting estimating time from hours to minutes, which frees up the hours you’d otherwise burn chasing leads that don’t close. EstimationPro turns a photo, note, or voice walkthrough into a full estimate, sends the proposal automatically, follows up with the homeowner so you win more of the bids you already paid to generate, and invoices when the work is done. Try EstimationPro free and put your marketing dollars where the math says they belong.
Get Free Estimating Tips
Enter your email and we'll send you pro tips, cost data, and useful resources for contractors.
We'll send helpful resources and occasional tips. Unsubscribe anytime.
EstimationPro AI For Contractors, By Contractors Win More Jobs With Professional Estimates
Polished proposals that make clients say yes. Built in seconds, not hours.