> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.devit.software/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# A/B split: send runs down different paths by percentage

# ${color}[#204a87](A/B split: send runs down different paths by percentage)

${color}[#3465a4](**In this article:**)
* [What the A/B step does](#1-what-the-ab-step-does)
* [Add an A/B step](#1-add-an-ab-step)
* [Round robin and Balancing](#1-round-robin-and-balancing)
* [Add more than two variants](#1-add-more-than-two-variants)
* [See which path a run took](#1-see-which-path-a-run-took)
* [Ideas for A/B tests](#1-ideas-for-ab-tests)

The A/B step splits the runs of a workflow between two or more paths. For example, half of your customers get a 10% discount code and the other half get free shipping, so you can compare which offer works better.

# ${color}[#204a87](What the A/B step does)

Each time the workflow reaches the A/B step, React Flow sends that run down one of its paths: **A**, **B**, **C** and so on. You decide how the runs are shared between the paths. Each path can have its own conditions, delays and actions.

# ${color}[#204a87](Add an A/B step)

1. Open a workflow and click **+** where you want to split it, for example under the trigger.
2. Select **A/B**. An **A/B Testing** step appears with the outputs **A** and **B**.
3. In the right panel (**Configure switch action**), choose the **Algorithm type**: **Round robin** or **Balancing**.
4. Click **+** under **A** and add the steps for the first variant. Do the same under **B**.
5. Click **Save**.

||| Every A/B step needs at least two connected paths. If one of the outputs is empty, the workflow can't be saved.

# ${color}[#204a87](Round robin and Balancing)

* **Round robin**: "Next action is chosen evenly and in rotation to each test variation." The runs go to A, then B, then A again, and so on, so each path gets the same share.
* **Balancing**: "Next action is chosen based on the percentage you set for each one." Drag the slider to set the share of each path, for example 70% for A and 30% for B. The step shows the result on the canvas, for example **Balancing : 70%/30%**.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/ab-round-robin_1lbrqmj.png =800x382)


Use **Round robin** for a fair 50/50 comparison. Use **Balancing** when you want to try a new idea on a small part of the traffic first, for example 90% keep the current email and 10% get the new one.

# ${color}[#204a87](Add more than two variants)

When you connect a step to the last free output, a new output appears. Connect a step to **B**, and **C** appears; connect **C**, and **D** appears. The free output at the end is ignored until you connect something to it.

With **Balancing**, the slider gets one handle for each border between paths, and the shares are recalculated, for example **30%/30%/40%** for three paths.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/2/7/1/3271b421d88bd400/ab-balancing-three-variants_hj8szj.png =800x382)


There is a ready-made example in **Templates - Coupon for next orders with balanced distribution**: it splits customers into three groups (50%, 40% and 10%) and sends each group a different discount (5%, 10% and 15%).

# ${color}[#204a87](See which path a run took)

Open a run on the **Activity** page or in a test result. The A/B step is shown as **Switch lane...** with the chosen path, for example **Balancing - C:40%**.

To compare the results of the paths, tag each path differently, for example add the order tag `variant-a` in path A and `variant-b` in path B. Then filter orders or customers by these tags in Shopify.

# ${color}[#204a87](Ideas for A/B tests)

* **Discount size**: 10% off in path A, 15% off in path B, for the same win-back email.
* **Offer type**: a percentage discount in path A, free shipping in path B.
* **Timing**: a review request after 3 days in path A and after 7 days in path B (add a **Delay** in each path).
* **Message**: two different subject lines for the same email.

# ✔️ Next step

Check our articles to learn more about the app's functionality:

* [Components of the workflow](https://help.devit.software/en/article/components-of-the-workflow-1rd4ha2/)
* [Activity page](https://help.devit.software/en/article/activity-page-17bwxxd/)
* [React Flow templates](https://help.devit.software/en/article/react-flow-templates-1slouze/)