Home / Case Studies / Junk Removal β Google Ads
Case study Β· Google Ads Β· Home services
A junk removal company was paying $2,107 per lead.
60 days later: $31.87.
Same business. Same Google Ads account. Same bidding strategy on paper. What changed is everything underneath it β and this page walks through exactly what we fixed, so you can check your own account for the same leaks.
The short version
A junk removal business came to Incisive Growth in March 2026 spending $2,107.70 for a single lead. The campaign wasn’t broken because Google Ads “doesn’t work” β it was broken because Maximize Conversions bidding was running with almost no conversion data, so the algorithm was optimizing blind. We fixed conversion tracking first, rebuilt the account around high-intent keywords, added negatives, and matched the landing page to the searches. By May: 167 leads at $31.87 each, with conversion rate up from 0.25% to 18.89%.
01 β The starting point
February looked fine on the surface. The economics were a disaster.
395 clicks. A 3.69% CTR. A respectable-looking $5.34 CPC. And exactly one recorded lead for $2,107.70 of spend. The owner’s words: “the leads I want are not coming at a proper CPL.” He was right β at that cost per lead, every job booked was losing money before the truck left the yard.
(the $2,107.70 cost/conv. dashboard)
(the $31.87 cost/conv. dashboard)
02 β The diagnosis
Why was the cost per lead so high?
If your CPL looks like a car payment, odds are at least two of these four problems are in your account too. This is what our audit found in week one.
-
Smart bidding was learning from nothing
The campaign ran Maximize Conversions β a strategy that optimizes toward conversion data. With one recorded conversion in a month, the algorithm had no signal to learn from. It was spending $2,100 on autopilot with the map upside down.
-
Conversion tracking missed what mattered
Junk removal customers call. They don’t fill out long forms. Phone calls weren’t being tracked as conversions, so real leads were happening β Google just never saw them, and neither did the reporting.
-
Keywords caught the wrong searches
Broad matching pulled in DIY searches, “free junk pickup,” job seekers and out-of-area traffic. Clicks looked healthy; intent wasn’t. No negative keyword list existed to filter any of it out.
-
The landing page didn’t ask for the job
Ads pointed at a generic homepage with no clear offer, no prominent phone number, and no reason to act today. Even perfect traffic would have leaked. (This is where on-page optimization and paid traffic overlap more than most people think.)
03 β What we actually did
Five fixes, in this exact order. The order matters.
Most accounts try step five first and wonder why nothing improves. Tracking comes first β everything else compounds on top of it.
Rebuilt conversion tracking Week 1
Call tracking on the number, click-to-call conversions on mobile, and form tracking on the site β so every real lead became a signal Google could learn from. This single fix is why the May numbers exist.
Restructured around high-intent keywords Week 1β2
Out: broad “junk” terms. In: tightly themed ad groups around searches like “junk removal near me,” “same day junk removal” and “[city] junk haulers” β the searches people type when they’re ready to book, not browse.
Built a negative keyword wall Week 2, then ongoing
Free, DIY, jobs, careers, “how to,” out-of-area cities β blocked before they could spend a cent. We review search terms weekly and keep adding to the wall.
Matched the landing page to the search Week 2β3
A dedicated page with the offer up top, a tap-to-call button, service area, photos and reviews. When the page answers the exact search, conversion rate stops being a rounding error β ours went from 0.25% to 18.89%.
Let smart bidding re-learn β then scaled Week 3β8
With clean conversion data flowing, Maximize Conversions finally had something to maximize. As CPL fell, we scaled spend from ~$2,100 to ~$5,300/month β because at $31.87 a lead, more budget means more booked trucks, not more waste.
04 β The results
February vs May. Same account, different business.
05 β Steal this
Four things to check in your own account this week.
Whether you run junk removal, plumbing, roofing or any local service β these are the same leaks, in the same places.
Are phone calls counted as conversions?
If your customers call to book and calls aren’t tracked, your bidding algorithm is optimizing blind. Fix this before touching anything else.
Read your search terms report
Open it right now. If you see “free,” “DIY,” “jobs” or cities you don’t serve, you’re paying for strangers. Build the negative list.
Don’t judge smart bidding on dirty data
Maximize Conversions isn’t broken β it does exactly what your conversion data tells it. Garbage in, $2,107 leads out.
Send ads to a page that asks for the job
Offer at the top, tap-to-call, service area, reviews. A homepage is a brochure; a landing page is a salesperson.
06 β Questions people ask us (and ask AI)
High cost per lead, answered properly.
The usual suspects: broken or missing conversion tracking, broad keywords attracting the wrong searches, no negative keyword list, smart bidding running without conversion data to learn from, and a landing page that doesn’t convert. In this case, the client was paying $2,107 per lead mostly because Maximize Conversions was optimizing blind β it had one conversion in a month to learn from.
In this order: fix conversion tracking so the algorithm learns from real leads (calls and forms), rebuild ad groups around high-intent keywords, add negative keywords, match your ad copy and landing page to the search, and only then let smart bidding optimize. That exact sequence took this account from $2,107.70 to $31.87 per lead in 60 days.
For junk removal on Google Ads, a healthy CPL usually lands between $25 and $70 depending on the city, competition and average job value. With typical jobs worth $150β$600, that range keeps acquisition solidly profitable. This client reached $31.87 per lead at 167 leads a month.
With clean tracking and a restructured account, meaningful improvement typically shows in 4β8 weeks β smart bidding needs a few weeks of good conversion data to relearn. Here, the fixes went live in March and the account hit $31.87 per lead by May.
Usually no β pausing resets your learning and data. In most accounts the structure and tracking are the problem, not Google Ads itself. Audit tracking, tighten keywords, add negatives and fix the landing page while the campaign keeps running. Pause only if tracking is so broken that spend is truly unaccountable.
It’s the single biggest factor when you use smart bidding. Maximize Conversions optimizes toward whatever conversions you feed it β if tracking is missing or counting the wrong things, it optimizes toward noise and your CPL balloons. Fixing call and form tracking was our first move here, and everything else compounded on top of it.
Your turn
Paying too much per lead? Let’s find the leak.
Send us your website and we’ll audit your Google Ads account the same way we audited this one β tracking, keywords, negatives, landing page. You’ll get a straight answer on where the money is going, usually within one business day. See our full Google Ads management services for how we work.
