Key takeaways
- A cheap lead that never books costs more than a pricier one that does, so judge campaigns on cost per booked job.
- The number only exists once every lead is matched to a job in Jobber, Housecall Pro or your CRM.
- Spring cleaning, summer moves and the last days of each month bring more bidders, so budget by month and by week.
- Booking more of the leads you already pay for lowers cost per job faster than chasing cheaper clicks.
There is no honest Google Ads cost per lead benchmark for a junk removal company, because your number depends on your service area, your load mix and how fast you answer. What you can know is your own cost per booked job. That one figure tells you which campaigns to keep and what a job is worth paying for.
Cost per lead vs cost per booked job
Cost per lead counts every call and form; cost per booked job counts only the ones that end with a truck in a driveway. The gap between the two is where most junk removal ad budgets leak.
A "lead" in Google Ads includes the caller who wanted a dumpster, the price shopper who never sent the photos you asked for, and the estate executor who will book in three weeks or not at all. Google can count a call as a conversion once it lasts longer than a length you choose (Google's call tracking help). It cannot see whether that call turned into a half-truck cleanout on Thursday. That record lives in your field software.
This is the verification gap. Your agency's report says leads are up. Your schedule says Tuesdays are still thin. Until each lead is matched to a booked job, nobody can say which one is right.
From cost per lead to cost per booked job
- Leads you pay for Where it leaks: Spam and wrong numbers
- Real inquiries Where it leaks: Calls nobody answers
- Conversations Where it leaks: Quoted, never followed up
- Booked job Your real number: cost per booked job
Calculating your number
- Pick one full month. Use a month that includes a month-end move-out rush, so the busiest days are in the sample.
- Total the ad spend by campaign. Take it straight from Google Ads, not from an invoice that bundles in a management fee.
- Count the real leads. Calls over your minimum length, plus forms and texts, minus spam and requests for services you do not offer.
- Count the jobs those leads booked. Give each campaign its own tracking number or form tag, and fill the lead source field in Jobber or Housecall Pro on every new job.
- Divide. Spend divided by real leads is cost per lead. Spend divided by booked jobs is cost per booked job.
- Set your ceiling. Take an average invoice for each load size and subtract dump fees, labor and fuel. What is left is the most a booked job can cost before the campaign loses money.
A worked example
These are hypothetical round numbers to show the math. They are not benchmarks.
| Campaign A: broad "junk removal" terms | Campaign B: same-day and cleanout terms | |
|---|---|---|
| Spend for the month | $1,000 | $1,000 |
| Leads | 50 | 25 |
| Cost per lead | $20 | $40 |
| Booked jobs | 5 | 10 |
| Cost per booked job | $200 | $100 |
On the dashboard, Campaign A looks twice as good. In the schedule, it is twice as expensive. Campaign B's searchers named a deadline or a garage, so more of them booked. Without step 4, you would have cut the wrong campaign.
Why costs rise around spring cleaning, summer moves and month-end move-outs
Costs rise in those windows because more people search and more haulers bid on the same searches at the same moment. Clicks are priced in an auction, so a crowded week costs more per click even when nothing about your ads has changed.
Each peak behaves differently:
- Spring cleaning brings garage, basement and shed searches over several weeks. Competition builds slowly, so a monthly budget increase usually covers it.
- Summer moves cluster on weekends. Searches arrive Friday and Saturday for pickups before the moving truck comes.
- Month-end move-outs squeeze into the last few days of each month, as tenants clear out and property managers need units empty before the next lease. A flat daily budget can run dry by mid-morning on those days, and your ads vanish while the phones should be busiest.
The fix is to budget by month and by week, not with one flat daily number. Raise the daily budget for the last week of the month instead of all month long. Use quieter stretches to fix tracking and test new ads, so the peak is not your learning period.
Lowering cost per booked job
The fastest way to lower cost per booked job is to book more of the leads you already pay for. Cheaper clicks help less than most owners expect.
- Answer in minutes. A missed call on a Saturday morning is a paid lead handed to the next hauler. A missed-call text-back catches the calls the crew cannot take.
- Quote from photos. "Text us a photo of the pile" turns a vague caller into a firm range before they call anyone else.
- Show load-size starting prices on the landing page. People who arrive knowing a quarter truck from a full truck book more often and argue less on site.
- Cut the search terms that never book. Junk car, scrap, dumpster and "jobs" searches eat budget in this trade. The keyword guide has a starter negative list.
- Bid harder where you book same day. ZIP codes near the yard and the dump fill the schedule cheaply; the far edge of the area rarely does.
- Feed booked jobs back to Google. Importing booked jobs as conversions lets automated bidding chase jobs instead of calls (Google's conversion help).
How VETS Growth Marketing helps
We set up the lead-to-job matching first, so your cost per booked job is a number you can check against your own schedule, not a claim in a report. Then we work the list above in dated projects, inside a Google Ads account in your name. Bring a month of spend and your job list to a growth consultation and we will work out your real number with you.
Sources
- About conversion measurement, Google Ads Help
- Set up tracking calls to a phone number on a website, Google Ads Help