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)
Click the "+" button below any node on the canvas.
Select "Condition" from the node type menu.
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.
Click the "+" button below any node.
Select "Split" from the node type menu.
Configure the percentage for each branch:
Branch A — e.g., 50%
Branch B — e.g., 50%
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
