← Back to Blog
Marketing StrategyContractor MarketingROI

Contractor Marketing ROI: How to Work Out Your Own Numbers

Local Boost·Mar 20, 2026·13 min read
Share:

Contractor Marketing ROI: How to Work Out Your Own Numbers

You're thinking about investing in marketing. Maybe you're considering an agency, or maybe you're about to bump up your ad spend. Either way, one question matters more than anything else: What kind of return will I actually get?

Here is the honest answer: nobody can tell you that in advance. Not us, not any agency. A return depends on your margins, your close rate, your average job, and how competitive your market is — and anyone who quotes you a multiplier before looking at those is quoting someone else's business or making it up.

What can be worked out in advance is more useful anyway:

  • What one lead is actually worth to you
  • The most you can afford to pay for one before you're working for free
  • What evidence would tell you, within about 90 days, whether it's paying for itself

That arithmetic is yours. It's checkable against your own books. And it beats a borrowed multiplier, because a borrowed multiplier can't tell you when to stop.

First, Get the ROI Formula Right

Marketing ROI = (Gross profit from marketing-sourced jobs − Marketing cost) ÷ Marketing cost

The single most common mistake in contractor marketing math is dividing revenue by spend and calling it ROI. Revenue isn't return. If you spend $1,000 and book $5,000 in jobs, you have not made 5x. You have made whatever is left of that $5,000 after you pay for the materials, the labor, and the truck — minus the $1,000.

That distinction is not pedantic. It is usually the difference between a channel that's working and a channel that's quietly losing money while looking impressive on a report. Any number you're shown that uses revenue as the numerator is a revenue multiple, not a return. Ask which one you're looking at.

The Four Numbers You Need — From Your Own Records

You need these before any of the rest is meaningful. All four come out of your own business, not out of a blog post.

1. Average job value. The invoice total on a typical job. If your work splits into service calls and installs, do this whole exercise twice — the economics are completely different and averaging them together hides both.

2. Gross margin. What's left of that invoice after materials, labor, subcontractors, and direct vehicle cost — before overhead and before your salary. If you don't know it, your accountant does, and it's the single most valuable number in this article.

3. Close rate on marketing leads specifically. Not your overall close rate. Marketing leads and referrals rarely close at the same rate — a referral arrives pre-trusted, while someone who found you on Google is comparison-shopping you against two other companies. Blend them together and you'll be making spending decisions on a number that describes neither.

4. Total marketing cost. Agency fees plus ad spend plus software, and — if you're doing it yourself — your own hours at whatever you'd otherwise bill.

If you don't have number 3, that's the first thing to fix, and fixing it is free: ask every caller how they found you and write the answer down. A month of that is worth more than any benchmark you'll read anywhere.

What One Lead Is Worth to You

Value per lead = Average job value × Gross margin % × Close rate on marketing leads

That's it. That's the number the entire decision rests on.

The Most You Can Afford to Pay for a Lead

Your breakeven cost per lead is exactly that value-per-lead figure. Pay that, and you've traded a dollar for a dollar.

So the real question is what share of the gross profit you're willing to hand over to acquire the job. That's a business decision, not a marketing one — it depends on whether you're trying to fill a slow season, break into a new service line, or protect margin on work you already have plenty of. Pick the share deliberately, and the number that comes out is your target cost per lead. Everything you're offered can now be measured against it.

A Worked Example

This is an illustration, not a benchmark. The three inputs below were picked to show how the arithmetic behaves. They are not averages, they are not industry standards, and they are not anyone's results. Substitute your own numbers — the answer will be different, and yours is the only one that means anything.

Assume, purely for the sake of the arithmetic:

  • Average job value: $2,500
  • Gross margin: 40%
  • Close rate on marketing leads: 25%

Working it through:

  • Gross profit per job: $2,500 × 0.40 = $1,000
  • Value per lead: $1,000 × 0.25 = $250
  • Breakeven cost per lead: $250

Now pick your share. Say you're willing to spend 30% of the gross profit to win a job — that's $300 per job won. At a 25% close rate each job takes four leads, so $300 ÷ 4 = $75 target cost per lead. (Same answer the short way: 30% of the $250 value per lead.)

Now run a month against it. Say you spend $1,500 and your actual cost per lead comes in at $75:

  • Leads: 20
  • Jobs won at a 25% close rate: 5
  • Revenue: $12,500
  • Gross profit: $5,000
  • Minus the $1,500 spent: $3,500 net
  • ROI: 2.3x

Notice what the revenue-over-spend framing would have called that same month: $12,500 ÷ $1,500 = 8.3x. Same jobs, same spend, a number more than three times larger. That gap is where most advertised marketing multipliers live.

Now Break It

The example is only useful if you push on it. Change one input and leave the rest alone:

  • Close rate 15% instead of 25%. Value per lead falls from $250 to $150. Your 20 leads produce 3 jobs, $7,500 in revenue, $3,000 gross profit — $1,500 left after the ad spend, which is a 1x return. Same 20 leads, same $1,500 spent, two fewer jobs — and what you cleared still has to cover overhead before any of it is yours.
  • Gross margin 25% instead of 40%. Value per lead falls to $156. At a $75 cost per lead you're now spending nearly half the gross profit to acquire each job.
  • Average job $800 instead of $2,500. Value per lead is $80. A $75 cost per lead is no longer a target — it's almost the breakeven, and the whole channel needs to be cheaper or it doesn't work at all.

This is the actual lesson: your marketing budget is decided by your close rate and your margin, not by what an agency charges. Two contractors paying the same monthly fee for the same work can be having completely different experiences, and neither of them is being lied to.

Why Channel "ROI Benchmarks" Don't Transfer

You'll see per-channel multipliers quoted everywhere — SEO returns this much, ads return that much. Skip them. They're computed from someone else's margin, close rate, and market, which means they answer a question about that business rather than yours.

What does transfer between businesses is how the channels behave: what you're buying, how fast you find out whether it worked, and how the cost moves as volume moves. And for several of them you can get a real, local price before spending anything.

Google Business Profile

You're buying visibility in the map results, and the cost is time rather than money. It's also the one channel where you already have your own baseline data: the Performance tab inside your Google Business Profile reports calls, direction requests, website clicks, and the searches you appeared for. Read it before you change anything, write the numbers down, and you have a genuine before-and-after instead of a guess.

Local SEO

Slow, and the cost is largely fixed regardless of how many leads it produces. That cuts both ways: cost per lead falls as volume grows, and stays painfully high if volume never arrives.

Because leads lag, judge it early on leading indicators instead. Google Search Console — free, and you should have it — shows impressions and average position for the terms you're targeting. Movement there precedes traffic, and traffic precedes leads. No movement in impressions after several months is real information, and it arrives long before the lead count would have told you.

Google Ads

The fastest feedback loop, and the cost scales directly with volume. It also stops the day you stop paying, which is the honest trade-off against SEO.

You can price this one before you spend: Google Keyword Planner gives forecast cost-per-click ranges for your own keywords in your own geography, for free. Take the top of that range, assume a conservative website conversion rate, and you have an estimated cost per lead to hold against the target you calculated above. If the estimate is already above your breakeven, you've learned something important for the price of ten minutes.

Google Local Service Ads

Priced per lead rather than per click, which makes budgeting simpler — and, usefully, Google shows you the lead price for your job type and ZIP code during the Local Services Ads signup flow, before you commit to anything. That is a real number, specific to you, available today. Use it instead of any range you read online, including any you might read here.

One caution, because LSAs get oversold: BrightLocal's Local Services Ads Click Study (2018, 5,500 testers) found LSAs took 13.8% of clicks against organic results' 43.9%. They sit at the top of the page, but sitting at the top is not the same as taking most of the traffic.

Organic Social Media

Let's be honest: organic posting rarely generates direct leads for contractors. Its value is real but indirect — it's the trust check a homeowner runs after they've already found you somewhere else.

  • Reassuring people who look you up before calling
  • Showing your work in a way that prompts referrals
  • Staying in front of past customers
  • Recruiting

Don't model a return on it. Treat it as something that helps other channels convert, and if someone offers to double your leads through Instagram posts, be skeptical.

Review Requests and Past-Customer Email

The cheapest thing on this list, because you're reaching people who already know you and the software runs $30–$100 a month. It also feeds everything else on this list: BrightLocal's Local Consumer Review Survey 2026 (published February 2026, n=1,002 US consumers) found 97% of consumers read reviews for local businesses. Your review profile is doing work in every other channel whether you maintain it or not.

What You Can Actually Measure, and When

Forget month-by-month return projections. Here's what should be observable by when — and, more usefully, what it means if it isn't.

Weeks 1–4 — can you attribute a lead at all? Every lead should arrive with a source attached. If you can't tell by week four which leads came from where, nothing further down this list is measurable and no report you're shown is trustworthy. This is the checkpoint that matters most and it's the one people skip.

Months 1–3 — a real cost per lead on paid channels. Paid channels generate enough volume fast enough to compute an actual cost per lead. Compare it to the target you calculated. SEO won't show leads yet; check Search Console impressions and position instead.

Months 3–6 — cost per lead and close rate, by source. Now you have enough closed jobs to see which sources produce leads that actually convert. This is usually where something surprising turns up — a channel with a great cost per lead and a terrible close rate is costing you more than it looks like, and only this comparison reveals it.

Months 6–12 — has the fixed cost amortized? The question for SEO is whether its largely fixed cost has now spread across enough leads to beat what you're paying per lead on ads. If organic lead volume has grown while the invoice stayed flat, it has. If organic lead volume is still near zero, it hasn't, and twelve months is long enough to say so.

This is why committing for 3–6 months before evaluating makes sense — not because results are promised by then, but because before then you don't have enough data to judge fairly. You can read more about whether hiring an agency is worth it for the wider picture.

Decide Your Kill Criteria Before You Start

Write these down before you spend anything, while you're still unattached to the outcome:

  • The cost per lead above which you'll pull the plug (you calculated it above)
  • How many months of flat leading indicators you'll accept before calling it
  • What you'd need to see to spend more rather than less

A number you set in advance is very hard to be talked out of later. A number you set afterwards isn't a standard, it's a rationalization.

Tools for Tracking

  • Call tracking (like CallRail) — assigns unique phone numbers so each call ties back to a source
  • Google Analytics — website traffic and form submissions
  • Google Search Console — free, and the leading indicator for anything organic
  • Your Google Business Profile Performance tab — free, and already collecting your baseline
  • CRM software — connects leads to closed jobs and revenue, which is the only way to get close rate by source (see our guide to the best CRM for contractors)
  • Monthly agency reports — a good one shows cost per lead and close rate by source, not impressions and "engagement"

Warning Signs Your Marketing Isn't Delivering

  • You're spending money but can't tell where leads are coming from
  • Your cost per lead is climbing month over month
  • You're getting leads but they're not converting to jobs
  • Your agency can't show you clear numbers in monthly reports
  • You've been at it for 6+ months with no movement in leads or in leading indicators like impressions and rankings
  • The reports you're shown quote revenue rather than gross profit, or quote a multiple without showing the inputs

For a deeper dive, check out signs your contractor business needs marketing help.

The Bottom Line

You cannot know your return in advance. You can know your breakeven cost per lead before you spend a dollar, and you can know within about 90 days whether you're above it or below it.

That's a better position than any projection would put you in, because it comes with a decision rule attached. Work out your four numbers, set your target and your kill criteria, insist that every lead carries a source, and judge the results against the standard you set rather than the one you're handed.

See Where You Stand

Want a structured look at where your current marketing is leaking? Take our free 60-second quiz for a snapshot and a personalized action plan.

Local Boost builds contractor marketing so the numbers in this article are actually measurable — lead sources tracked, cost per lead visible, no vanity metrics standing in for results. Plans start at $1,000 a month plus a $1,000 setup fee — the full schedule is on the services page — and we'll show you the inputs behind every figure we report.