Split Node
Distribute records across multiple outputs by percentage, round-robin, or hash
Last updated 24 Jun 2026
The Split node distributes incoming records across two or more percentage-weighted output branches. It supports random, sequential (round-robin), and deterministic hash-based assignment.
When to Use
Use Split for A/B testing, load distribution, or hold-out groups. For logic-based routing on field values, use Condition or Switch instead.
Configuration
| Field | Type | Description |
|---|---|---|
splits | array | Output branches, each { outputId, percentage, label }; percentages should sum to 100 |
method | random | sequential | hash | How records are assigned to branches (default: random) |
seed | string | Optional seed for reproducible assignment (random method only) |
hashField | string | Field to hash on (required for hash method) |
The node ships with two branches (a and b) at 50/50. Each branch is its own output handle on the canvas, identified by outputId.
Methods
random — Records are randomly assigned according to the percentages. Provide a seed for reproducible runs.
sequential — Records are assigned round-robin across the branches in proportion to their percentages.
hash — Records are deterministically assigned from the hash of hashField. The same field value always lands in the same branch, which keeps user-level splits stable across runs.
Example
Create a 70/20/10 split for campaign testing:
method: random
seed: "42"
splits:
- outputId: control
label: Control
percentage: 70
- outputId: variant
label: Variant A
percentage: 20
- outputId: holdout
label: Holdout
percentage: 10
Notes
- Percentages are interpreted as shares of 100; configure at least two branches.
- In
hashmode,hashFieldis hashed and normalized into the percentage bands, so branch sizes still follow the configured percentages. - The number of output handles on the canvas matches the number of entries in
splits.
Related articles
Still stuck? Browse the FAQ or contact us.