The Contractor Marketing ROI Calculator (Formula, Inputs, Spreadsheet)
Key Takeaways
- Average digital marketing ROI for home service contractors lands at 300-500% within 12 months, but only 37-52% of marketers can actually prove short-term ROI from a campaign
- A 3x ROAS is the working floor for service contractors and 5x+ is healthy - the median plumbing contractor produces a 5.54x ROAS at $333 per acquired customer
- HVAC and plumbing average tickets in 2026 land around $1,400-$1,800 in well-run shops, with residential close rates averaging 45% per ACHR News survey data
- Most contractor ROI calculations fail because they count form fills as leads, use last-touch attribution, and ignore overhead - producing numbers that overstate returns by 30-50%
Average digital marketing ROI for home service contractors lands at 300-500% within 12 months according to Relentless Digital, with top accounts hitting 5x to 110x returns. Yet only 37-52% of marketers can actually prove short-term ROI from a campaign, and most contractors building their own ROI math get it wrong by 30-50%. This is the formula, the six inputs, and the spreadsheet structure to copy - or run the interactive calculator if you want the math done for you.
The actual marketing ROI formula
Marketing ROI = (Revenue from marketing - Marketing cost) / Marketing cost.
That’s the whole formula. Multiply by 100 if you want a percentage.
The catch is the words “revenue from marketing.” Most contractors plug in the wrong number here and watch their ROI inflate to numbers that don’t match their bank account.
Revenue from marketing means gross closed job revenue traceable to a specific marketing channel. Not gross profit. Not leads. Not phone calls. Closed, invoiced jobs that you would not have booked without that spend.
Lead count is not revenue. A $0 form fill at 2am is not the same as a $9,400 furnace install. If your “ROI calculation” uses leads as the numerator, you are measuring cost per lead with extra steps.
Gross profit is also not the right number for the ROI formula. Use gross job revenue here, then layer gross margin in after to get profit ROI. The marketing ROI pyramid for contractors breaks down why mixing layers is where most contractors lose the thread.
ROAS vs ROI: stop using them interchangeably
ROAS = Revenue / Ad Spend. A 5x ROAS means $1 in ads produced $5 in tracked revenue.
ROI = (Revenue - Cost) / Cost. A 5x ROAS is roughly a 400% ROI on that ad spend, before you account for margin and overhead.
Improvado’s 2026 ROAS guide puts it bluntly: ROAS looks at revenue at the door, ROI looks at what’s left after you pay for everything. Service contractors need both numbers - ROAS for channel-level decisions, ROI for whether the business is making money.
A median plumbing contractor produces a 5.54x ROAS per SearchLight Digital’s analysis of 500+ accounts and $14 million in spend. That sounds great until you realize the same contractor’s true profit ROI after labor, overhead, and trip costs might be closer to 1.5x.
The 6 inputs you need before you can calculate
You cannot get a real number without these six. If you’re missing any, your ROI is a guess.
- Monthly ad spend, per channel. Google Ads, LSA, Meta, Yelp, direct mail - tracked separately, never blended.
- Leads attributed to that channel. Not form fills. Booked appointments with a real name, real address, real problem.
- Lead-to-quote rate. What percent of attributed leads end up with a quote in hand?
- Quote-to-job close rate. What percent of quoted jobs become invoiced work?
- Average job value, by channel. Different channels send different customers. Google Ads might average $1,400, Facebook $380.
- Gross margin percentage. Revenue minus direct job cost - materials, labor, trip - as a percent of revenue.
Without these six, your “ROI calculator” is generating a number that will mislead you. The 10 marketing metrics every home service owner should track covers each of these in more depth, with why most contractors track only two.
Worked example: HVAC contractor on Google Ads
Inputs from a typical residential HVAC shop running paid search:
- Monthly Google Ads spend: $5,000
- Leads (booked appointments, not form fills): 90
- Cost per lead: $5,000 / 90 = $55.55
- Lead-to-quote rate: 60% (54 quotes)
- Quote-to-job close rate: 45% (24 jobs)
- Average ticket: $1,650 (blended service + repair + replacement)
- Gross margin: 35%
Revenue math:
- Total closed revenue: 24 jobs x $1,650 = $39,600
- ROAS: $39,600 / $5,000 = 7.92x
- ROI (revenue basis): ($39,600 - $5,000) / $5,000 = 6.92x or 692%
Profit math:
- Gross profit on those jobs: $39,600 x 35% = $13,860
- True profit ROI: ($13,860 - $5,000) / $5,000 = 1.77x or 177%
That gap between 7.92x ROAS and 1.77x profit ROI is where most contractors get the wrong picture. The Google Ads dashboard will show you the 7.92x and you’ll feel like a king. Your accountant will show you the 1.77x and you’ll wonder where it went.
A 1.77x profit ROI is still healthy. WebFX’s 2026 HVAC benchmarks recommend a customer lifetime value to acquisition cost ratio of 3:1 or higher as a profitability floor, and that 1.77x first-job number rolls into a much higher LTV ratio once that customer books a maintenance plan or refers a neighbor.
Worked example: Plumber on Google Local Services Ads
Inputs from a residential plumber running LSA exclusively:
- Monthly LSA spend: $3,000
- Cost per lead: $69 (per The Media Captain’s analysis of 100+ accounts, roughly tracking LocaliQ’s 2024 LSA average of $60.50)
- Leads: $3,000 / $69 = 43 leads
- Lead-to-quote rate: 75% (LSAs are pre-qualified, so quote rates run higher than form-based channels) = 32 quotes
- Quote-to-job close rate: 50% (financing-equipped plumbers hit 49% close per ACHR News survey data) = 16 jobs
- Average ticket: $720 (service/repair mix - drain, water heater, leak)
- Gross margin: 40%
Revenue math:
- Total closed revenue: 16 x $720 = $11,520
- ROAS: $11,520 / $3,000 = 3.84x
- ROI (revenue basis): ($11,520 - $3,000) / $3,000 = 2.84x or 284%
Profit math:
- Gross profit: $11,520 x 40% = $4,608
- True profit ROI: ($4,608 - $3,000) / $3,000 = 0.54x or 54%
A 3.84x ROAS that turns into a 0.54x profit ROI is a signal that the channel needs work. The contractor is making money, but barely. Three levers move this fast: raise close rate (financing), raise average ticket (system upgrades, replacement quotes on every service call), or cut CPL by improving the LSA review profile.
Worth noting: a March 2026 Data Driven Trades benchmark put plumbing LSA at 6.5x ROAS for stronger accounts - the difference between a 3.84x and 6.5x ROAS is almost entirely close rate and ticket size, not lead price.
Ready-to-copy ROI spreadsheet structure
Build this in any spreadsheet. One row per channel per month.
| Channel | Spend | Leads | CPL | Lead-to-Quote % | Quote-to-Job % | Jobs | Avg Ticket | Revenue | ROAS | Gross Margin % | Gross Profit | Profit ROI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Google Ads | $5,000 | 90 | $55.55 | 60% | 45% | 24 | $1,650 | $39,600 | 7.92x | 35% | $13,860 | 1.77x |
| Google LSA | $3,000 | 43 | $69.00 | 75% | 50% | 16 | $720 | $11,520 | 3.84x | 40% | $4,608 | 0.54x |
| Meta Ads | $1,500 | 38 | $39.47 | 40% | 30% | 5 | $480 | $2,400 | 1.60x | 40% | $960 | -0.36x |
| SEO | $2,000 | 28 | $71.43 | 65% | 55% | 10 | $1,800 | $18,000 | 9.00x | 35% | $6,300 | 2.15x |
| Direct Mail | $1,800 | 22 | $81.82 | 50% | 45% | 5 | $1,950 | $9,750 | 5.42x | 35% | $3,413 | 0.90x |
| Total | $13,300 | 221 | $60.18 | - | - | 60 | $1,355 | $81,270 | 6.11x | - | $29,141 | 1.19x |
Formulas, in plain English:
- CPL = Spend / Leads
- Jobs = Leads x Lead-to-Quote % x Quote-to-Job %
- Revenue = Jobs x Avg Ticket
- ROAS = Revenue / Spend
- Gross Profit = Revenue x Gross Margin %
- Profit ROI = (Gross Profit - Spend) / Spend
Update it monthly. Compare channel to channel and month to month. The Meta row above shows a channel running at negative profit ROI - kill it, or fix the close rate, before another $1,500 leaves the account.
If you want a richer build, add columns for booking rate, speed to lead in minutes, and customer lifetime value. The methods to measure marketing for home service contractors post walks through which tools handle which columns automatically.
Skip the spreadsheet: our interactive marketing ROI calculator does all six inputs per channel with HVAC, plumbing, roofing, and electrical templates pre-loaded. Update one cell, watch ROAS and true profit ROI recalculate. For single-channel lead value math (close rate x average ticket), use the lead value calculator.
The 4 mistakes that make the calculation lie
A spreadsheet with the wrong inputs is worse than no spreadsheet. These are the four ways contractors fool themselves.
1. Counting form fills as leads. A form fill is an intention signal, not a lead. LocaliQ’s 2025 home services average conversion rate was 7.33% - meaning a healthy chunk of “leads” are bots, wrong numbers, or homeowners who ghost. Count booked appointments with a real name and a real problem. Anything else inflates your lead count and tanks your real CPL.
2. Using lifetime ticket value instead of average ticket. A single furnace replacement at $11,000 will pull your monthly average up if you mix it with $180 service calls. ROI per channel should use the average ticket that channel actually produces, not your blended company-wide LTV. Track average job value by source - one electrician documented in our 10 metrics breakdown found Google Ads customers averaged $1,400 per job while Facebook customers averaged $380 at the same CPL.
3. Ignoring overhead and labor cost. Gross margin is not net profit. A 35% gross margin on $40,000 is $14,000 - but if your office, dispatch, fleet, and overhead eat $9,000 of that, your real net is $5,000. Marketing ROI on a gross basis tells you if a channel is viable; net ROI tells you if the business is viable. Build the gross-basis ROI first, then sanity check it against net.
4. Last-touch attribution. Google gets credit for the click. Most home service jobs touch 3-7 sources before they book - a Nextdoor recommendation, a truck wrap sighting, a Google search, an LSA tap, a referral from a past customer. Last-touch attribution makes your direct mail look dead and your Google Ads look like a hero. Real attribution requires call tracking, source-tagged forms, and asking every booked customer where they heard about you. The marketing attribution playbook for home service contractors gets into the mechanics of multi-touch tracking.
What “good ROI” actually looks like for contractors
Benchmarks, in order of how often contractors hit them:
- Below 2x ROAS: the channel is losing money once you account for margin and overhead. Pause or rebuild.
- 2-3x ROAS: break-even to slightly profitable. Most underperforming campaigns sit here. Fix close rate, ticket size, or CPL before scaling.
- 3-5x ROAS: working channel. The 3x ROAS floor is what most home service consultants treat as the minimum to keep a campaign running.
- 5-8x ROAS: healthy. The median plumbing contractor hits 5.54x per SearchLight Digital’s $14M-spend analysis. Median is healthy.
- 8x+ ROAS: elite. Usually a combination of high close rate, high ticket size, strong reputation, and disciplined targeting. Plumbing LSA accounts in the top quartile hit 6.5x per March 2026 Data Driven Trades data.
On a net profit basis, healthy contractor marketing produces 3:1 LTV to CAC or better according to WebFX’s 2026 HVAC benchmarks. That ratio rolls in repeat work, referrals, and membership conversions - which is where the marketing math finally turns into a real business model.
The deeper view on how to track these numbers through closing is in the marketing metrics playbook and the upcoming sister piece on measuring marketing ROI.
Why most contractor ROI calculators are toys
Type “marketing ROI calculator” into Google and you’ll find a dozen of them. Plug in your spend, plug in your revenue, get a number. Done.
Those tools have one input field for revenue and one for spend. They cannot tell the difference between a $5,000 furnace install and a $180 service call. They cannot tell the difference between a booked appointment and a form fill. They cannot tell the difference between Google Ads and LSA at the same blended spend.
A real marketing ROI number requires real attribution data - what channel sent which lead, what that lead became, and what the customer paid. That is a tracking problem, not a calculator problem.
Our marketing ROI calculator handles all six inputs per channel and gives you side-by-side ROAS and true profit ROI - because that is the minimum to make a real decision. PipelineOn handles the tracking layer underneath - tying spend to leads to booked jobs to invoiced revenue, per channel, without the spreadsheet maintenance. The calculator gets you to a defensible number using your existing data. The next step is making that data flow without you typing it every Sunday night.
Frequently asked questions
What is the marketing ROI formula for contractors?
Marketing ROI = (Revenue from marketing - Marketing cost) / Marketing cost. For contractors, “revenue from marketing” means gross closed job revenue traceable to a specific channel - not leads, not form fills, not gross profit. A 5x ROAS on Google Ads is roughly a 400% revenue ROI, but the profit ROI after margin and overhead is usually 1-2x of that on the gross figure.
What’s the difference between ROAS and ROI for home service contractors?
ROAS (Return on Ad Spend) is Revenue / Ad Spend - a 5x ROAS means $1 in ads produced $5 in tracked revenue. ROI factors in cost, so it’s (Revenue - Cost) / Cost. ROAS is the channel-level decision metric; ROI is the business-level profit metric. Service contractors need both because a healthy ROAS can still produce a thin profit ROI once labor, materials, and overhead are accounted for.
What is a good marketing ROI for HVAC and plumbing contractors?
A 3x ROAS is the working floor for service contractors and 5x+ is healthy. The median plumbing contractor produces 5.54x ROAS per SearchLight Digital’s analysis of 500+ accounts and $14M in spend. Top plumbing LSA accounts hit 6.5x per March 2026 Data Driven Trades benchmarks. WebFX’s 2026 HVAC benchmarks recommend a 3:1 LTV to CAC ratio as the profitability floor.
What are the inputs needed to calculate marketing ROI accurately?
Six inputs: monthly ad spend by channel, leads attributed to that channel (booked appointments, not form fills), lead-to-quote rate, quote-to-job close rate, average job value by channel, and gross margin percentage. Miss any of these and your ROI number is a guess. The marketing metrics playbook covers how to measure each one.
Why do most marketing ROI calculators give the wrong number?
Three reasons: they treat leads as revenue, they use last-touch attribution (giving 100% credit to the final click), and they ignore overhead and labor cost. A real ROI calculation needs booked-job attribution per channel, average ticket per channel, and gross margin layered in. Most online calculators have one input for spend and one for revenue, which cannot capture any of that.
Pull last month’s ad spend by channel and overlay it against actual closed job revenue from your CRM. If the numbers don’t line up - or if you can’t get them at all - that’s the gap to fix before you scale any channel. Start with the spreadsheet above, then automate the inputs that take the most time.
Written by
Pipeline Research Team