Percentage rollouts

Under Everyone else, choose Split between values. For an on/off flag a slider sets the share who get the new behaviour. A person's place is decided by a stable calculation on the flag key and their user id, so:

  • The same person always gets the same answer for the same flag.
  • Different flags split people differently, so being in 10% of one rollout says nothing about another.
  • Raising the percentage never takes the feature away from anyone who already has it.

For flags that give a value rather than on/off, split between any number of values, such as 50% blue, 30% green, 20% orange. The percentages must add up to 100.

Individual users

Under Individual users list the people who must always get a value — your own team for a dogfood week, or one customer who asked. They get it whatever the rules or percentages say (but not when the flag is off).

Rules

A rule says: "if these conditions about the user are all true, give them this value". Rules run in order and the first match wins. A user's facts come from what your app sends as attributes when it reads the flag (see In your app), plus two the platform adds: key (the user id) and now (the current time).

ConditionMeaningExample
is one of / is not one ofExact match against a listplan is one of pro, starter
contains / starts with / ends withText matchemail ends with @acme.com
matches patternA regular expression (an invalid pattern never matches)email matches ^qa\+.*@
is less than / at most / more than / at leastNumber comparisonseats is at least 10
is version / below version / above versionDotted version comparison (1.10 is above 1.9)appVersion is above 2.4.0
is before / is afterDate and time (ISO)now is after 2030-11-25T00:00:00Z

Add several conditions to one rule and all must hold. A user missing a fact never matches a condition on it (use "is not one of" to include people who lack it).

Recipes

I want to…Do this
Release to my team firstIndividual users: add your team under true. Leave everyone else off. Later switch Everyone else to a split.
Give a paid feature to paying customersRule: plan is one of pro, starter → true. Everyone else false.
Roll out by 10% / 50% / 100%Everyone else → split; or use a scheduled ramp.
Only the new app versionRule: appVersion is above 2.4.0 → true.
A/B test two designsA text flag with values a and b, split 50/50. Your app reads the value and shows that design; compare results in your own analytics.
Exclude one customerRule at the top: tenant is one of acme → false (send tenant as an attribute), or have that tenant switch it off for itself.

Test before you save

Open the flag's Test tab, enter a user id and the facts you send, and see the result and the reason — without changing anything.