Skip to main content
cesteralDocs
FAQContact

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

FieldTypeDescription
splitsarrayOutput branches, each { outputId, percentage, label }; percentages should sum to 100
methodrandom | sequential | hashHow records are assigned to branches (default: random)
seedstringOptional seed for reproducible assignment (random method only)
hashFieldstringField 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 hash mode, hashField is 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.