Free to build in. A plan starts when your first experiment goes live.Pricing

Settle the express checkout argument with your own numbers.

Checkoutlab A/B tests the payment methods in your Shopify checkout. Hide the express row, hide a method, or reorder the list, per market or across all of them. Read conversion per arm with a significance test next to it, then lock the winner in permanently.

Checkoutlab›Experiments

New experiment
A/B experiments
ExperimentTypeMarketsStatusCheckoutsConversionOutcome
Express checkout globalHide express checkoutAll marketsRunning1,284%No clear winner yet
E2E express NLHide express checkoutNLPaused12%Not enough data
E2E reorder NLReorder payment methodsNLStopped0n/aNo data yet
E2E hide methods globalHide payment methodsAll marketsStopped0n/aNo data yet
Three experiment types

One checkout, three things worth testing.

All three run on the same Shopify Function, so switching from one to the other costs nothing. What differs is which surface of the checkout the variant touches.

Hide express checkout

Removes the wallets from the express row at the top of checkout. They stay available in the payment method list below, so no payment option is lost. Needs Shopify Plus.

Hide payment methods

Removes payment methods from checkout entirely, in every placement. Use it to find out whether an option is pulling its weight in a market.

Reorder payment methods

Puts the methods you choose at the top of the list, in the order you set. Wallets cannot be reordered by Shopify, so this works on the regular payment method list.

Market-level testing

The Netherlands is not Germany, and your checkout knows it.

Wallet use, preferred payment methods and trust in a one-tap checkout differ per country, so a single answer for every market is usually the average of two opposite ones. Checkoutlab targets markets directly, and lets a narrower experiment take over without anything being stopped.

Experiments›Express checkout global

PreviewView results
Runningsince Aug 24, 2026 · 57 daysPauseStop

Changes

Hides express row

Runs in

All markets

Traffic split

50 / 50

Measured

1,284 checkouts

Every experiment is set per market

An experiment names the markets it runs in, straight from your Shopify markets, and the app shows that back on the experiment and in the list. Everyone outside the selection keeps the checkout they already had, so a test in the Netherlands costs you nothing in the markets you are not asking about.

Running an experiment
Locked-in rules

A rule is an experiment you redeemed: the winning configuration, applied to everyone in the markets it targets. Rules follow the same precedence as experiments, one rung lower: a running experiment on the same part of the checkout and the same market takes over until it is finished.

Nothing locked in yet

Redeem a finished experiment to create one.

The most specific market wins

Run a broad experiment and a sharper one at the same time. Where they meet, the narrower market targeting takes that visitor and the broad one keeps everywhere else. Nothing is blocked, nothing is paused, and the app shows you which experiment is actually running where.

How precedence works
How it works

The variant runs inside Shopify. The measurement runs on webhooks.

No second checkout, no redirect, no script that rewrites the page after it loads. A theme app embed assigns the visitor, a payment customization function carries out the change, and two order webhooks count the outcome.

Assignment on the storefront, the variant in the checkout

A theme app embed puts every visitor in an arm with a deterministic hash and writes it to a cart attribute. In the checkout, a payment customization function reads that attribute and hides or moves what the experiment says. The same visitor keeps the same arm across pages and sessions. When they have refused analytics consent, the app falls back to the cart token and stores nothing at all.

How assignment works
2. What it changes

Change

Hide express checkout

Control sees

Checkout unchanged

Variant sees

No express row; wallets stay in the payment list

Wallets to hide

Shop PayPayPalVenmoApple PayGoogle PayAmazon Pay

Needs Shopify Plus. On other plans the wallet also disappears from the payment list.

Measured from webhooks, so ad blockers don't eat your data

Checkoutlab has no web pixel. The denominator comes from the checkouts/create webhook and the numerator from orders/create, and both payloads carry the assignment. A pixel misses every checkout the browser never reports (a closed tab, a blocker, Shop Pay on another origin), and that loss is not guaranteed to fall equally on both arms.

What gets measured
Last 30 daysMarketDevice
Overall

Conversion

%

Checkouts

2,998

Orders

1,420

Revenue

€99,467

AOV

€70.05

Then make the winner permanent

A finished experiment can be redeemed. Redeeming the variant turns its configuration into a rule: same type, same methods, same markets, now applied to 100% of the visitors it targets, and the experiment stops. Redeeming the control just stops it, because the variant lost and there is nothing to apply. Most A/B tools hand you a number and leave the implementation to you; this is the part that usually never gets done.

How redeeming works
Lock in the outcome
Variant wins

Ends the experiment. Lock in the variant to make it a permanent rule, or keep control to leave checkout as it was.

Lock in the variantKeep control
Results so far

Control

45.9%

Variant

47.3%

Conversion · 1,284 checkouts · 598 orders

Results

A verdict, not a dashboard to interpret yourself.

Conversion here is orders divided by checkouts, so the baseline sits around 50% instead of around 2%. That means an experiment reaches a verdict on far less traffic than a session-based one.

Experiments›Express checkout global · results

Export CSVEdit experiment

OutcomeNo clear winner yet

The difference of 1.8% could still be chance (p = 0.64). Keep it running.

Actual split

Variant 49.8% · Control 50.2% of checkouts

Set to 50% variant / 50% control

Control vs variant
ArmCheckoutsOrdersConversionRevenueAOVvs control
Control Baseline1,506707%€49,311€69.75—
Variant Express row hidden1,492713%€50,156€70.34+1.8%

Significance, in words

A two-sided two-proportion z-test at α = 0.05, sized for 80% power. Below 100 checkouts in an arm the page says so rather than showing you a difference that one order could flip.

Per market and per device

A variant that wins on mobile and loses on desktop averages out to “no difference”. The breakdowns show both, and say plainly that a segment is a lead to test next, not a result to ship.

A sample ratio check

If the real split differs from the configured one at p < 0.001, the page tells you not to trust the comparison. An SRM means the assignment or the measurement is broken, however pretty the difference looks.

Several experiments at once

Nothing is ever blocked. Where two experiments want the same surface of the checkout, the more specific market targeting wins and the app shows you exactly where each one actually applies.

Conditions on the cart

Narrow an experiment to carts over a threshold, or to one currency, with up to five conditions combined with And or Or. Evaluated at checkout, where a cart total is finally real.

No customer data collected

No names, no email addresses, no customer IDs, no addresses, no IPs. The app stores the arm, the market, the device class, the order total, and two Shopify identifiers so an erasure request can be acted on.

Questions merchants ask first.

If yours isn't here, the documentation goes deeper, and hello@root-agency.nl answers within one business day.

Stop guessing what the express row costs you.

Install Checkoutlab, switch on the theme app embed, and build your first experiment for free. You only start paying when it goes live.