Intempt Docs
GuidesExperiencesFeature flags

What the rollout counts

A feature flag rolls out to a share of people, or a share of accounts. Which one you pick decides who moves together, what a percentage means, and who gets nothing.

Rolling out. The account rollout unit is part of the current release and is not on every project yet. Until it reaches yours, a feature flag rolls out by person and the question below does not appear when you create one.

A rollout percentage is a share of something. On a feature flag you choose what that something is, once, when you create it.

UnitThe share isWho moves together
Peoplea share of peopleone person, wherever they are signed in
Accountsa share of accountseveryone in an account, at the same moment

People is the default and is what you want unless the thing you are shipping is bought, configured or noticed at the company level.

Only a feature flag can count accounts

The unit control appears on Feature flag and nowhere else. The other three experience types have a subject that is not a customer:

TypeSubjectUnit
Page experimentthe devicefixed
Server experimentthe devicefixed
Personalizationthe person who sees itfixed, people
Feature flagwhatever you choosePeople or Accounts

A Personalization renders to a human being, so its subject is that human. An experiment measures a device, because most experiment traffic is never signed in and a measurement needs one consistent subject per exposure. Neither has a company as its subject, so neither offers the choice.

An account still has users under it, so personalization keeps working per user on an account-unit flag. The account decides who is inside the rollout. It does not flatten what each person sees once they are.

Why "everyone in an account at the same moment" is the point

Ship a new billing screen to 10% of people and you get 10% of every account. One company sees two different billing screens depending on who logged in. Their admin files a bug, and it is not a bug.

Ship it to 10% of accounts and every person in a treated company sees the new screen, every person in an untreated company sees the old one, and nobody inside one company disagrees about what the product looks like.

That is the whole reason the unit exists. Use Accounts when the answer is embarrassing if two colleagues compare screens.

You choose it once, in the create dialog

The unit is the third question the create dialog asks once you pick Feature flag. There is no control for it anywhere else in the console, so that is the only place you set it.

The API is slightly more permissive than the UI: it accepts a change while the experience is still a draft, and rejects one afterwards with Entity type can only be changed while the experience is a draft. Re-sending the value it already holds is not a change and always succeeds.

The reason is that changing the unit rebuckets everyone. The share is recomputed against a different subject, so people who were being served stop being served and people who were not start. For a flag that is already live in front of customers, that is not a settings change, it is a release.

An account-unit flag cannot become an experiment

A feature flag can normally be turned into an experiment and back with no deploy, because your code asks for a key rather than a type. That conversion is refused while the unit is Accounts.

An experiment measures a device, so it has no use for an account, and a row carrying both would be measured against a subject it does not bucket on. The API rejects the change with Only a feature flag can be rolled out by account.

Set the unit back to People first, then convert. That is a real rebucketing of everyone, which is the honest cost of the change rather than a formality.

What a person with no account gets

Nothing. They are served the off value.

This is the part most people expect to work differently, so it has its own page.

On this page