Marketing Budget for Home Service Contractors: A Gross Profit and Capacity Framework
A contractor marketing budget works best when it's built from two numbers you own: the gross profit a job leaves you and the number of jobs your crews can take. Multiply the jobs you need from paid sources by the most you'll spend to win each one. That gives a ceiling, and you test your way up to it.
This guide is part of the contractor lead cost per job guide. It skips copied percentage rules and shows the framework, then how it changes as you move from first customers to a multi-crew shop.
Why a copied percentage is a weak starting point
You'll see rules like "spend X percent of revenue on marketing." Without a named source, treat them as folklore. Even a well-sourced percentage describes an average across businesses that differ in trade, margin, season and how much work comes from referrals.
A percentage of revenue also has a logic problem. It ties your spend to what you earned last year. A roofer whose revenue doubled because of a hail season and a plumber on a recurring maintenance book have very different reasons to spend, and a flat share of revenue treats them the same. A budget tied to gross profit per job and open capacity answers a better question: what can I afford to pay for the next job, and how many can I serve?
You can still compare your result to a percentage of revenue afterward. Use it as a sanity check, not as the method.
The framework: four inputs
Everything below runs on four inputs.
- Gross profit per job. Revenue minus direct costs (materials, crew labor, permits, disposal, warranty set-aside). This is the pool you pay for acquisition from. Gross margin and lead cost for contractors shows how to compute it properly.
- Capacity. How many jobs your crews can complete in a month without slipping on quality or schedule.
- Jobs already coming free. Repeat customers and referrals that don't need paid leads.
- Your funnel rates. Share of calls that become booked estimates, and share of estimates that close. If you don't know these yet, your first budget is a test budget, and the first goal is to learn them. See how to tell which leads became jobs.
The formula
Jobs needed from paid sources = capacity minus jobs already coming free
Calls needed = jobs needed / (call-to-estimate rate x estimate close rate)
Budget = calls needed x cost per call
Ceiling check: Budget / jobs needed must be at or under the most you're willing to spend per job, and that cap is a share of first-job gross profit you choose.
A worked example (illustrative numbers)
All figures here are hypothetical.
A fence company has crews that can finish 12 jobs a month. Repeat customers and referrals bring in about 5 of those. Average gross profit per job is $2,400.
- Jobs needed from paid sources: 12 minus 5 = 7
- Funnel assumptions: 40% of calls become booked estimates, and 35% of estimates close.
- Estimates needed: 7 / 0.35 = 20
- Calls needed: 20 / 0.40 = 50
- Cost per call: $60 (assumed)
- Budget: 50 x $60 = $3,000 for the month
- Cost per job: $3,000 / 7 = $428.57
Now the ceiling. The owner decides to spend no more than 25% of first-job gross profit to win a customer. That cap is $2,400 x 0.25 = $600 per job. The plan's $428.57 per job is under it, which is about 17.9% of first-job gross profit ($428.57 / $2,400). The absolute ceiling for the month would be 7 x $600 = $4,200.
Notice what the formula protects against. If the owner had simply "spent 10% of revenue" and the shop did $40,000 that month, the budget would have been $4,000, $1,000 more than the plan needs, with no check that crews had room for the extra work.
Match the budget to your growth stage
The same framework behaves differently depending on where the shop is. These stages aren't official categories, just a practical way to think about what the first dollar should do.
Stage 1: Proving a source
You're a solo operator or a small crew with open calendar space. Your constraint is information, not capacity.
- Run one or two sources at a time with separate tracking numbers or labels.
- Size the test to produce enough calls to read. Dozens per source, not a handful. A few calls tell you almost nothing.
- Aim to learn your funnel rates. Your first budget is partly the price of that data.
- Don't scale a source until you have a cost per signed job for it.
Stage 2: Filling the crew
Crews exist and have gaps. The constraint is steady volume.
- Use the formula as written: capacity minus free jobs equals paid jobs needed.
- Weight toward sources with the most predictable cost per job.
- Watch for the schedule slowing down. If lead time stretches, you're nearing capacity and the next dollar earns less.
Stage 3: Adding crews
You're hiring or about to. The constraint flips to capacity and quality.
- Budget in steps, not a curve. Add spend only after the new crew is trained and booking.
- Keep a handling plan ready for more calls. How to know when you can take more leads is a good checklist, and multi-crew lead routing covers dividing the work.
- Expect cost per job to shift as you add volume. Re-run the numbers each month.
Stage 4: Mature and defending
Revenue is steady, referrals are meaningful and your brand carries weight locally.
- Your free-job count is higher, so paid jobs needed shrinks.
- Spend toward the highest-margin work and the seasons where demand is thin. Seasonal lead demand by trade shows how to think about timing.
- Use the ceiling check more strictly. The easy wins are gone, so a source that's drifting up in cost per job gets cut sooner.
Adjusting for the type of work
The ceiling depends on how much a customer is worth.
- One-time projects (roofing, fencing, large installs) have to earn the acquisition cost from the first job. The cap should be tighter, and gross profit per job does most of the work.
- Recurring trades (pest control, lawn care, pool service) can accept a higher first-job cost if customers stay. Contractor lifetime value by trade shows how to estimate that. Use a realistic retention figure from your own records, not a hoped-for one.
- Emergency trades (plumbing, HVAC repair) often close in one call, so cost per call and cost per job sit close together.
For trade-specific context, see roofing leads, pest control leads, fence leads, landscaping leads and garage door repair leads.
What to count inside the budget
Decide what "marketing" includes, and keep it consistent.
- Lead purchases, ad spend and directory fees.
- Call tracking and CRM software if they exist for acquisition.
- Website and listing costs.
- The cost of an answering service or a CSR if their job is to convert leads.
Leave out costs that belong to delivery, like warranty work. If you want a complete accounting, how to calculate contractor customer acquisition cost adds estimator time and overhead on top of lead cost.
Review rhythm
Set the budget monthly and review it on a fixed schedule.
- Weekly: calls received, answered, booked.
- Monthly: cost per booked estimate and cost per job by source. Compare against your cap.
- Quarterly: recompute gross profit per job, since material costs and labor rates move, and recheck funnel rates.
- Seasonally: reset capacity assumptions before the busy and slow periods.
A source that lands under your cap for two straight months can take more budget in small steps. A source over the cap for two months needs a diagnosis: check answer rate, estimate booking and closing before you blame the lead.
The break-even close rate calculator shows what close rate a given cost per call needs, which helps decide whether a source is worth another test cycle.
Where to start this week
- Calculate gross profit per job for your top two services.
- Write down monthly crew capacity and how many jobs come free.
- Pull your last 60 days of calls, estimates and signed jobs to estimate funnel rates.
- Run the formula once and set a per-job cap.
- Set the first month's spend as a test, then adjust.
If you'd like to include exclusive inbound calls in that test and pay only for qualifying calls over 60 seconds, you can apply here.
Frequently asked questions
What percentage of revenue should a contractor spend on marketing?
There's no percentage that fits every shop, and the figures passed around online rarely come with a source. Build your budget from what a job earns you and how many jobs your crews can take, then check the result against last year's revenue.
How do I set a marketing budget if I'm just starting out?
Start with a small test budget that buys enough calls to learn from, usually a few dozen per source. Measure cost per signed job, then scale only the source that works.
Should the marketing budget go up in busy season?
Only if you have crew capacity to serve the extra work. Spending into a full schedule raises cost per job, since leads wait or go elsewhere.
What should I do if my cost per job is higher than my budget allows?
First check where the funnel leaks, which could be answered calls, booked estimates or closing. If the source itself is the weak point, move budget to one with a lower cost per job.
More in this guide
Related resources
Want exclusive inbound calls routed to your phone? You pay only for qualifying calls.
Apply for a territory