Skip to main content

How does ABConvert split traffics

Leo avatar
Written by Leo
Updated yesterday

"Why is the traffic distribution not aligned with the test setting?" It's a common question from new users of ABConvert when they see the analytics number of their first test.

In this article, we'll delve into why this happens and how to address these discrepancies.

How ABConvert split traffic for tests

Our script do following things to allocate traffic.

  1. Assign a random seed (range from 0 to 99) to customers when they first visit the store.

  2. Store the seed in the customer's browser.

  3. Split customers to specific groups based on their seed and the traffic distribution setting of the test.

Imagine you've set up a test, allocating 50% of your website traffic to the original group and 50% to the test group.

Here is a diagram to illustrate how it works behind the scenes.

The logic of allocating traffic is the same if you have multiple test groups in a test.

This approach not only provides randomness but also ensures revisiting customers will always stay in the same group during the testing period.

Why is traffic distribution not aligned with the test setting? Why isn't my traffic split balanced?

Filtering options

If you add filtering conditions for audience segmentation or targeting in the test, traffic distribution will be influenced. We prioritize assigning visitors to their respective groups based on the set conditions.

For example, you set the traffic distribution to 50/50 and a filtering condition that assigns visitors from a specific traffic source (ex: utm_source contain facebook) to the test group.

In this scenario, we cannot expect traffic to be distributed as requested because an additional variable is added to the test.

There is no enough traffic in the test

ABConvert employs a random distribution mechanism to split traffic for all visitors.

However, it also means that in the short term, the traffic distribution may appear skewed or uneven.

Let's illustrate this with an example. Imagine you flip a fair coin 100 times. While the expected result is 50 heads and 50 tails, you might get 60 heads and 40 tails. As long as you continue to flip the coin, the distribution tends to even out, approaching the expected 50/50 split.

How much traffic is needed to have well-distributed traffic?

While there's no one-size-fits-all answer to this question, establishing a general guideline might help you navigate the process more effectively.

If you still find traffic imbalances despite having a large amount of data, please reach out to our support team, and we will look into it for you.

How Traffic Split Works When Running Multiple Tests?

If you’re running multiple A/B tests at the same time, you might ask:

Will visitors be in the same group for each test? Or will each test assign them differently?

Great question! The answer depends on your test configuration — not randomness. Here’s how it all works in ABConvert:

One Seed, Shared Across All Tests

Every visitor gets assigned a random seed (a number between 0–99) the first time they visit your store. That seed is:

  • Stored in their browser

  • Shared across all A/B tests

How Tests Use the Seed

Each test reads the same seed, but decides how to map it to a test group based on your settings:

  • Number of groups

  • Traffic distribution

  • Group order

For more details, please refer to this article.

Visual Example

Let’s say a visitor’s seed is 65.

Here’s how that seed could be interpreted across two tests with different settings:

Visitor's Seed: 65

Test A (50/50 Split)

Group A (Original): Seeds 0–49 
Group B (Variant): Seeds 50–99
→ Seed 65 falls into Group B

Test B (70/30 Split)

Group A (Original): Seeds 0–69 
Group B (Variant): Seeds 70–99
→ Seed 65 falls into Group A

Even though the seed is the same, the group differs because the test settings are different.

How to Keep Visitors in the Same Group Across All Tests

If you want each visitor to consistently experience the same group across all tests (e.g., always original, or always variant), make sure all tests have:

Setting

Requirement

Number of Groups

Must be the same (e.g., 2 groups)

Traffic Allocation

Same percentages (e.g., 50/50)

Advanced Settings

Same settings

(e.g., country, traffic source)

Did this answer your question?