Guides

    Conversion & testing

    A/B testing on Shopify: tests that carry a decision

    Conversion & testing · Updated

    In short

    An A/B test only holds up when sample size, runtime and success metric are fixed before launch and left untouched afterwards. On Shopify, technical conditions come on top: no visible flicker, clean tracking despite consent, and stable assignment across caches and theme variants. Without those foundations you are measuring noise and calling it a result.

    This guide covers how to plan, run and honestly read a test — not which testing tool you should buy.

    What can an A/B test answer, and what can it not?

    An A/B test answers exactly one question: does variant B produce a different value in a metric defined up front, compared to variant A, with a comparable audience. It compares two states under the same conditions. Anything beyond that is interpretation, not measurement.

    What a test does not deliver is a reason. You learn that one variant performs better, but not why. The cause lives in user interviews, session recordings and support tickets. Reading the reason out of the result means building your next hypothesis on a guess.

    A test also says nothing about periods it did not cover. A result from a promotional week applies to promotional weeks. A result from summer does not automatically hold during peak season. Ignoring that means transferring findings to situations in which they were never checked.

    Questions an A/B test does not answer

    • Why people behave the way the numbers suggest
    • Whether the effect holds in a different season or campaign
    • How the change affects returns, contribution margin or repeat purchases
    • Whether a third, untested variant would have done better
    • Whether the result applies to customer groups barely present during the test

    Why does the sample size have to be fixed before launch?

    The sample size is the point at which you stop looking. Decide it while the test is running and you will unconsciously pick the moment when the numbers happen to look good. At that point the result is no longer a measurement but a selection from many possible interim states.

    Four quantities determine how much data you need. The baseline conversion rate of the control, the smallest effect that would genuinely change your decision, the significance level as your tolerance for a false alarm, and the power as the probability of detecting a real effect. All four are choices, not natural constants.

    The second one matters most and gets skipped most often. Not every measurable difference is a relevant difference. Ask yourself before launch: at what improvement would you actually roll the variant out and pay for the work involved. That number is your minimum detectable effect.

    How do you actually calculate a sample size?

    The logic is easiest to show with a pure arithmetic example. The values below are freely chosen assumptions and say nothing about your store. They exist only to make visible the order of magnitude such calculations typically land in.

    Assume a baseline conversion rate of two percent, a relative improvement of ten percent that you want to detect, a significance level of five percent and a power of eighty percent. You then need a visitor count per variant in the range of several tens of thousands, roughly eighty thousand under those assumptions.

    The practical consequence is uncomfortable. The smaller the effect you want to detect, the faster the requirement grows, and not in a linear way. Halve the effect you are looking for and the required sample roughly quadruples. That is why many testing programmes fail at the arithmetic, not at the implementation.

    What you decide before the test starts

    1. The single success metric the decision depends on
    2. The baseline conversion rate from a comparable, quiet period
    3. The smallest effect that would change your decision
    4. Significance level and power, and with them the required sample size
    5. The planned runtime in full weeks and the stop date

    How long does a test have to run?

    Runtime follows from two conditions that both have to be met. The planned sample size must be reached, and the test must cover full week cycles. If the sample is already there after four days, you keep running until the end of the week anyway.

    The reason for full weeks lies in buying behaviour. Weekdays and weekends bring different people with different purchase intent. A test that starts on Wednesday and ends on Monday weights certain days twice. That does not distort both variants evenly when traffic sources shift across the week.

    There is an upper limit too. Over many weeks, disturbances accumulate: campaigns launch, prices change, cookies expire and visitors end up in the other variant. What started as clean randomisation becomes a blend. Two to four full weeks is usually the workable corridor.

    Why does stopping early destroy the result?

    The effect is called peeking and it is the most common reason results fail to replicate later. Checking the report daily and stopping as soon as a significance value briefly crosses the threshold means you are not testing once but testing again every day. The error probability adds up with every look.

    The interim curve makes this visible. In the first days the measured difference swings widely because a handful of orders carry a lot of weight. Those swings are noise, not signal. Reading them as a result means rolling out variants whose lead dissolves once more data arrives.

    There are two clean ways out. Either you fix the analysis to a single point in time defined up front and look at nothing but technical error indicators before then. Or you use a method that accounts for repeated looks, such as sequential tests whose thresholds are built for exactly that. Mixing the two is not a solution.

    What should you not test at all?

    Not every question deserves a test. Some changes are too small for the traffic available, others are not a legal or commercial option in the first place, and some endanger the very measurement you need to read the result. In all of those cases, deciding without a test is the better move.

    Anything touching the checkout or the price display is particularly delicate. Differentiating prices between randomly assigned visitors breaks trust and creates tangible problems the moment two people in one household see different prices. Test discount levels through campaigns separated in time, not through parallel groups.

    Candidates that should not get a test

    • Effects smaller than what your traffic can resolve in a reasonable timeframe
    • Mandatory disclosures and legally required notices with no real alternative
    • Prices and discounts that randomly assigned visitors would see differently
    • Changes that put checkout tracking or payment processing at risk
    • Changes you will roll out regardless of what the result says
    • Several changes at once, when you want to know afterwards which one worked

    Which measurement and implementation traps exist on Shopify?

    Client-side tests change the page only after it has loaded. Visibly that shows up as a brief jump from variant A to variant B, usually called flicker. It distorts more than perception: it distorts the metrics too, because part of your audience sees the control and then something else.

    The second trap is assignment across consent. Visitors who do not consent appear differently in your analytics tool than in your testing tool, or not at all. When assignment and measurement work on different populations, the denominators of the two variants stop matching and the rate becomes worthless.

    On top come Shopify-specific conditions. The checkout is largely no longer a freely editable area but runs through defined extension points. Caching and multiple active theme variants can serve visitors different versions between page views. And a noticeable share of traffic is bot traffic, which can distribute unevenly across the two groups.

    Common testing mistakes on Shopify and how to avoid them
    MistakeWhat happensHow to avoid it
    Swapping visible content client-sideFlicker, distorted perception, unclean exposure countsRender server-side or in the theme, otherwise hide the area first
    Assignment and measurement in separate systemsDifferent populations, rates no longer comparablePass the assignment into the analytics event, reconcile denominators
    Consent not thought throughPart of the purchases is missing, and not at randomCheck before launch which events disappear without consent
    Test runs alongside a campaignThe traffic mix changes mid-testCheck the campaign calendar first, place the test window around it
    Bots and internal visits in the dataInflated visitor counts, suppressed conversion rateExclude known bots and your own IP ranges before analysis
    Multiple themes or caches activeVisitors see changing versions between page viewsPersist the assignment, add the variant to the cache key

    How do you read the result honestly?

    A test result is not a single number but a range. The measured difference is the most likely value; the confidence interval shows the span you have to reckon with. If that interval runs from slightly negative to clearly positive, you have no basis for a decision, however good the point estimate looks.

    The biggest trap after the test is post-hoc segmentation. Split an inconclusive overall result by device, channel, country and new-customer status long enough and a significant slice will always show up somewhere. With enough cuts, a chance finding is the rule rather than the exception.

    Segments are not forbidden, they just have to be named in advance. If you write down before launch that you will analyse mobile and desktop separately, that is a hypothesis. If the split only occurs to you while looking at the results, it is a search for confirmation and should be recorded as such.

    What do you do when there is not enough traffic to test?

    For many stores in the DACH region this is the normal case, not the exception. If the arithmetic says a test would have to run for months, that is not a reason for a worse test but a reason for a different approach. A test with too little data does not give a weaker answer, it gives an unreliable one.

    The first way out is to test larger changes instead of smaller ones. A rethought product page layout can produce an effect that shows up even with modest traffic. A different button colour will not. With little data you have to change more boldly, otherwise you measure noise forever.

    The second way out leads away from testing. Many improvements need no randomised proof because they fix obvious defects: broken forms, missing shipping information, unusable filters, slow loading on mobile. You repair those things and watch the trend afterwards instead of pitting them against a variant.

    Alternatives when traffic is too thin

    • Qualitative methods: user tests, session recordings, analysis of support requests
    • Fixing obvious defects instead of testing them against a variant
    • Testing metrics further up the funnel that occur more often than purchases
    • Before-and-after comparisons with a documented date and known uncertainty
    • Concentrating on a few large hypotheses per year instead of many small ones

    FAQ

    Frequently asked questions

    How many orders do I need at minimum for an A/B test?

    There is no universal minimum, because it depends on your baseline conversion rate and the effect you are looking for. Calculate the sample size for your specific case before planning anything. If the result implies a runtime of several months, the honest answer is that this question cannot be settled by testing at your traffic level.

    Can I stop a test when one variant is clearly performing worse?

    Yes, but only to limit damage, not as a result. If a variant is obviously broken or costing revenue, you stop it. What you then have is an aborted attempt rather than an analysed test. Record it that way so nobody later passes the abort along as a proven finding.

    Can I run several tests at the same time?

    On separate page areas with separate audiences, yes. As soon as two tests affect the same visitors on the same path to purchase, the effects overlap and you can no longer attribute what worked. When in doubt, test sequentially, especially when traffic is scarce anyway.

    How do I handle the consent banner while testing?

    Clarify before launch which events exist at all without consent and whether assignment and success measurement share the same population. If part of the purchases is missing, that share has to be equal in both variants, otherwise you are comparing different denominators. Testing the banner itself is usually not an option given the legal requirements.

    Can I test inside the Shopify checkout?

    Only to a limited degree and only through the intended extension points. The checkout is no longer a freely editable theme area, and workarounds around it endanger payment and measurement. What is realistically testable is content in the areas provided for it. Anything deeper belongs in a deliberate product decision, not a test.

    What do I do with a test that gives no clear result?

    That is a valid outcome, not a failure. It means the difference is smaller than what you set out to detect. Keep the variant that is simpler or cheaper to maintain, and document the hypothesis together with the result. That documentation stops the same question from being tested again a year later.

    Official documentation

    Primary sources for the technical statements in this guide.

    Keep reading

    One more thing

    We set tests up in Shopify projects so that sample size, measurement and analysis are settled before launch. Usually the more important work is deciding which questions deserve a test in the first place.

    What we do

    NICCOS

    Die Seite konnte nicht geladen werden.

    Bitte lade die Seite neu. Falls gerade ein Update live gegangen ist, wird damit die aktuelle Version geladen.