# 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)&#x20;

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.&#x20;

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)&#x20;

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.

{% hint style="info" %}
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.
{% endhint %}

### Still need help?

Please contact [Shoplift support](mailto:help@shoplift.ai) if you have questions about test interactions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shoplift.ai/test/running-multiple-tests-simultaneously.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
