The situation when we started
€240k/month paid spend across Google, LinkedIn, and Reddit. CAC per channel reported wildly inconsistent values depending on which dashboard you opened. Lifecycle was strong (90%+ gross retention), so the cash drag wasn't existential — but every board meeting had a "what's working" question that nobody could answer cleanly.
What we found in the audit
- Client-side GTM only — iOS Safari was dropping ~30% of conversion events.
- Offline conversions piped to Google Ads only included form submission, not closed-won deals. So Google was optimizing for marketing-qualified noise.
- No identity stitching — the same prospect could be counted as "Google" on one visit and "Direct" on the next.
What we shipped, in order
Weeks 1-3: server-side GTM on a first-party
subdomain, restored ~25% of dropped events overnight.
Weeks 3-6: CRM webhook → ads platforms with
closed-won + opportunity events. Took 2 weeks of optimization
before Google's algorithm adjusted, but by week 7 the audience
mix shifted noticeably.
Weeks 6-9: Segment-based identity stitching
across anonymous → user → company. Built the dashboard on top
of BigQuery, refreshed nightly.
What changed
The dashboard showed something the team didn't expect: Reddit had been outperforming Google on payback for 4 months, hidden by the broken attribution. We tripled Reddit spend, halved a Google campaign that was burning budget on attribution-overlapped pipeline.
By month 4, blended CAC was down 38% with the same pipeline target. By month 9, payback had compressed from 14 months to 8.
What we'd tell you to take from this
Don't scale spend you can't measure. The instinct when growth slows is to push more budget into the channel that looks best. Step back, fix measurement, then scale. The 6-8 weeks of measurement work pays for itself once — usually within the first reallocation decision.
Want to talk about your own measurement stack? Book a call.