The data behind every diagnostic.
No "trust us." Here's what we benchmark against, where the math comes from, and what a real engagement actually moved.
Drain & sewer cost-per-lead vs. adjacent home-service verticals.
Cost-per-lead (CPL) is the price you pay to acquire one phone call or form fill from Google Ads, Local Services Ads, or Meta — calculated as total ad spend ÷ total leads. Drain and sewer CPL runs high: it's an emergency, high-value trade, and the keywords are among the most expensive in home services. The flip side is a high CPL tolerance — the job behind the lead is worth hundreds to thousands. The ranges below are what we typically see in Canadian markets — not best-case, not worst-case.
| Vertical | Typical CPL (poor QS) | Typical CPL (strong QS) | Delta |
|---|---|---|---|
| Drain & sewer cleaning | $137 | $52 | −62% |
| Emergency plumbing | $152 | $58 | −62% |
| Septic pumping & service | $98 | $39 | −60% |
| Water damage / restoration | $168 | $64 | −62% |
| HVAC | $118 | $42 | −64% |
Sources: WordStream industry benchmarks (Apr 2025–Mar 2026); Fill My Lines internal audit pool. "Strong QS" = average Quality Score ≥ 7 with separated ad groups by service and emergency/maintenance split. "Poor QS" = average QS ≤ 5 with consolidated ad groups.
Why a 4-point Quality Score swing moves drain CPL by 50%+.
Quality Score (QS) is Google's 1-to-10 rating of how well your keyword, ad, and landing page match what the searcher actually wants. Google's ad auction is roughly: Bid × Quality Score = Ad Rank. Two drain operators bidding the exact same amount on the same keyword in the same Canadian market will pay very different prices depending on QS. It is the single highest-leverage lever in any Google Ads account, and the one most operators have never looked at — the QS column is hidden by default. The example below uses a real emergency keyword where the baseline click is already expensive.
| Quality Score | Effective CPC modifier | Real-world CPC on "emergency drain service Toronto" | Cost per 100 clicks |
|---|---|---|---|
| QS 4 | 1.0× (baseline) | $14.00 | $1,400 |
| QS 6 | 0.55× | $7.70 | $770 |
| QS 8 | 0.33× | $4.62 | $462 |
| QS 10 | 0.20× | $2.80 | $280 |
Modelled from Google Ads CPC ÷ QS curve, validated against Fill My Lines audit pool. Assumes constant conversion rate; CPL drops proportionally with CPC at fixed conversion rate.
This is why "spend more on ads" almost never solves the problem. Adding budget at QS 4 just buys more expensive clicks — and in a trade where the baseline click is already $14, that compounds fast. The work is to move the QS first, then decide whether to add budget.
What a real account looked like, 90 days in.
Client: Owner-operated drain & sewer company, Southwestern Ontario. Two trucks. Running Google Ads on their own for 16 months before the audit. Not enrolled in Local Services Ads.
Going in:
- Monthly ad spend: $3,600
- Average CPL: $128
- Booked calls per month from ads: ~28
- Quality Score (account average): 4.1
- Ad group structure: 1 ad group, 24 keywords, every service line
- Local Services Ads: not enrolled
What the diagnostic found:
- "Sewer backup" and "main line clog" were buried in broad match. Both converted ~5× higher than the rest of the keyword set, at a third of the CPL.
- Call tracking was missing entirely — in a phone-led trade, the account couldn't see which keyword made the phone ring.
- Emergency and maintenance jobs shared one budget, so the cheap septic clicks were starving the emergency campaign at night.
- Landing page form had 8 fields and the phone number wasn't tappable on mobile.
- Eligible for Local Services Ads but never enrolled — invisible above the map on every emergency search.
90 days after the rebuild:
- Monthly ad spend: $3,600 (unchanged)
- Average CPL: $49 (−62%)
- Booked calls per month from ads + LSA: 73 (+161%)
- Quality Score (account average): 7.7
- Ad group structure: 6 ad groups, separated by service line, emergency split from maintenance
- Local Services Ads: live and Google Guaranteed
No new spend. No new tools. Same operator, same trucks, same market. Account structure + Quality Score lift + call tracking + Local Services Ads + landing-page friction reduction. The work paid for itself in month one.
What we don't promise.
Every account is different. Some are already well-structured and only need GBP, call tracking, and Local Services Ads work. Some are leaking from every joint and the rebuild takes the full 90 days to show in the numbers. We won't quote you a CPL number until we've actually seen your account.
What we will promise: the diagnostic is honest. If your account doesn't have meaningful upside, we'll tell you that, in writing, and you'll keep the document.
Want context first? Read the five patterns we find most often, or see how the engagement works after the audit.