A/B test your prices. No App Review. No new SKUs.
Run real price, free-trial, and checkout-copy experiments on your iOS & Android subscriptions — on your web checkout, where you set the rules. Read revenue-per-visitor, then ship the winner to your live catalog in one click.
Three walls block price testing. We removed all three.
"Just A/B test your price" is normally impossible on mobile. Here's why — and how running on your own web checkout gets through.
App Review
Apple and Google review every price and paywall change — tests risk rejection and take days. ZeroSettle experiments run on web checkout, which isn't gated by App Review. Change prices instantly.
SKU duplication
Native price tests need a separate product per price point, polluting your catalog forever. With ZeroSettle, one canonical product has variants that override price at checkout — no new SKUs.
The 30% tax
Even if you could test, the store takes ~30% — so the "winning" price is distorted. As Merchant of Record, ZeroSettle routes eligible purchases at ~3% processing. You test on the economics you actually keep.
Price, trials, copy, migration, upsell, win-back
Every experiment shares the same loop — controlled traffic splits, deterministic & sticky assignment, conversion significance, and a declare-and-ship-the-winner action. Four types run on it.
Pricing experiments · new
Test real prices, free-trial durations, and checkout copy on your subscriptions. Each dimension defaults to your catalog baseline and overrides independently per variant. Winners ship to your live catalog. Deep dive ↓
Switch & Save (migration)
Move existing App Store / Play subscribers to direct web billing at a discount — and A/B test the offer messaging to maximize how many switch. Higher margins for you, a better price for loyal subscribers, no double-billing. See migration →
Upgrade offers
Present and A/B test upsell offers that move subscribers to a higher-value plan, with proration handled automatically. Test the timing, the discount, and the framing. See upgrade & retain →
Cancellation flows
Test retention offers shown at the moment of cancellation to win back churning subscribers. Find the save offer that actually saves the sale. See campaigns →
Author → run → measure → ship
Stand up a pricing experiment from the dashboard. No release, no rebuild, no per-variant fees — and what you show is always what you charge.
- Pick the products to test. Create a Pricing experiment over one or more subscriptions.
- Author variants. Override three optional dimensions per variant — price (anchored by your real App Store & Play prices), free trial (none / 7-day / 14-day / custom), and checkout copy (title, message, CTA). Each defaults to your catalog baseline.
- Run it. Users split across variants deterministically and stickily — a given user always sees the same variant.
- Ship the winner. One confirmed action writes the winning price and trial into your live catalog and ends the test — with a confirmation diff before anything goes live.
What you show is what you charge
The promises underneath the product — so your data is clean and your customers are never surprised.
Displayed price = charged price
The same resolution drives the price a user sees and the price Stripe charges. No bait-and-switch, ever.
Sticky, deterministic assignment
A user keeps the same variant across visits, so the experience is consistent and the data stays clean.
Exact attribution
Every resulting transaction is tagged with the experiment and variant that set its price — with an "applied $X vs. baseline $Y" breakdown in your transactions table.
App Store compliant by design
Only web checkout varies; native store prices stay at baseline. That's the compliance feature — you never risk a rejection.
Safe ship-to-catalog
Shipping a winner writes prices to your live Stripe catalog idempotently, leaves other settings untouched, and shows a confirmation diff. Works for managed and bring-your-own-Stripe accounts.
Included on every tier
No experimentation surcharge, no per-variant fees. Experiments come with direct billing on both BYOS and Managed.
Revenue per visitor, not just conversion
A higher price that converts a little less can still net more money. Pricing results lead with revenue per visitor (price × conversion) and the lift vs. control — so you optimize the number that actually matters.
Results that decide for you
Per variant: web price, visitors, conversions, conversion rate, revenue per visitor with lift vs. control, and total revenue — winner highlighted. Statistical significance is computed on conversion, so you know when a result is real.
Campaign analytics
An impressions → conversions funnel with trends over time, a per-user distribution and drill-down table (filter, search, export to CSV), and a portfolio hub summarizing every campaign with sparklines.
Transaction-level transparency
Any experiment-attributed purchase carries an experiment marker in your transactions table; open it to see the experiment, the variant, and the exact applied-vs-baseline price. Filter the whole table to "in an experiment."
Pair experiments with a Switch & Save campaign to roll a winning offer out to existing subscribers — and see why direct billing gives you the pricing freedom to test in the first place.
Experiment questions
The honest edges of what runs today.
Will price testing get my app rejected?
No. Experiments run on your web checkout, which isn't gated by App Review. Native StoreKit and Play Billing prices intentionally stay at your catalog baseline — that's the compliance feature, not a limitation. Experiments affect the web-checkout path.
What exactly can a variant change?
Three independent dimensions: the price, the free-trial duration, and the checkout copy (the title, message, and call-to-action on the ZeroSettle checkout page). Each defaults to your catalog baseline. Testing copy on your app's own pre-checkout paywall is on the roadmap, not shipped today.
How is the winner decided?
Revenue per visitor (price × conversion) is the decision metric, shown with lift vs. control. Statistical significance is computed on conversion rate with a standard chi-squared test, so the significance stamp tells you when the conversion difference is real. You stay in control of the call — then ship the winner when you're confident.
Does shipping a winner touch my other settings?
No. Shipping writes only the winning price and trial to your live Stripe catalog, idempotently, and shows a confirmation diff before anything goes live. Everything else is left untouched. It works for both ZeroSettle-managed and bring-your-own-Stripe accounts.
Keep 85%+, then optimize the 85%.
Stand up your first pricing experiment from the dashboard — no SDK rebuild, no per-variant fees. Revenue per visitor and conversion significance are computed for you.