---
title: "A/B test your QR codes and links with a traffic split"
description: "A new Traffic split step sends visitors to different pages by percentage, keeps a returning visitor on the same variant by default, and shows visits per variant with bots left out."
canonical: "https://linkbreakers.com/help/article/ab-test-your-qr-codes-and-links-with-a-traffic-split"
last-updated: 2026-11-05
---

# A/B test your QR codes and links with a traffic split

> A new Traffic split step sends visitors to different pages by percentage, keeps a returning visitor on the same variant by default, and shows visits per variant with bots left out.

## Short answer

Workflows have a new step: **Traffic split**, for A/B tests. It sends each visitor to one of 2 to 20 variants by percentage, with no page in between. A returning visitor keeps the same variant by default, and results show visits and visitors per variant with bots and link previews left out. It does not measure conversions or name a winner.

## What we shipped

### Variants and percentages

In the workflow editor's condition steps, choose **Traffic split**, name your variants and set their percentages, which must add up to exactly 100. The step appears with one outlet per variant, showing its label and percentage. Connect each one to its next step. A variant left unconnected uses the link's fallback URL.

### A returning visitor keeps their variant

**Keep returning visitors on the same variant** is on by default, and for an A/B test it should stay on. The variant is computed from the step and the device, with nothing stored. It follows the device: a new device, private browsing or some in-app browsers count as a new visitor.

Turn it off and every visit is assigned afresh, so one person can see several variants, while one visit stays on its variant through a form. That suits sharing traffic more than measuring a test.

Changing weights only moves visitors near the boundaries you changed: 90/10 to 80/20 only moves visitors from the first variant to the second. To end a test, set one variant to 100 and the others to 0. To test only some visitors, put a condition before the split.

### Results

The step's editor shows, per variant, the percentage set, the actual share, visitors and visits. It says **Not enough data yet** below 100 visitors per variant, and warns when the real split is further from your percentages than chance explains. With the option off, the numbers are visits, and one person may appear under more than one variant.

### How close a split lands

Percentages are approximate at low traffic. On a 50/50, 95 tests out of 100 land within:

| Visitors | Distance from 50% |
| --- | --- |
| 100 | about 10 points |
| 1,000 | about 3 points |
| 10,000 | about 1 point |

**How far a 50/50 split lands from 50%**

| Visitors in the test | Distance from 50%, in 95 out of 100 tests |
|---|---|
| 100 visitors | 10  points |
| 1,000 visitors | 3.1  points |
| 10,000 visitors | 1  points |

2,000 simulated tests at each size, run through Linkbreakers' own assignment code on 5 November 2026.

### Where it shows

- Each visit's activity timeline shows **Traffic Split**, with the variant and how it was assigned.
- Slack notifications show the same.
- Webhooks carry it in the visit journey.

### In the API, MCP and the Assistant

Create the step with the event action `EVENT_ACTION_TRAFFIC_SPLIT` and a `traffic_split` payload: `variants` (`label`, `weight`, `next_step_id`, and an `id` the server generates when left out) and an optional `sticky`, which defaults to true. Each branch is addressed by its variant id. Results come from `analytics_traffic_split_results`.

## Limits and caveats

- It counts arrivals, not outcomes. To compare outcomes, give each variant its own destination and compare them in your analytics.
- There is no significance test, scheduling or automatic winner.
- It follows the device cookie, so one person on two devices, in private browsing or in some in-app browsers counts as several visitors.
- Weights are whole percents.

## Frequently asked questions

### Do bots skew the results?

They are routed like anyone else, because a link preview needs an answer, and left out of the results.

### How do I end a test?

Set the variant you keep to 100 and the others to 0. Everyone then goes there, including visitors who had another variant.

### Should I turn off keeping returning visitors on the same variant?

Not for an A/B test. Turn it off only to share traffic, for example across several booking pages.

### Which plans include it?

Every plan.
