Case studies

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. 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. 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. 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. 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. 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.

Gmail Postmaster user-reported spam rate. Before: repeated spikes up to about 28% between December and March. After: flat at 0% from 18 to 25 March.
Gmail user-reported spam rate, before and after the fix. Gmail Postmaster Tools.

What we built

Six moves, in the order they shipped.

  1. Authentication rebuild

    SPF, DKIM and DMARC corrected, so every receiving provider could verify the domain before volume came back.

  2. List cleanup

    The invalid third suppressed. Sends stopped going to addresses that could only bounce.

  3. Controlled ramp

    Volume brought back on a schedule the domain could sustain, instead of re-flagging it on day one.

  4. 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.

  5. Five lifecycle flows

    Onboarding, re-engagement, gate-hit, paywall conversion and broadcast. Re-engagement rebuilt on a correct entry condition, clearing the queue.

  6. 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.

The rebuilt onboarding flow: sign-up trigger, welcome email, then branches on whether the user opened and whether they created a companion, each leading to a different email or an exit.
The rebuilt onboarding: every step branches on what the user did.

Results

What changed, and where each figure comes from.

MetricBeforeAfterSource
Onboarding recipients reaching activation (first companion)13.3%60.2%Client reporting · 76,266 sends (prior month) vs 9,806 (rebuild)
Gmail user-reported spam28% peak0%Gmail Postmaster · 18–25 Mar
Gmail bounced56.3%2.1%Account deliverability report
Gmail delivered43.7%97.9%Account deliverability report
Re-engagement converted1.0%8.4%Client reporting
Re-engagement opened8.5%27.1%Client reporting
Re-engagement clicked0.2%6.1%Client reporting

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.

Onboarding reporting. Before: 76,266 sent, 5.8% opened, 0.8% clicked, 13.3% converted. After: 9,806 sent, 13.5% opened, 2.0% clicked, 60.2% converted.
Onboarding before and after the rebuild, from the client’s reporting.

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.

Find the revenue you’re losing.

Tell us where you think it breaks. We’ll show you what the evidence says.