The short version
- Budget 7-12% of revenue, weighted toward your busy season.
- Cost per lead is a vanity number. Cost per booked job decides everything.
- Cheap leads with a bad close rate cost more than expensive leads with a good one.
- Media spend is not the whole cost. Add tools, photography, and your hours.
- When cash is tight, cut paid channels before free ones. Reviews and follow-up cost nothing.
The only budget rule that matters
Owners ask what a Facebook campaign costs. The useful question is what share of revenue should go back into getting work. For a growing home-service business, 7-12% is the benchmark. Under 5% and you are relying on word of mouth. Over 15% and either your close rate is broken or you are buying growth faster than your margin can pay for.
Work it backward. Say you did $150,000 last year. At 8%, that is $12,000 for the year, or about $1,000 a month averaged out.
But do not average it out. Demand is seasonal, and the money works hardest in the six weeks before your phone would have started ringing anyway. Put roughly 60% of the annual budget into the five months around your peak and the rest across the other seven. On that $12,000 that is about $1,440 a month in season and $690 out of it. Same total, better timing.
One caution: the percentage gives you a ceiling, not a floor. If you are brand new, treat marketing as a fixed cost, like insurance.
Cost per lead by channel
These are typical ranges, not promises. Costs vary by market, competition, season, and creative. Treat them as a starting expectation to test against your own numbers.
| Channel | Typical cost per lead | Exclusive? | How fast it starts | Notes |
|---|---|---|---|---|
| Google Business Profile & organic | $0 in media | Yes | 2-6 months | No media cost, real time cost. Best return once it ranks. |
| Meta lead ads | $15-$40 | Yes | 2-7 days | Cheapest reliable paid leads. Quality depends on your form questions. |
| Google Search ads | $30-$80 | Yes | Days | Higher intent, higher price. Needs a tight negative keyword list. |
| Local Services Ads | $25-$60 | Yes, but shown alongside rivals | 1-3 weeks after verification | Pay per lead, not per click. Background check and insurance required. |
| Shared marketplaces | $15-$50 | No | Immediate | Resold to several contractors. Cheap to buy, expensive to win. |
| Door hangers | $30-$100 effective | Yes | Same day | Cheap to print, low response. Only works with route density. |
| Referrals & repeat customers | $0-$50 | Yes | Slow to build | Cheapest work you will book. Costs a text and a reason to ask. |
The free channels are not fast and the fast channels are not free. That is the whole trade-off, and it is why the advice in our pressure washing marketing guide is to run paid ads for cash flow now while building organic in the background.
Why cost per lead is the wrong number
A lead is a phone number. It does not pay for diesel. What matters is the cost of putting one job on the calendar, and the math is two steps. Leads multiplied by close rate gives you jobs. Spend divided by jobs gives you cost per booked job.
The figures below are hypothetical, but the pattern is common.
| Channel A: cheap shared leads | Channel B: your own ads | |
|---|---|---|
| Monthly spend | $1,000 | $1,000 |
| Cost per lead | $25 | $50 |
| Leads | 40 | 20 |
| Close rate | 15% | 40% |
| Booked jobs | 6 | 8 |
| Cost per booked job | about $167 | $125 |
| Average ticket | $325 | $425 |
| Revenue produced | $1,950 | $3,400 |
Channel A looks half the price and is comfortably worse. Forty leads at a 15% close rate is six jobs, so $1,000 divided by six is about $167 a job. Twenty leads at 40% is eight jobs, so $1,000 divided by eight is exactly $125. The expensive leads produced more jobs, at a lower cost each, from half the phone calls.
The close rate gap is not imaginary. Shared leads go to several contractors at once, so you are calling someone who already has three quotes and is sorting on price. Your own ad brings someone who saw your work and asked for you.
Run this on your own numbers. If you do not know your close rate by channel, start writing it down. More on where the leads come from in our guide to getting pressure washing leads.
Want a straight answer on your numbers?
Leadworks runs Facebook and Instagram ads for pressure washing companies in the zip codes you pick. We will walk through a realistic budget for your market before you commit.
Book a 30-minute callWhat each channel costs to actually run
Media spend is the visible cost, rarely the whole one. A channel you run badly for free costs more than one you run well for money.
- Google Business Profile: no fee at all. Budget an hour or two a month for posts, photos, and replying to reviews.
- Website: hosting and a domain are cheap monthly. A basic site built for you is typically a few thousand dollars one time; a template you assemble costs a weekend instead.
- Meta ads: the daily budget plus creative. Below roughly $15 a day the algorithm cannot optimize, so treat that as the floor. Management is a few hours a month.
- Google Search ads: the click budget plus ongoing negative keyword work. Skip the maintenance and you will fund searches for equipment rentals and job listings.
- Photography: nearly free and non-negotiable. Two minutes per job feeds every other channel you run.
- CRM, call tracking, and review requests: where budgets quietly leak. You need a way to text back fast and a way to request reviews. Anything beyond that should have a job attached to it.
- Door hangers: printing is cheap per piece at volume; the real cost is the hour someone spends walking. See flyers and door hangers.
Budget by stage
Where you are matters more than any industry average. These are total monthly figures, ad spend included.
| Stage | Monthly marketing | Where it should go |
|---|---|---|
| Starting out (solo, first year) | $300-$800 | Google Business Profile, review generation, door hangers on every street you work, one small Meta campaign |
| Growing (one crew, booked most weeks) | $800-$2,500 | Meta ads at scale, service and city pages, Local Services Ads, follow-up automation |
| Scaling (multiple crews or trucks) | $2,500-$7,000+ | All of the above, plus Google Search ads, commercial outreach, and a real CRM |
The mistake at every stage is spreading a small budget across five channels. One channel done properly beats five at a trickle, because no platform learns anything on $3 a day.
What agencies charge and how they price
Three pricing models are common, and comparing proposals is impossible until you know which one you are looking at.
- Monthly retainer. A flat management fee, commonly $500-$2,500 for small home-service accounts. Predictable, and it does not punish you for scaling spend.
- Percentage of ad spend. Usually 10-20% of the media budget. Cheap at small budgets, and it quietly gives the agency a reason to recommend spending more.
- Per lead. A set price per lead delivered. Simple, but ask whether those leads are exclusive to you or sold to two other contractors in your zip code.
The biggest source of confusion: ad spend is normally paid directly to Google or Meta, not to the agency. A $1,000 retainer with a $1,500 ad budget is a $2,500 month, not a $1,000 one. Some shops quote all-in figures that include media. Ask which it is.
Usually included: setup, creative, targeting, optimization, reporting. Often not: your website, photography, review generation, answering the phone, and following up on leads. That last one matters, because a lead nobody calls back is money set on fire no matter who generated it.
Before you sign, ask three questions. Are the leads exclusive to me? What happens in the first thirty days? Can I leave without penalty? Any agency worth hiring answers all three without flinching.
The real cost of doing it yourself
Plenty of good operators run their own ads. But "free" is doing a lot of work in that sentence.
Put a number on your hour. If you net $75-$125 an hour washing, ten hours a month inside ad managers is $750 to $1,250 of production you did not do. That is not an argument against DIY. It is an argument for knowing what it costs before you compare it to a management fee.
Then add the learning curve. The first month of a self-run campaign is usually the worst, because you are paying the platform to teach you what does not work. Budget for that tuition rather than deciding the channel is broken.
DIY makes sense when you have slow weeks, when cash is tighter than time, and when you want to understand the channel well enough to judge whoever runs it later. Hiring out makes sense when you are booked and leads rather than capacity are the constraint. Our Facebook ads guide covers the setup if you want to try it first.
Where to cut first when money is tight
Slow month, tight cash, and the instinct is to cut everything. Cut in this order instead.
- Shared marketplace leads. Highest cost per booked job, lowest margin. Gone first, every time.
- Any tool you cannot attribute a job to. Go through the card statement and cancel anything you cannot name work for.
- Broad brand advertising. Truck wraps, sponsorships, anything without a trackable response. Fine when flush, indefensible when not.
- The weakest paid channel by cost per booked job. Not the most expensive per lead. The most expensive per job.
- Reach in your best channel, before the channel itself. Tighten to your densest zip codes rather than switching everything off.
What you never cut: asking for reviews, photographing every job, posting to your Google Business Profile, and texting last season's customers to book them again. None of it costs money and all of it works. The channel ordering in the full marketing guide assumes that foundation. And if you are cutting because margins are thin rather than because leads are, the problem may be upstream in how you price jobs rather than in what you spend to get them.