For the complete documentation index, see llms.txt. This page is also available as Markdown.

Running Multiple Tests

You can run as many tests as you want in Shoplift at the same time. There is no limit.

When you run multiple tests simultaneously, Shoplift automatically handles which tests each visitor can participate in. You don't need to set up any exclusion rules manually Shoplift takes care of it in the background.

What is mutual exclusion?

Mutual exclusion is how Shoplift ensures each visitor only participates in one conflicting test at a time. This keeps your results clean. If a visitor saw changes from two different tests at once, you wouldn't be able to tell which one influenced their behaviour.

Shoplift applies mutual exclusion automatically based on the types of tests you're running.

How it works

Every test type is either global or conditional:

  • Global tests : Affect every page on your store. Visitors are enrolled as soon as they arrive. This includes theme tests, price tests, and automatic API tests.

  • Conditional tests : Affect specific pages or actions only. Visitors are enrolled when they reach the relevant page or trigger. This includes template tests, URL redirect tests, and manual API tests.

A visitor can only be in one global test at a time. They also cannot be in a global test and a conditional test simultaneously. However, they can be in multiple conditional tests at once, as long as those tests target different pages.

Test type
Scope
When the visitor is enrolled

Theme

Global

Any page load

Price

Global

When a tested price scrolls into view

Automatic API

Global

Any page load

Template

Conditional

When the visitor reaches the target page type

URL redirect

Conditional

When the visitor lands on the target URL

Manual API

Conditional

When a developer triggers it

Running two tests targeting the same page type (conditional)

If you run two or more tests that target the same page type (A side of the test) for example, two homepage template tests or two product page template tests those tests are mutually exclusive. A visitor will only ever be enrolled in one of them.

This applies any time two conditional tests share the same entry point (Same A side). Some examples:

  • Two template tests both targeting the same product page template

  • Two URL redirect tests both targeting the same entry URL

  • A template test and a URL redirect test both triggered by the same page

Running two+ tests targeting different page types (conditional)

If your two or more conditional tests target different page types, mutual exclusion is not enforced. A visitor can be enrolled in both tests simultaneously.

For example, if you run a homepage test and a product page template test at the same time, a visitor can participate in both, they'll see your homepage test when they land on the homepage, and your product page test when they navigate to a product page. Because the two tests affect completely separate pages, there's no risk of one test interfering with the other's results.

This is intentional. Running conditional tests on different page types in parallel is one of the most efficient ways to run multiple experiments at once without splitting your traffic pool.

How Shoplift handles conditional tests

When a visitor qualifies for both a global test and a conditional test, Shoplift assigns them to one immediately and creates a reservation for the other.

A reservation means the visitor is set aside for a test before they've actually triggered it. This matters because it still counts as an assignment the visitor is excluded from other conflicting tests right away, even if they haven't reached the page or action that would activate their conditional test yet.

Here's an example. You're running a theme test and a price test at the same time. A visitor arrives on your homepage:

  1. Shoplift randomly assigns them to one of the two tests.

  2. If assigned to the theme test, they see the variant theme immediately and are excluded from the price test.

  3. If assigned to the price test, Shoplift creates a reservation. They're excluded from the theme test immediately, but won't actually enter the price test until they scroll a tested product price into view.

Running many tests at once

Because Shoplift handles mutual exclusion automatically, you can run many tests in parallel without worrying about conflicting results. Companies like Meta run thousands of simultaneous experiments even across the same user journey by relying on random traffic distribution and rigorous statistics to keep each test's results valid.

The one thing to keep in mind: when tests are mutually exclusive, your traffic is divided between them. The more mutually exclusive tests you run, the smaller each test's sample size becomes, and the longer each test will take to reach a conclusion. This isn't a reason to avoid running multiple tests just something to factor into your timeline.

Shoplift requires 95% statistical significance before declaring a winner. This high bar means small cross-test effects are filtered out as noise and won't produce a false positive result.

Still need help?

Please contact Shoplift support if you have questions about test interactions.

Last updated

Was this helpful?