AI companion subscription app
Every report said “delivered”. Gmail disagreed.
A 66,000-contact subscription app whose lifecycle looked healthy on every dashboard, and wasn’t responding to anything its users did. Six weeks to rebuild it around behaviour.
- 60.2%
from 13.3%of onboarding recipients reached activation (first companion created) after the rebuild - 0%
from 28% peakGmail user-reported spam rate, 18–25 March - 8.4%
from 1.0%re-engagement conversion on a corrected trigger
The situation
Green reports, silent failure.
An AI companion app on a monthly subscription, with 66,000 contacts. Campaigns were scheduled, onboarding was live, re-engagement was live. Sends went out every day and every report came back green.
The reports measured whether emails were sent. Nobody was measuring whether they arrived, whether any sequence responded to what a user did, or what the users falling out of the funnel were worth. We were brought in for six weeks to audit the whole system, rebuild it and hand it back documented.
What we found
Five problems no dashboard showed.
- 1
Gmail had stopped trusting the domain
User-reported spam had spiked repeatedly since January, peaking around 28% in early February. SPF, DKIM and DMARC needed correcting. Gmail bounces sat at 56.3%; only 43.7% was delivered.
- 2
A third of the list was invalid
32% of the 66,000 contacts were invalid addresses the system had been emailing for months, poisoning the sender reputation the important campaigns depended on.
- 3
One trigger queued 174,000 sends
A single misconfigured entry condition on the re-engagement campaign had queued around 174,000 sends against a 66,000-contact base. It appeared in no campaign report.
- 4
Onboarding ran on a timer
Emails fired on elapsed days, whatever the user had done. In the month before, it sent 76,266 emails and 13.3% of new users reached companion creation, the product’s activation moment.
- 5
No step checked behaviour
No sequence checked for an open, a click, a product event or a return, so an engaged user and a dead address were treated identically.
What we built
Six moves, in the order they shipped.
Authentication rebuild
SPF, DKIM and DMARC corrected, so every receiving provider could verify the domain before volume came back.
List cleanup
The invalid third suppressed. Sends stopped going to addresses that could only bounce.
Controlled ramp
Volume brought back on a schedule the domain could sustain, instead of re-flagging it on day one.
Behavioural onboarding
Onboarding rebuilt around what the user does: opened, created a companion, sent a message, came back. Each branch gets a different next email, or exits.
Five lifecycle flows
Onboarding, re-engagement, gate-hit, paywall conversion and broadcast. Re-engagement rebuilt on a correct entry condition, clearing the queue.
Measurement and handoff
A benchmark for every flow, reported daily in Slack, plus a launch-readiness roadmap and the SOPs the internal team now runs the system from.
Results
What changed, and where each figure comes from.
Later, the product’s paywall changed. A reading of onboarding after that change shows 43.4% activation on 2,590 sends: a different stage of the product, so it is not a re-measurement of the rebuild.
The takeaway
A lifecycle that doesn’t respond to behaviour reports success anyway. The fix wasn’t better emails. It was making the system react to what users actually did, and reading the trigger logic instead of the dashboard.
More case studies
- 78,708contacts audited; 11,032 excluded, removed or suppressed Realworld They asked for five campaigns. First, we decided who owned the user. Read the case study
- 1 → 4one intake, four outcome paths Aviation mental health practice An assessment that decides what happens next, and escalates when it matters. Read the case study
- 2lead funnels, split by intent Simplicity & Productivity Co. Leads were arriving. Nothing was carrying them to a purchase. Read the case study