There are three options for deciding who sees your new feature. You can roll out the feature to:
- A fixed percentage of users or groups
- A set of users or groups filtered based on their user properties, cohort (based on user properties), or group properties.
- A combination of the two
Roll out to a percentage of users or groups
By rolling out to a percentage of users or groups, you can gradually ramp up those who sees a new feature. To calculate this, we "hash" a combination of the key of the feature flag and the unique distinct ID of the user.
This way a user always falls in the same place between 0 and 100%, so they consistently see or do not see the feature controlled by the flag. As you move the slider towards 100%, more users start seeing your feature.
Hashing also means that the same user falls along different points of the line for each new feature. For example, a user may start seeing the feature at 5% for feature A, but only at 80% for feature B.
Filter by user or group properties
This works just like any other filter in PostHog. You can select any property and users that match those filters will see your new feature.
By combining properties and percentages, you can determine something like:
- Roll out this feature to 80% of users that have an email set
- Provide access to this feature to 25% of organizations where the
beta-tester
property istrue
. - Show this component to 10% of users whose
signed_up_at
date is after January 1st.
De-activating properties
If the feature has caused a problem, or you don't need the feature flag anymore, you can disable it instantly and completely. Doing so ensures no users will have the flag enabled.
Feature flag persistence
For feature flags that filter by user properties only, a given flag will always be on if a certain user meets all the specified property filters.
However, for flags using a rollout percentage mechanism (either by itself or in combination with user properties), the flag will persist for a given user as long as the rollout percentage and the flag key are not changed.
As a result, bear in mind that changing those values will result in flags being toggled on and off for certain users in a non-predictable way.