Cost per lead was climbing right along with spend every enrollment season. Fixing the funnel and the auction at the same time brought it from $47 to $14, and it stayed there.
The situation
The client is a private school network with multiple locations, running Meta lead-gen campaigns to fill its admissions pipeline ahead of each enrollment cycle.
Like most enrollment-driven marketing calendars, spend follows the cycle: heavier in the months leading up to enrollment decisions, pulled back once the year is set. That rhythm is normal. What wasn’t normal was watching cost per lead climb right along with the spend instead of holding steady.
The challenge
By the peak of the fall 2025 push, cost per lead had reached $47. Several factors were layering on top of each other. Q4 CPMs rise across Meta as holiday advertisers enter the auction, and this account was also competing with other schools running their own admissions pushes in the same window. Targeting was still set broad at the metro level instead of narrowed to where families actually enroll from, ad creative had been running long enough to start fatiguing, and the lead form itself was heavier than it needed to be, adding drop-off on top of everything else.
The solution
Streamline the lead form
The form is trimmed down and simplified, with fewer fields and a faster load on mobile, cutting the drop-off between an ad click and a completed submission.
Replace metro-wide targeting with drive-time radii
Audiences are rebuilt around tight drive-time zones tied to each individual location rather than one broad metro-wide audience, layered with the demographics of the families who actually enroll. Every impression has a realistic shot at converting instead of reaching people outside a location’s real catchment area.
Introduce continuous A/B testing to keep creative fresh
Static stock imagery gives way to an ongoing rotation of short-form video and real on-site photography, continuously tested head to head so creative gets refreshed before it has a chance to fatigue.
Cap bids to sit out the worst of the Q4 spike
Automated bid controls and budget caps are layered in so delivery pauses automatically whenever CPMs cross a set threshold, instead of paying up to stay visible through the most competitive weeks of the season.
The results (through summer 2026)
| Metric | Result |
|---|---|
| Cost per lead | $47 → $14 (Q4 2025 peak → spring 2026 low) |
| Total leads via Meta, first eight months of 2026 | 777 |
| Blended cost per lead over that period | About half of the same stretch the prior year |
| Monthly spend, peak season → off-season | −60% |
Meta Ads Manager platform-reported leads and spend, fall 2025 through summer 2026. Cost per lead is spend divided by on-platform and website lead submissions.
Cost per lead fell from a $47 peak in Q4 2025 to $14 by spring 2026, and held in a narrow range just above that low for the rest of the period. The first eight months of 2026 delivered 777 leads at a blended cost per lead roughly half of the same stretch the prior year. And when monthly investment came down about 60% for the off-season, cost per lead held its gains rather than drifting back up.
Why it worked
It worked because it attacked both halves of the CPL number at once: the friction in the funnel, and the price of the auction itself. Streamlining the lead form removed the drop-off that had been costing conversions before a lead ever completed. Narrowing targeting to drive-time zones around individual locations meant the budget stopped paying for reach outside a location’s real catchment. Capping bids meant the account sat out the worst of the Q4 price spikes instead of chasing them.
For any marketer watching cost per lead climb every Q4 like clockwork: that’s usually not just the season. It’s a clunky lead form, broad targeting, and stale creative eating the budget at exactly the moment competition is most expensive to fight through.
Cost per lead climbing every peak season?
The season is only part of it. Get an audit that shows where the funnel and the auction are each costing you.


