Using a feature flag delivery, you can:
- Deploy a flag to a percentage of your user traffic.
- Roll the flag back if needed.
- Target your delivery to custom audiences, so that only a subset of users (for example, users in Spain) gets access to the flag.
Deliveries take effect immediately, without a new code deploy. All of this functionality is available with microsecond performance impact via free (see plans for advanced features), easy-to-use, open source SDKs.
Flag deliveries are a type of flag rule, as are A/B tests. The following table compares A/B tests and flag deliveries:
Lets you gather metrics data so you can compare multiple flag variations.
Lets you deploy a flag that you've already tested or measured some other way, such as qualitative feedback.
When a user is assigned to an experiment, Optimizely sends a decision event so that information is recorded in your test results.
When a user is assigned to a delivery, Optimizely does not send a decision event. This means that extra network traffic and test results aren't generated.
Test multiple variations—on versus off, or a multivariate test of different configurations. You can create one experiment per flag.
Each delivery exposes users to one variation. You can have multiple deliveries per flag.
Flag deliveries help you mitigate risk. For example, if you want to be sure that a new feature doesn’t degrade the visitor experience, start by launching the feature flag to a small percentage of visitors, then increase. Decrease the percentage exposed to the flag if you encounter problems with the new feature.
Deliveries also let you launch winning flag variations that you identify through experimentation. After you find a winning variation, use a delivery to gradually expose the variation to your visitors in a controlled fashion.
Often, you want to deliver more strategically than to a random percent of your total user base. You can use audiences to do so. For more information, see Target audiences.
Here are some examples of how to use multiple audiences to deliver flags:
First you gradually deliver, or roll out, a new feature flag to beta users. Second, you retain the beta user delivery at 100% and roll out to your lowest value customers. Finally, you roll out the flag for your highest-value customers.
For each environment, you can roll out the same flag with different rules for:
- flag variations
For example, you roll out to “Everyone” in development while targeting only “Internal users” in production.
For each audience or combination of audiences, you can deliver with different feature flag configurations ("variations"). For example, you deliver a feature flag with an English-language variation for your USA audience, and deliver the same flag with a variation for your Portuguese audience. For information about variations, see Flag variations.
User bucketing for deliveries is:
- deterministic: A user sees the same flag variation every time, across all devices they use, whether they're on their laptop, phone, or tablet. They are bucketed according to an efficient and deterministic hash based on their user ID.
- not always sticky: You can increase traffic monotonically and retain bucketing. However, if you decrease the traffic exposed to a flag delivery, then increase the traffic again, users previously exposed to the flag might no longer see it.
For more information about how bucketing logic works, see How bucketing works.
To get started delivering a flag, see Run flag deliveries.
Updated 3 months ago