Skip to main content

Setting up a Cross-Site A/B Test

Run a true end-to-end test by comparing entire Shopify themes and their connected checkout experiences

Cross-Site Testing lets you A/B test entire Shopify themes against each other - not isolated elements, but complete customer journeys. Traffic is split at the storefront level (e.g. 50% of shoppers see Theme A, 50% see Theme B), and each theme can be paired with its own checkout experience inside PDQ. This isn't page-level testing - it's full-experience testing.
​

Why Cross-Site Testing exists

Most A/B tools optimize fragments - a button, a banner, a headline. But shoppers don't experience fragments; they experience a flow: land → browse → add to cart → checkout → purchase. When the storefront's promise and the checkout reality don't match, trust breaks.
​

Example failure: the theme promotes "Free Shipping," but checkout shows $9.99 shipping. The shopper feels misled, and conversion drops. Cross-Site Testing removes that disconnect by keeping the story consistent from first page to payment confirmation.
​

What makes it different

Cross-Site Testing pairs each theme with a matching checkout experience:

Theme

Storefront message

Checkout experience

Theme A

Standard pricing

Standard shipping rates

Theme B

Free-shipping promotion

Free-shipping checkout group

This unlocks tests that were previously impossible:

  • Free-shipping themes vs standard-pricing themes

  • Premium brand redesigns vs legacy layouts

  • Aggressive promos vs margin-protected experiences

You're no longer testing components - you're testing business strategies. It's also the right fit for a free-shipping-threshold + progress-bar combo that needs full theme-level splitting rather than a single extension.


Before you start

Cross-Site Testing must be enabled for your store (the enableCrossSiteAbTest feature flag). If you don't see the Cross-Site option, ask your CSM to switch it on. Have your duplicate/variant theme ready in Shopify.
​

Step 1: Create the test

Go to Optimize → A/B Tests. Click New Test and select Cross-Site Test.
​

Step 2: Fill in the details

  • Test Name - e.g. "New Theme Redesign vs Current Live Theme."

  • Hypothesis - what you expect to learn (min. 100 characters): "The new theme redesign will improve checkout conversion by providing a cleaner, more streamlined experience."

  • Goal Metric - Checkout Conversion, Gross Profit, AOV, Shipping Revenue, or Net Revenue.

Click Next.
​

Step 3: Allocate traffic

For each theme in the test:

  • Set the traffic percentage (all included themes must total 100%).

  • Assign a Checkout Group - this determines the PDQ checkout experience served alongside that theme.

Make sure each theme's checkout group matches the experience you want that group to see, and verify the PDQ Checkout Group is linked to the live theme, not just the variant. Save as a draft - don't launch yet.
​

Step 4: Turn on "PDQ THEMES" for every theme

For PDQ to route traffic across themes, the "PDQ THEMES" toggle must be ON in the Shopify theme editor for every theme in the test (control + all variants). Do this only when you're ready to go live. (Behind the scenes, the test writes a cart attribute - pdq_theme_checkout_groups = A/B/C - so the correct checkout experience follows each theme.)
​

Step 5: Launch the test

Back in PDQ, find your test in Drafts → ⋯ → Start Test. It only routes traffic correctly when the test is Running AND the PDQ THEMES toggle is ON for all themes.
​

⚠️ Concluding a Cross-Site test - read this first

Select the winning theme in PDQ; traffic then auto-routes to it. Do not delete the losing/variant theme before selecting a winner - deleting a variant mid-test leaves a persistent preview_theme_id cookie in shoppers' browsers that Shopify can't clear, which can strand those shoppers on the deleted theme. Pick the winner first, then clean up.
​

Managing your test

  • Editing a draft - Drafts → ⋯ → Edit.

  • Launching - ⋯ → Start Test.

  • Monitoring - a Running tab appears once live; data lives in Optimize → Analytics Dashboard, available the day after launch.

  • Ending - Running → ⋯ → End Test, then select the winning theme. Results in the Analytics Dashboard, or Concluded → ⋯ → Get Analytics. To roll out the winner, see Implementing your winning variant.

QA tip: theme assignment is sticky per session - complete an order or clear the store's cart cookie and refresh to see a fresh allocation.
​

Happy testing! Reach out to support@prettydamnquick.com

Did this answer your question?