AUD 270K hidden revenue recovered, +35% media efficiency
Liam T. · B2B SaaS
The challenge
A B2B SaaS spending six figures a quarter without a defensible click-to-ARR view. Post-iOS attribution had broken the GA4 → CRM handoff, LinkedIn was undercounted across devices and closed-won deals showed `source: direct` for buyers who had clicked an ad weeks earlier. Spend decisions were guesses against three contradictory dashboards.
The mechanism
GA4 + GTM + CAPI attribution rebuild + trial activation lifecycle. We rebuilt measurement first, optimized to profit — not vanity ROAS — and let clean signal compound across the account.
The result
AUD 270K hidden revenue recovered, +35% media efficiency — measured, attributed and sustained in the Australia market.
Liam T.'s Sydney B2B SaaS recovered AUD 270K in previously invisible revenue and lifted media efficiency 35% after a GA4 / GTM / CAPI rebuild made closed-loop attribution honest for the first time. Trial-to-paid jumped 47% once the activation lifecycle went live.
The Brutal Problem
Liam was head of growth at a Series A B2B SaaS burning $1.4M ARR worth of spend across paid channels with no defensible view of which channels produced revenue. The CEO had been politely asking for the attribution number for six months. Three contradictory dashboards — Google Ads, LinkedIn Ads, HubSpot — refused to reconcile. Spend decisions were getting made on Google's claim of credit, then quietly reversed when HubSpot's "source: direct" deals came in two weeks later. The board had flagged "marketing efficiency" as a yellow at the last meeting; the next meeting was in six weeks and would not be yellow if nothing changed. Liam had been told, privately, that if Q3 didn't show CAC improvement, his role would be "restructured." His partner had bought a house with him eight months earlier on the assumption that his comp was stable. He had started keeping a folder of recruiter messages he hadn't replied to. The product was strong — NPS 47, expansion revenue compounding, churn under 2% monthly. The acquisition layer was a mystery box, and the mystery was eating his job.
What Made It Worse
Four compounding failures. (1) Post-iOS attribution had broken the GA4 → CRM handoff. (2) LinkedIn Insight tag was browser-only — cross-device signups disappeared, undercounting LinkedIn by an estimated 40%+. (3) Closed-won deal value never made it back to the bidders, so Google Ads optimized to trial signups, not paying customers. (4) No activation lifecycle existed — trial users hit signup, then either figured the product out alone or churned silently.
The Diagnosis
Attribution audit found 18% of trials were "source: direct" in HubSpot for users who GA4 showed had clicked an ad in the previous 30 days. LinkedIn deals attributed in the platform: 7 over six months. Real LinkedIn-touched deals confirmed via UTM + last-touch + multi-touch reconciliation: 23. 16 deals worth ~AUD 270K had been credited to "direct" / "other" and quietly defunded the channels that produced them. Google Ads was scaling two campaigns generating high trial volume and zero ARR; LinkedIn campaigns producing the firm's best logos were getting cut budget quarterly. Trial-to-paid sat at 13.8% against industry benchmark for the segment of 22-28%. No activation moment was instrumented — the team couldn't tell which trial users had hit the three product actions that historically predicted conversion. Diagnosis: the bidder was bidding blind, the lifecycle was missing, and the CEO question had no honest answer to give.
The Solution Stack
11 weeks, 11 steps:
- Week 1 — Server-side GTM deployment on marketing site + app subdomain. Dedupe events to GA4, Google Ads, Meta and LinkedIn.
- Week 2 — LinkedIn Conversions API deployed; cross-device signups now captured.
- Week 3 — HubSpot ↔ Google Ads offline conversion upload — closed-won deal value piped daily with 90-day lookback.
- Week 4 — HubSpot ↔ LinkedIn offline conversion upload.
- Week 4 — Attribution reconciliation — identified the AUD 270K of recovered revenue and re-credited it to the right channels.
- Week 6 — Spend re-allocation — killed two zero-ARR Google campaigns; doubled budget on two underfunded LinkedIn campaigns; redistributed 35% of total spend.
- Week 7 — Activation events. Instrumented the three in-product moments historically predictive of paid conversion.
- Week 8 — 14-email activation lifecycle triggered on usage events (or absence of them).
- Week 9 — In-product checklist tied to the three activation moments.
- Week 10 — Sales alerting — Slack ping to AE when a trial hits all three moments, for human assist.
- Week 11 — Single-source-of-truth dashboard — click → trial → activated → paid → expansion, with cost per stage.
The Inflection Point
Week 4. The first day of offline conversion upload to Google Ads, the bidder shifted within 48 hours. A keyword cluster that had been getting throttled (because it produced trials slowly but those trials converted at 32%) suddenly got impression share back. Within ten days, Google-attributed deal value had climbed because the bidder was now seeing the deals it had been blind to. The LinkedIn re-allocation in week 6 produced two enterprise opportunities by week 8 — Liam could trace both back to specific campaigns that had been on the chopping block. He walked into the next board meeting with the recovered AUD 270K, the re-allocation, and the 47% trial-to-paid lift on a single slide. The "yellow" went green.
Final Numbers
| Metric | Before | After | Change |
|---|---|---|---|
| Recovered revenue | AUD 0 | AUD 270K | +270K |
| Media efficiency | baseline | +35% | +35% |
| Trial→Paid | 13.8% | 20.3% | +47% |
| Attribution accuracy | ~62% | ~96% | +55% |
| CAC payback | 14 mo | 9 mo | -36% |
| Pipeline visibility | 3 dashboards | 1 source | unified |
What We Learned / Replicable Playbook
B2B SaaS attribution breaks in three places: cross-device (LinkedIn), iOS (Meta + GA4), and the CRM handoff (closed-won never reaches the bidder). The replicable sequence: (1) server-side GTM + CAPI on every paid platform, (2) offline conversion upload from CRM with 90-day lookback, (3) reconcile attribution honestly — recovered revenue almost always lives in "direct," (4) re-allocate only after attribution is honest, (5) instrument activation events and build a lifecycle around them, (6) move bidders onto ARR, not signups. SaaS that scales spend without closing the click-to-ARR loop funds the wrong campaigns indefinitely. Attribution first, lifecycle second, re-allocation third. The sequence is non-negotiable.
Daily-Life Outcome
Liam kept his job. The yellow on the board deck went green. His comp landed as expected; the mortgage payments stayed comfortable. The recruiter folder got deleted. He took a long weekend in month four for the first time in over a year. The CEO's six-month attribution question now has a one-line answer that reconciles to ARR — and Liam authored it.
FAQ
How long until offline conversions actually move bidding?
14-21 days for Google Ads to learn against the new signal. LinkedIn typically 21-30 days due to longer sales cycles.
Will Meta still be useful for B2B SaaS?
For demand creation and retargeting of pipeline accounts, yes. For cold acquisition, usually LinkedIn + Google Search outperform.
What's an "activation moment"?
The 2-3 in-product actions that, when completed in trial, predict paid conversion at significantly higher rates. We instrument them in week one of any SaaS engagement.
Driving services: Server-Side Tracking · High-Ticket B2B/B2C Lead Generation · CRM Automation. Further reading: GA4 + sGTM Stack · Lead-Gen Attribution Black Hole.
Get a free 48-hour audit → We'll quantify the revenue your current attribution is hiding — and the campaigns that are actually producing it.
Your account has a story like this in it. We'll find it.
A free 48-hour audit shows you exactly where the growth is hiding.