The math that tells you whether your ad budget can actually produce a booked job
You've been burned once. Maybe more than once. So before you increase your budget, switch agencies, or change your targeting, there's a calculation worth doing first, because most contractors who've been through the agency cycle are solving the wrong variable.
The instinct after a bad run is to blame the creative, the audience, or the agency. Sometimes that's right. But sometimes the ad is fine, the targeting is fine, and the whole thing still fails to produce a booked job because the budget was never structurally capable of getting there. Not because it was poorly spent. Because it was mathematically too small.
Here's how to work that out before you change anything else.
The three numbers that determine whether your spend can work
Every paid lead campaign runs on three variables: cost per lead, close rate, and daily budget. Each one sets a ceiling on the next. If any one of them is out of range, the output (booked jobs) is zero, no matter how good the other two are.
Cost per lead is what the platform charges to get someone to fill out your form. For Meta ads in the home services space, a realistic range is roughly $8 to $40 per lead, depending on trade, geography, and offer. The Safe Step campaign ASN ran for a rubber resurfacing contractor produced 247 leads at $11 per lead on $2,800 in total spend. That's a tight number for a specialty trade. Roofing and HVAC tend to run higher, closer to $25 to $40, because the competition is stiffer.
Close rate is the percentage of those leads that turn into paid jobs. For most home service contractors who answer the phone and follow up same-day, a realistic range is 10% to 30%. If you're slower to respond, it drops fast. An hour delay on a lead has a measurable effect on whether that person is still available or already booked someone else.
Daily budget determines how many leads you can generate in a given period. At $25/day, you're spending $750 a month.
The calculation a roofer should actually do
Take your realistic cost per lead for your trade and geography. For this example, use $30 per lead, which is a reasonable midpoint for roofing.
At $25/day, $750/month at $30 per lead gives you 25 leads per month.
If your close rate is 20%, that's 5 booked jobs.
If your average roofing job is $4,000, that's $20,000 in revenue against $750 in ad spend. On paper, that works. The math is capable.
But now change one variable. If your cost per lead comes in at $50 instead of $30, because the targeting is broad, the offer is weak, or the creative is generic, that same $750 gives you 15 leads. At 20% close rate, that's 3 jobs. Still workable, but tighter.
Now cut the close rate. If you're slow to follow up and only converting 8% of leads, 25 leads gives you 2 jobs. At 15 leads, it's 1.2 jobs. Rounded down, that's one job per month, which at $4,000 revenue is a 5x return on $750, technically positive, but it feels like it's not working because you spent a month doing it for a single job.
That's the trap. A contractor in this position usually concludes the ads don't work. What's actually happening is that two variables (cost per lead and close rate) are both running at their worst-case values simultaneously, and neither one individually is obvious enough to spot without the math.
Where the model breaks at $25/day
There's a lower threshold where the math becomes structurally impossible, not just tight. If your cost per lead is $40 and your close rate is 10%, $25/day gives you 18 leads per month, and 1.8 booked jobs. That's close enough to 2 that you'd expect to see something.
But here's what actually happens at that level: Meta's algorithm needs data to optimize. It needs roughly 50 conversion events in a 7-day window to exit the learning phase and start improving delivery. At $25/day with a $40 CPL, you're generating roughly 18 leads per month, which is fewer than 5 per week. The campaign never fully learns. It stays in or near the learning phase the entire time, which means CPL stays high, which means lead volume stays low. It's a loop that the budget itself is creating.
This is why contractors who've been burned by an agency often can't tell whether the agency was bad or the budget was wrong. Both can produce the same output: a campaign that ran, cost money, and produced almost nothing.
How to check whether your budget is above or below the threshold
The calculation is simple enough to do before you spend a dollar. You need two things: a realistic CPL estimate for your specific trade and market, and your honest close rate from whatever leads you've worked in the past.
CPL estimates are available from any agency worth talking to. If they can't give you a range specific to your trade and geography, that's information. It means they're either new to your niche or not tracking at the level they should be. The Safe Step rubber resurfacing campaign at $11 CPL is specific enough to be meaningful for a concrete or epoxy flooring contractor. A roofing contractor in a metro market shouldn't expect that number and should push back on anyone who claims they can.
Your close rate is something only you know. If you genuinely don't know it, start tracking it from the next batch of leads you receive. Log every lead, log every outcome. Two months of data is enough to get a working number.
Once you have both, run the version of the calculation above with your real inputs. If the output at your current budget is less than one booked job per month, you either need to increase budget, improve close rate through faster follow-up, or accept that this is a test and not a production system yet.
What to do with this before talking to any agency
Run the math yourself first. Not because agencies are untrustworthy by default, but because walking into a conversation with your own numbers means you're evaluating their claims against a baseline, not just taking their word for it. If an agency quotes you a CPL that makes your $25/day budget look viable, you can check whether that CPL is realistic for your trade. If they quote a CPL that makes the math not work, you can ask what budget would make it work instead.
That's not skepticism for its own sake. It's the difference between being burned again and making a decision with your eyes open.
If you want to see what these numbers look like against your specific trade and market before committing to anything, reach out through the contact page and we'll run the calculation with you.
ASN manages Meta ads for home service contractors with no setup fee and no contract. If you want to see what this looks like for your trade before committing to anything, the contact page is the right next step.
See how it works for your business