Posting the L because everyone shares the wins. Clean build, correct tracking, still produced nothing. Here's why. The setup: water damage, single metro (San Antonio), ~$434/qualified call buyer. Ringba DNI + number pool, gclid passed as a tag, offline conversion import back to Google Ads. Mobile-only Search, exact + phrase, ~45 negatives, Max Clicks w/ CPC cap. The run (10 days): - $535.66 spent GoogleAds - 580 impressions (~58/day) - 19 clicks, $28.19 avg CPC - 0 billable calls (1 junk — burst-pipe guy asking how to shut his water off) What killed it: market size, not the build. Every lever worked, bumped the CPC cap and watched impression share go 48% → 68%, rank-loss 52% → 32%. But at 68% IS I was only pulling ~58 impressions/day, meaning total available inventory in the whole city was ~85–100/day. Even owning 100% of it caps you at ~5 clicks/day in the entire metro. No bid or landing page manufactures demand that isn't being searched. The kicker: this ran during the worst flood in San Antonio in ~30 years!! Peak-of-peak demand. It produced one guy asking how to turn off his water. If it can't print then, it's not a tuning problem. Why I killed it instead of scaling: you don't scale into zero signal. One billable call is a proof point worth multiplying; zero is zero at any scale. Multiplying a thin single city by 10 markets doesn't 10x the calls — it 10x's the burn while you rediscover the same nothing. $535 to learn this in a controlled test is cheap. $10k/week to learn it at scale is not. Lessons: - Don't test volume-limited verticals in one metro... if you can't hit ~40–60 clicks in 2 weeks, you can't get a read before real money's gone. - Write your kill criteria down before you start ("no billable call by X clicks/$Y → stop"). Otherwise you tune your way to $1,500 spent. - Pay-per-call is scale-or-shelve, not slow-grind. Clean tracking and tight negatives are table stakes — the edge is picking a market deep enough that winning the auction is worth it.