Home page A/B test

2026-05-30 · 10 days · 131 landing clicks
Recommendation

Ship the daily arm. Retire the onboarding-first flow.

People who land on a tangle first complete twice as many tangles AND sign up more often than people who hit the Library Card builder + login wall first. Skipping the login gate isn't costing us sign-ups — it's giving us more of them.

The one chart

Of everyone who clicked the landing CTA in this window:
…how many played at least one tangle? priority #2
daily
61%
onboarding
39%
…how many played a second tangle? priority #1 — the one we care about most
daily
18%
onboarding
3.5%
…how many ended up signed in? priority #3
daily
20%
onboarding
13%

Daily wins on every metric. The second-tangle gap (5×) is the loudest signal.

The surprise

Removing the mandatory login produced more sign-ups, not fewer. The forced login redirect in the onboarding arm wasn't converting people; it was filtering them out before they could even play. Of every 100 people who clicked the CTA in the onboarding arm, 22 finished the Library Card builder and then bounced at the login screen without ever playing a tangle. The daily arm, with no login gate at all, ends up with both more engaged users and more signed-in users.

Even better: the people who do sign up in the daily arm are real users — almost all of them have played a tangle. In the onboarding arm, 41% of sign-ups are "ghost" accounts (someone forced through login who then disappeared).

The thing about the starter picker

After someone finishes their first tangle, the "Pick one of three" starter picker auto-opens with Love / Work / Social cards. Tapping one writes the user's category and launches the starter tangle for that category. There's no "Skip" — you either pick, or you tap × / outside / close.

This is the bridge to a second completion. Almost no one reaches a second tangle without going through it.

The picker works really well in the daily arm — but only for the half of people who don't dismiss it:

Daily arm · what engaged users do with the picker
see it
100%
tap a card
51%
finish it
32%

49% of people see the picker and dismiss it without picking. That's the biggest opportunity to lift the second-tangle number further. Once someone taps a card, ~73% finish the starter tangle — that part of the funnel is healthy. The leak is at "do I want to tap this or not."

Some things to try: make the modal harder to accidentally dismiss, sharpen the card CTAs, or replace it with a non-modal home-page surface that doesn't ask for an opt-in tap at all.

The onboarding arm has a separate problem: the picker barely fires for authed users at all (~16% of completers see it vs 100% in daily). Almost certainly a once-per-session timing bug in decideFlowState. Worth fixing on its own.

What I'd do next

The boring stuff — caveats, exact numbers, instrumentation notes

The data is messy in a few specific ways:

  • PostHog's variant tag (ab_landing_bucket) is broken on every play-domain event because consumeLandingArrival() in apps/trove/src/lib/landing-arrival.ts isn't firing right. The cohort numbers above come from a Convex-side reconstruction (using onboardingCompletedAt as the arm signature). Top-of-funnel CTA counts are clean.
  • About 44% of the users created in window have no signal either way (no onboarding, no tangle play) — mostly bots/bounces. They're excluded from both cohorts. If they secretly skewed toward one arm we'd be off, but there's no reason to think they did.
  • One featured tangle ("Toronto Tech Week") accounted for 67% of daily-arm first plays in this window. Steady-state still always has a featured tangle, so this is what shipping looks like.
  • Only 131 CTA clicks total. The directional finding is large enough to ship; the precise rates are wobbly. Re-run when instrumentation is fixed.

Exact numbers (Convex prod, users created 2026-05-20 → 2026-05-30):

  • Onboarding cohort n=237 · 92 engaged · 8 completed ≥2 · 32 authed · 19 engaged-and-authed
  • Daily cohort n=204 · 125 engaged · 35 completed ≥2 · 40 authed · 39 engaged-and-authed
  • Engaged-and-authed as % of cohort: 8.0% vs 19.1% (daily is 2.4× higher)
  • Conditional auth rate (auth | engaged): 20.7% vs 31.2%
  • Median time from CTA click to first tangle completion: 7.7 min vs 6.7 min

The picker funnel (daily arm, n=125 engaged): 64 pick → 55 launch (9-user gap is measurement noise, tab closes) → 40 finish. So 51% pick rate, ~73% finish rate among those who pick. Onboarding arm only 15/92 = 16% pick because the modal barely fires.

Behavioral framing. The pattern here is the well-documented "friction-after-value beats friction-before-value" effect on mobile-web consumer products. Once someone has played a tangle, they've invested time and self-disclosure into a result they want to see; asking for sign-in then converts at 63% (the dismissible post-2nd-completion modal). Asking strangers to sign in before any value exists converts much worse. The data agrees with the framework.

Things this analysis doesn't answer: retention beyond 10 days, mobile vs desktop split downstream of the CTA, whether a shorter onboarding (no login gate, fewer screens) would beat daily, whether the Library Card has value if introduced after the user has invested a few tangles.

Full markdown source: local_docs/data/analysis-home-page-ab-test.md · GitHub issue: trove-mono#416.