Home/Case Studies/USA Home Services: 68% Cost-Per-Lead Reduction After Fixing Ghost Conversions
Home Services· United States· May 15, 2026

USA Home Services: 68% Cost-Per-Lead Reduction After Fixing Ghost Conversions

Google Ads reported 127 conversions. The CRM showed 48. Over 60% of "leads" never existed — phantom form fires were destroying Smart Bidding. We rebuilt the tracking stack and cut CPL from $210 to $67.

-68%
Cost Per Lead
$210$67
+153%
Tracking Accuracy
38%96%
-94%
Wasted Spend/Month
$8,400$480

The Problem

A US-based home services company came to us spending $12,000/month on Google Ads. On paper the account looked great — 127 conversions, $94 average CPL. In reality their CRM (GoHighLevel) was recording 48 actual leads.

The 79-lead gap wasn't a rounding error. It was feeding corrupted data to Smart Bidding, which was optimizing for ghost conversions.

Root Cause Diagnosis

Three separate problems:

  1. Browser-side GTM double-firing — thank-you page loaded twice on mobile Safari due to a redirect loop. Every mobile form submit counted as 2 conversions.
  2. No deduplication — same session could fire the conversion tag multiple times if the user hit back and resubmitted.
  3. Phone calls not tracked — all call leads were invisible to Google Ads. Smart Bidding was blind to 30% of actual conversions.

What We Did

Step 1 — Server-Side GTM on Stape.io

Moved all conversion tags off the browser onto a server-side container. Server-side firing is immune to double-fire and deduplication issues that plague browser GTM.

Step 2 — Enhanced Conversions

Added hashed email + phone matching. Google match rate improved from 61% to 89% — stronger signal on real leads.

Step 3 — GoHighLevel → Google Ads Offline Import

Built a Zapier workflow: when a lead reaches "Qualified" stage in GHL, it fires an offline conversion back to Google Ads with the original GCLID. Smart Bidding now optimizes for leads that actually answer the phone.

Step 4 — Call Tracking

Added call conversion tracking for calls >60 seconds. Previously untracked.

Results (30 Days Post-Launch)

Metric Before After
Reported conversions 127 52
CRM-verified leads 48 50
Tracking accuracy ~38% 96%
Cost per lead $210 $67
Monthly wasted spend ~$8,400 ~$480

The account looked worse on paper after the fix — conversion volume dropped from 127 to 52. But actual leads barely moved (48 → 50). The difference is Smart Bidding now has real data.

Key Takeaway

If your CRM lead count and Google Ads conversion count don't match within 10–15%, you have a tracking problem — not a performance problem. Fix the data before you optimize the campaign.

Server-side GTMEnhanced ConversionsGoHighLevelOffline ConversionsGoogle AdsStape.io

Want the same results?

Book a free 30-minute audit. We'll find your tracking gaps and wasted spend — no pitch, no pressure.