Most stores guess at their offers. They pick “buy 2 save 10%” because it sounds reasonable and never find out that “buy 3 save 15%” would have earned more per visitor. An A/B test settles the argument with money: you show two versions of an offer to comparable slices of traffic and let the data pick the winner. Done right, it’s the cheapest growth lever you have — you make more from the same number of visitors, no extra ad spend required. This guide covers how to A/B test Shopify offers: what’s worth testing, how to run a clean test, how to read the result, and why the winning variant still has to be checkout-safe.
What to test
Resist the urge to test everything at once. The highest-leverage variables on a bundle or volume offer are:
- Number of tiers. Two tiers vs three. More options can lift AOV — or cause choice paralysis and drop conversion. This is a genuine unknown per store.
- Discount depth. The same tier at 10% vs 15%. Deeper discounts usually convert better but eat margin; the test tells you whether the extra volume pays for the giveaway.
- The threshold. “Buy 2 save 10%” vs “buy 3 save 10%”. Where you set the trigger quantity moves both how many people qualify and how much they add.
- The free-gift spend line. A gift at $50 spend vs $75. The higher line lifts AOV per order but fewer shoppers reach it — net revenue decides.
- The badge and copy. “Save 15%” vs “Most popular” vs “Best value”. Wording and the highlighted tier change which option shoppers anchor on, with zero margin cost.
Pick one. Testing tiers and depth and copy in the same experiment leaves you unable to say what actually moved the number.
How to run a clean test
- Split traffic, don’t alternate. The clean method is a live split: each visitor is randomly assigned Variant A or Variant B and sees it consistently. Both run at the same time, so seasonality, a sale, or a viral day hits both equally.
- Change one variable. See above — a single difference between A and B, everything else identical.
- Size the sample before you start. Aim for a few hundred conversions per variant. Small samples produce big, random-looking swings that vanish on more data.
- Run one to two full weeks. Cover at least one full weekly cycle so weekday and weekend buyers are both represented. Never call a test on its third good day.
- Measure more than conversion rate. For offer tests, CVR alone is misleading — a deeper discount can lift conversion while lowering revenue. Watch average order value, units per order, and conversion rate together, then combine them (below) into one number.
If your offer app can’t split traffic, you can still test manually: run Variant A for a week, then Variant B the next week, and compare. It’s honest and better than guessing — but week-over-week comparisons are noisier because the two weeks aren’t truly identical (a promo, a payday, weather all shift). True simultaneous split testing is cleaner, so prefer it when your app supports it.
Reading the result
The metric that matters is revenue per visitor — total revenue divided by everyone who saw the variant. It folds conversion rate and order value into one figure, which is exactly what you want, because an offer that converts slightly worse but grows baskets a lot can still win.
The trap is reading AOV in isolation. A 30%-off tier will happily raise average order value while quietly torching your margin. So track contribution margin per visitor, not just AOV: a variant that wins on gross revenue but loses on profit is not the winner. If two variants land close together after a proper run, keep the one that protects margin. For the wider playbook on the numbers that should move, see how to increase average order value on Shopify and the best Shopify apps to increase AOV.
Whichever variant wins, it must stay checkout-safe
Testing tells you which offer earns more. It says nothing about whether that offer is enforced. Many low-cost apps apply the discount in storefront JavaScript, which looks right on the product page but lives separately from the cart — so a shopper who edits their basket can carry a discount they no longer qualify for straight through checkout. Your “winning” variant then ships at a loss on every gamed order.
The fix is to enforce the offer with a Shopify Function that re-checks the cart server-side at checkout. What the shopper saw is what they’re charged, however they edit the cart — so the variant you promote is the variant you actually get paid for. Profit Flow AOV Bundle runs every tier, bundle, BOGO and gift through a Function, so a test winner stays honest in production. For the mechanics of the tiers you’ll be testing, see how to set up quantity breaks on Shopify.
Start small
You don’t need a testing platform to begin. Ship your current offer as Variant A, write a single sharper hypothesis as Variant B, split the traffic, and give it two weeks. One clean test a month compounds fast — and it beats a year of confident guesses. Want a second pair of eyes on which offer to test first? Grab a free profit audit.
Profit Flow AOV Bundle runs quantity breaks, bundles, BOGO and a checkout-safe free gift on any Online Store 2.0 theme, free. Add it to your store →
Ready to test offers instead of guessing at them? Install the free Profit Flow AOV Bundle — volume tiers, bundles, BOGO and a checkout-safe free gift, all enforced by a Shopify Function. Want help picking your first test? Grab a free profit audit.