SSpinosis

Auto-optimizing onboarding experiments

Personalize onboarding.
Auto-test variants.
Grow subscription revenue.

Spinosis assigns users, watches which onboarding actually converts, and shifts new traffic toward the winner — automatically. You still keep a holdout. RevenueCat tells you which experience made more money.

spinosis.com / experiments / onboarding_v1
Shorter Onboarding
Auto-optimize
Control
$2.42
revenue / user
New-user traffic
72% B
shifted from 50/50 this week
MetricControlVariant BLift
Users1,1801,215+3.0%
Paid users81102+22.3%
Revenue$2,855$3,900+36.6%
React NativeiOSRevenueCatAuto-optimizeRevenue per user

01

Test onboarding, then let it run

Ship Control and Variant B in your own screens. Each user gets a sticky assignment. As results come in, Spinosis sends more new users to the winner and keeps a holdout on the rest. The SDK never blocks onboarding if the network is slow.

import { Spinosis } from "@spinosis/react-native";

await Spinosis.init({
  apiKey: "spn_live_xxx",
  userId: currentUser.id,
});

const variant = await Spinosis.getVariant("onboarding_v1", {
  fallback: "control",
  timeout: 1500,
});

if (variant === "variant_b") {
  return <NewOnboarding />;
}

return <CurrentOnboarding />;

02

Measure subscription revenue

Connect RevenueCat with a webhook. Purchases and renewals are attributed to the variant that user actually saw — using the same App User ID you pass to the SDK.

Attributed from RevenueCat
INITIAL_PURCHASE · user_123$38.00 → Variant B
RENEWAL · user_88$35.00 → Control
INITIAL_PURCHASE · user_410$40.00 → Variant B

03

Auto-shift to what actually won

Compare users, onboarding completion, trials, paid conversion, and revenue per exposed user. Auto-optimize reallocates new-user traffic every hour, then generates a new headline from the winner to keep testing. RevenueCat still decides the money winner.

Auto-optimize
Shifting to Variant B
New users 72% B · 28% holdout

Assigned users stay put. New traffic follows the better Welcome CTA, then a challenger headline is generated from that winner. Revenue per user is still the score that matters.

How it works

01
Experiment

Create Control vs Variant B and turn auto-optimize on.

02
Sticky users

Each person keeps the variant they first saw.

03
Auto-allocate

New users shift toward the winner, then a new variation is generated from it.

04
Revenue

RevenueCat shows which experience made more money.

Turn on auto-optimize for one test.

Create a project, install the SDK, connect RevenueCat. Traffic starts shifting on its own.

Start testing