Experiments (A/B Testing)
Run member-level A/B tests without building custom label hacks or workspace-wide toggles. Define Groups (control and variants), branch in Actions and workflows with CEL, and compare outcomes on Journey Goals.
What Experiments Do
- Assign members to groups with weighted randomization that stays sticky
- Branch behavior in Event Rules, task edges, and journey step conditions
- Track exposure so reporting counts only members who actually saw the treatment
- Compare journey goals by group with privacy-safe aggregate stats
How Assignment Works
Gravity Rail assigns on first encounter, not when you start the experiment:
- You write a condition such as
member.experiments["opening-test"] == "friendly". - The first time that expression runs for a member (on a supported runtime surface), Gravity Rail assigns them to a group, records exposure, and resolves the branch.
- Later reads return the same group.
No separate “assign member” action is required for typical tests.
Filtering
Who can be assigned (eligibility)
Optional Eligibility CEL on the experiment limits assignment — for example, age, labels, or form data. Members who fail eligibility are never assigned and do not appear in experiment stats.
What you see in lists
Archived experiments are hidden by default. Enable Include archived on the Experiments list to see historical tests.
Finding members by assignment
On the Members page, add an Experiments filter rule to list members assigned to an experiment, not assigned, or in a specific Group. Saved member filters and routines support the same rule type.
What counts in reports
Journey goal breakdowns use exposed members enrolled in that journey — not everyone assigned elsewhere, and not members who never reached the branch. Counts below five are shown as "<5" to protect privacy.
Common Patterns
| Goal | Approach |
|---|---|
| Compare two SMS openings on a journey step | Event Rule on journey_step:execute with experiment condition |
| Route workflow paths | Automatic task edge with member.experiments["slug"] |
| Limit test to a cohort | Eligibility CEL on the experiment |
| See per-member assignment | Member profile → Experiments tab |
| Find members in a test cohort | Members → filter by Experiments / Group |
Related Features
- Event Rules — triggers and conditions
- Workflows — task edges and branching
- Journeys — programs and goals
For setup steps, see the Experiments user guide.