- Ceiling = project value × margin × share you’ll spend × show rate × close rate.
- Booked estimates show up within days. Signed jobs can take months.
- Set a separate ceiling for each job type you advertise.
- When the number climbs, check whether leads got pricier or stopped booking.
Why this number is worth watching
Cost per lead arrives first but says little. Cost per signed job is the final score, but on big projects it can take months to settle. Cost per booked estimate sits in between: it shows up within days of the spend, and it only counts homeowners who agreed to meet you.
That makes it the most useful early read on a campaign, as long as you know what a booked estimate is allowed to cost.
How to set your ceiling
Start from one signed job and work back to one booked estimate. Include your show rate. A booked estimate that never happens still cost you the ad spend.
- Gross profit per job = average project value × gross margin
- Most you’ll pay per signed job = gross profit × the share you’ll spend to win it
- Ceiling per booked estimate = that amount × show rate × close rate
Worked example (example numbers, not a benchmark)
Say your average job is $32,000 at a 30% gross margin: $9,600 in gross profit. You’re willing to spend 8% of that to win it, so $768 per signed job.
Nine in ten booked estimates actually happen, and you close 25% of the ones you run. The ceiling is $172.80 per booked estimate ($768 × 90% × 25%).
Now check two campaigns. One spent $3,600 and booked 24 estimates: $150 each, under the line. The other spent $2,400 and booked 10: $240 each, well over it. The second campaign might even have cheaper leads. It’s still the one to fix.
The ceiling isn’t the target
Spending right at the ceiling means each job covers its own marketing and nothing else. Your estimator’s time, the drive, and the proposal write-up still have to come out of what’s left.
Pick a working target comfortably below the ceiling. Treat anything near the ceiling as a warning, and anything over it for more than a few weeks as a campaign to change or cut.
When the number climbs, find out why
Cost per booked estimate is cost per lead divided by booking rate, so it can rise for two very different reasons. Each one points to a different fix.
- Cost per lead rose, booking rate held: look at the ads, the audience, and tired creative
- Cost per lead held, booking rate fell: look at response time, follow-up, and the booking step
- Both moved: something changed upstream, like a new offer or page. Compare before and after
Count only real bookings
The math breaks if “booked” means different things on different days. Count a booked estimate once, when it has a date and time on the calendar, inside your service area, for work you do. A reschedule isn’t a second booking. A “call me next month” isn’t a booking at all.



