To A/B test a SaaS price, show one new price to a share of new visitors and keep it only if it earns more per visitor.
- Test one plan and one price change at a time.
- Judge by revenue per visitor, not conversion rate.
- Wait for at least 30 sales and 95% confidence before you decide.
- Leave existing customers on the price they pay today.
Why test instead of guessing
Price is the strongest lever most SaaS have. In a study of 2,463 companies, a 1% better price raised operating profit by 11.1% on average.[1] Yet founders spend very little time on it: one estimate puts the average SaaS at about 6 hours on its pricing strategy, ever.[2]
A raise feels risky because you can’t see the customers you lose. A test shows you both sides: how many fewer people buy at the new price, and whether the extra money from each one makes up for it.
The 7 steps
- 1
Pick one plan and one price change
Start with the plan most customers buy. Change only the price, not the features, so the result has one cause. A clear change (for example $29 to $35) is easier to read than a small one.
- 2
Create the test price in Stripe
Add it as a second price on the same Stripe product. Your current price stays as it is. PricingFast creates the test price for you under your plan names.
- 3
Choose who sees it
Only new visitors, picked at random. Pick the share on the test price: 10% is cautious, 50% gives an answer three times faster. Each visitor keeps seeing the same price on every visit.
- 4
Estimate how long it will take
Plug your traffic into the test duration calculator. If the answer is a year, test a bolder change or a bigger share before you start.
- 5
Install and rehearse before anyone sees it
Your pricing page needs to show the right price and send the buyer to the matching checkout. With PricingFast your coding agent adds a script, a
data-pf-priceattribute on your prices and an off switch. You check both prices on localhost with?pf_variant=Aand?pf_variant=B.Step-by-step instructions are in the install guide.
- 6
Launch, then wait for the verdict
Don’t stop on an early lead: the more you check and stop, the more often you keep the wrong price.[3] PricingFast only calls a winner at 95% confidence with at least 30 sales, and shows the days left meanwhile.
- 7
Keep the winner, archive the other
New visitors all get the winning price. The losing price is archived in Stripe: nobody new can buy it, and customers who already did keep their plan.
Pick the right metric: revenue per visitor
Conversion rate tells you how many people bought. It can’t tell you whether a higher price was worth it. Revenue per visitor can: it’s the revenue a price brought in, divided by the visitors who saw it.
| Today’s price | Test price | |
|---|---|---|
| Price | $29 / mo | $35 / mo |
| Visitors | 1,000 | 1,000 |
| Buyers | 30 | 28 |
| Conversion rate | 3.0% | 2.8% |
| Revenue per visitor | $0.87 | $0.98 |
Price
- Today’s price
- $29 / mo
- Test price
- $35 / mo
Visitors
- Today’s price
- 1,000
- Test price
- 1,000
Buyers
- Today’s price
- 30
- Test price
- 28
Conversion rate
- Today’s price
- 3.0%
- Test price
- 2.8%
Revenue per visitor
- Today’s price
- $0.87
- Test price
- $0.98
Judged by conversion, the test price loses. Judged by revenue per visitor, it earns 13% more. That’s the number PricingFast uses to pick the winner.
Worked example
Restage sells virtual home staging to French real-estate agents. Its Solo plan costs €29 a month. The founder tests €35 on half of new visitors.
The test price earns 20% more per visitor.
| Price | Visitors | Sales | Per visitor |
|---|---|---|---|
| €29/moToday’s price | 7,400 | 222 | €0.87 |
| €35/moTest price | 7,400 | 220 | €1.04 |
Verdict reached. Almost as many agents buy at €35, so each visitor is worth 20% more. New agents now see €35; agents already paying €29 keep their price.
Mistakes to avoid
- Testing on existing customers. It breaks trust and mixes renewals with new sales.
- Changing features and price together. You won’t know which one moved the result.
- Stopping on a good first week. Early leads often fade.
- Showing a fake discount. A crossed-out “was” price that never existed is misleading, and illegal in many places. See the legal guide.
- Testing a tiny change with little traffic. $29 to $31 can take years to read.
Questions
Should I measure conversion rate or revenue per visitor?
Revenue per visitor. A higher price almost always converts a little less, so conversion rate punishes every price increase. Revenue per visitor (revenue divided by visitors who saw that price) tells you which price earns more.
Should existing customers see the test price?
No. Test on new visitors only and leave current subscriptions untouched. Customers who already pay keep their price, which is what PricingFast does by default.
How many prices should I test at once?
Two: today's price and one test price. Every extra price splits your traffic again and makes the test take much longer.
Can I A/B test prices with Stripe alone?
Not with a built-in feature: Stripe's A/B testing compares payment methods, not prices. You need a second Stripe price, a way to show it to part of your visitors, and a way to compare revenue per visitor.
What happens to customers who bought the losing price?
They keep it. When the test ends, the losing price is archived in Stripe so no new customer can buy it, and existing subscriptions renew at the price they signed up for.
Sources
- [1]Managing Price, Gaining Profit (Marn & Rosiello), Harvard Business Review, 1992
- [2]SaaS companies spend about 6 hours on their pricing strategy (ProfitWell data), Entrepreneur, 2022
- [3]How Not To Run an A/B Test (Evan Miller), evanmiller.org
- [4]A/B testing a payment method, Stripe documentation