How to A/B Test Mobile Onboarding Without Guessing
·Experiment design

A valid mobile onboarding A/B test requires sticky variant assignment per user, controlled traffic allocation between variants, and reliable attribution from onboarding events to subscription purchases. Without these fundamentals, you're measuring noise rather than the true impact of onboarding changes on revenue.
Most teams start testing by randomly showing different onboarding flows, but this approach fails when users see inconsistent experiences across sessions or when you can't connect early behavior to later purchases. The solution is treating onboarding experiments as infrastructure decisions, not just design tweaks.
Why sticky variant assignment matters for onboarding tests
Users who see variant A on Monday must see variant A on every subsequent session. When variant assignment changes between sessions, you corrupt the experiment by exposing users to multiple treatments. This is especially problematic for mobile onboarding, where users often complete flows across multiple app opens over several days.
Implement sticky assignment by storing the variant identifier with the user record at first launch, before any onboarding screens appear. Use the same user identifier throughout the experiment that you'll later use for purchase attribution. This ensures each user experiences one consistent onboarding path from install through subscription decision.
Setting up proper control and treatment groups
Split new users randomly into variants at their first app launch, not at the point they enter onboarding. Splitting at onboarding entry creates selection bias because different variants may affect whether users reach that point. Your baseline conversion rate becomes unreliable when the denominator shifts between variants.
Maintain a holdout group even after identifying a winner. When you shift all traffic to the winning variant, you lose the ability to measure its ongoing performance against the baseline. A permanent 10-20% holdout lets you quantify sustained lift and detect when a previously winning variant stops performing due to changing user behavior or market conditions.
Connecting onboarding events to purchase data
The gap between onboarding completion and subscription purchase often spans days or weeks, requiring careful user identification across systems. Your onboarding experiment needs to track the same user ID that your payment processor associates with purchases. Mismatched identifiers between systems make it impossible to calculate revenue per variant accurately.
Most subscription apps use RevenueCat or similar services that assign an App User ID to each installation. Pass this same identifier to your experiment framework at variant assignment. When purchases occur, match the App User ID from the payment event to the experiment user ID to attribute revenue to the correct variant without relying on probabilistic matching.
Determining sample size and test duration
Calculate required sample size based on your current trial-to-paid conversion rate, expected effect size, and acceptable confidence level. A typical subscription app converting 5% of users might need 15,000 users per variant to detect a 20% relative improvement with 95% confidence. Smaller expected changes require proportionally larger samples.
Run tests until you reach statistical significance and observe at least one complete subscription cycle. If you offer a 7-day trial, run for at least 14 days after reaching your sample size to capture users who subscribe at different points in their trial. Stopping early based on positive early signals leads to false positives when day-7 conversion rates differ from day-3 rates.
Implementing gradual rollouts and monitoring
Start new onboarding variants at 10-20% traffic allocation to detect technical issues or unexpected negative impacts before exposing your entire user base. Monitor crash rates, completion rates, and time-to-subscribe daily during the first week. Automatic traffic shifting based on early metrics often produces false winners, so maintain fixed allocation until statistical significance.
Tools like Spinosis handle sticky variant assignment, gradual traffic shifting to winners while preserving holdouts, and automatic attribution when App User IDs match between the experiment and RevenueCat purchases. This infrastructure lets you focus on designing better onboarding experiences rather than building experiment frameworks, though it requires budget allocation for the API service.
Questions
Should I run multiple onboarding experiments simultaneously?
Run only one onboarding experiment at a time unless you can mathematically prove the tests are independent. Simultaneous experiments on sequential screens create interaction effects that invalidate both tests. If you must test multiple elements, use a full factorial design that tests all combinations, though this requires much larger sample sizes than sequential testing.
How do I handle users who abandon onboarding partway through?
Include all users assigned to each variant in your analysis, regardless of whether they completed onboarding. Excluding incomplete users creates survivorship bias that overstates your results. The variant that produces the highest revenue per assigned user wins, even if it has lower completion rates but higher purchase rates among those who do complete.
When should I stop a test that shows negative results?
Stop immediately if a variant causes significantly higher crash rates or violates platform policies. For performance metrics, wait until reaching statistical significance before calling a test negative. What appears as underperformance at 5,000 users often regresses to neutral by 15,000 users as early random variation evens out across the larger sample.
Turn on auto-optimize for one test.
Create a project, install the SDK, connect RevenueCat. Traffic starts shifting on its own.