Skip to main content

Flow Conditions and Splits

Flows

Written by BeyondCart

Last updated: March 2026 Category: Flows

Overview

Conditions and Splits are control nodes that let you personalize the user journey within a flow. Conditions create IF/ELSE branches based on user data, while Splits divide users into groups by percentage for A/B testing. Together, they give you the power to build sophisticated, branching workflows.

Prerequisites

  • An active or draft flow in the BeyondCart editor

  • Familiarity with the flow canvas and node types (see Creating a Flow)

Step-by-Step Guide

Adding a Condition Node (IF/ELSE)

  1. Click the "+" button below any node on the canvas.

  2. Select "Condition" from the node type menu.

  3. The condition node appears with two branches: IF (true) and ELSE (false).

[Screenshot: Condition node on canvas with IF and ELSE branches leading to different paths]

Configuring the IF Criteria

Click the condition node to open its configuration panel. Define the criteria using three parts:

  • Field — The user attribute or event property to evaluate.

  • Operator — How to compare the field (22 operators available).

  • Value — The target value to compare against.

Available Operators

BeyondCart provides 22 operators for condition logic:

  • Equality — equals, does not equal

  • Comparison — is greater than, is greater than or equal to, is less than, is less than or equal to

  • Range — is between, is not between

  • String matching — contains, does not contain, starts with, ends with

  • Existence — is set (has a value), is not set (empty/null)

  • List matching — is in list, is not in list

  • Date operators — is before, is after, is within the last (days), is not within the last (days)

  • Boolean — is true, is false

Condition Examples

  • Check if VIP: Field = LTV, Operator = is greater than, Value = 500. The IF branch targets VIPs; the ELSE branch targets everyone else.

  • Check recent activity: Field = Last App Session, Operator = is within the last, Value = 7 days. IF = active users, ELSE = inactive users.

  • Check product purchased: Field = Purchased Products, Operator = contains, Value = "Premium Subscription". IF = subscribers, ELSE = non-subscribers.

  • Check customer tag: Field = Customer Tag, Operator = equals, Value = "wholesale". IF = wholesale customers, ELSE = retail customers.

Nesting Conditions

You can place condition nodes on either branch of another condition, creating nested logic:

  • First condition: Is the user a paying customer? (IF/ELSE)

  • On the IF branch, add another condition: Has the user ordered in the last 30 days? (IF/ELSE)

This creates four possible paths through the flow, letting you tailor actions to each combination.

[Screenshot: Nested conditions with two levels of IF/ELSE branching]

Adding a Split Node (Percentage)

Splits divide users into two or more groups randomly based on percentages. This is ideal for A/B testing different messages, delays, or strategies.

  1. Click the "+" button below any node.

  2. Select "Split" from the node type menu.

  3. Configure the percentage for each branch:

    • Branch A — e.g., 50%

    • Branch B — e.g., 50%

  4. You can add more branches if needed (e.g., 33%/33%/34% for a three-way split).

[Screenshot: Split node configured with 50/50 branches, each leading to a different push notification]

Split Use Cases

  • A/B test notification copy: Send two different push notification messages and compare tap-through rates.

  • Test delay timing: One branch waits 1 hour, the other waits 4 hours. See which delay drives more conversions.

  • Gradual rollout: Send 10% of users through a new flow path while 90% continue the proven path.

Key Concepts

  • Conditions evaluate at the moment the user reaches the node. If a user's data changes after they pass a condition, it does not retroactively change their branch.

  • Splits are random and persistent. Once a user is assigned to a branch, they stay on it for the duration of that flow execution.

  • Both branches must lead somewhere. Every IF, ELSE, and Split branch should connect to at least one subsequent node (action, delay, goal, or exit).

Tips and Best Practices

  • Use conditions to personalize, not just filter. Instead of sending generic messages, use conditions to tailor content: VIPs get an exclusive offer, new users get an educational tip.

  • Start with simple 50/50 splits for A/B tests. Once you have enough data to identify a winner, update the flow to use the winning path for 100% of users.

  • Label your condition nodes clearly. Name them after the question they answer: "Is VIP?", "Ordered recently?", "Has push token?"

  • Avoid excessive nesting. More than three levels of nested conditions makes a flow hard to read. Consider splitting into separate flows if the logic gets complex.

FAQ

Q: Can I use multiple conditions in a single IF check? A: Currently, each condition node evaluates one criterion. To check multiple criteria, chain condition nodes sequentially or use nested conditions.

Q: What happens if a split adds up to less than 100%? A: The percentages must add up to exactly 100%. The editor will prevent you from saving an invalid split configuration.

Q: Can I change a split's percentages after the flow is active? A: Yes. Changes apply to new users entering the split. Users who already passed through it are not reassigned.

Q: Is the split truly random? A: Yes. Users are assigned randomly based on the configured percentages. Over a large number of users, the actual distribution will closely match the percentages.

Related Articles

Did this answer your question?