Short version: we make the funnel measurable, fix the biggest leaks, then turn paid back on. You own the plumbing; everything else runs in parallel so growth doesn't wait on you. Here's exactly what that means.
af_start_trial event 3 times in 90 days. So we can see that sales happen; we can't see which step or which ad made them.The one number we're driving: lead → trial, per funnel, reconciled to RevenueCat — plus month-on-month new-MRR growth. If work doesn't move those, it's a distraction.
This is the highest-leverage work in the whole plan, it needs no app-store release, and nothing else can be read until it's in. Phase 0 first:
transaction_id). This is the constraint — everything downstream is unreadable until it reconciles to within 5% of the RC dashboard.2–3hNic's source-prefix convention is agreed: rc_* = RevenueCat · af_* = AppsFlyer · unprefixed = web. Amplitude's AI-merge unifies same-meaning events (e.g. af_purchase + purchase + rc_initial_purchase → Purchase), with the raw prefixed events kept unmerged for audit. API check same day: af_* flowing ✓ · rc_* = zero events in the taxonomy so far — item 1 counts as done when rc_* appears (should be within ~24h of the toggle; ~6 renewals/day) and reconciles within 5% of the RC dashboard.
Then Phase 1 — the keystone: one canonical user_id set across RevenueCat, Amplitude and AppsFlyer (+ passed through from web), so a trial ties back to the campaign that drove it. This is the most error-prone piece — lock the schema in writing on day one before any native code. The RN team can do the native side with you reviewing the two attribution-critical merges.
Before we commit to "~10 days," can the RN team produce a TestFlight build from the current production branch by tomorrow? If yes, the fast path is real. If it needs environment setup first, we'd rather know now and add that time up front.
| Workstream | Owner | What |
|---|---|---|
| Organic growth | Lee + Ritesh | YouTube/reels/SEO/ManyChat aimed at one thing — email capture via the free 8-min assessment. Starts now, zero ad spend, no dependency on you. |
| Native build | RN team + you review | The SDK-level user_id + conversion events (T4–T7) + the app bug fixes behind the churn. |
| Retention emails | Separate plan | Win-back (already live in AC) + churn triggers — run independently of the funnel build. |
| Paid ads | Paused | Stays off until the funnel's measurable and a holdout proves it's incremental. |
Your job is the plumbing. Growth (organic) and retention start moving this week without waiting on it — you're not the single thing the whole company is queued behind.
One daily dashboard we both open every morning: MRR + trials + trial→paid from RevenueCat, funnel steps from Amplitude, spend paused. It starts mostly red and turns green as you land each fix — so it doubles as the progress tracker. "Done" = a number moving, not "it's deployed."
AdServices.framework linked in the app? · is a competitor bidding on our App Store brand terms?Let's get on a quick call once you've had a read — I want us aligned on the sequence before you dive in. This is the core thing that moves MRR, so it's the whole focus.