Optimizely will be sunsetting Full Stack Experimentation on July 29, 2024. See the recommended Feature Experimentation migration timeline and documentation.

Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySumbit a ticketLog In
GitHubNuGetDev CommunitySumbit a ticket

Introduction to rollouts

This topic describes what a feature rollout is.

A feature rollout enables you to safely deliver a new feature to your users by controlling who sees it and when. You can:

  • Deploy a feature to a percentage of your traffic.
  • Roll the feature back if needed.
  • Target your rollout to custom audiences, so that only a subset of users (for example, users in the United States) gets access to the feature.

Rollouts and rollbacks take effect immediately without a new code deployment. All of this functionality is available with zero performance impact with free feature flagging easy-to-use, open-source SDKs.

Advantages of using rollouts

Rollouts help you mitigate risk. For example, if you want to be sure that a new feature does not degrade the visitor experience, start by launching the feature to a small percentage of visitors, then increase.

Rollouts also let you launch winning variations that you identify through experimentation. For example, if you find a winning variation when running a feature test, use a feature rollout to gradually expose the winning variation to your visitors in a controlled fashion.

Roll out to multiple audiences

Often, you want to roll out 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 roll out features:

Roll out sequentially to different user bases

First you roll out to beta users. Second, you retain the 100% roll out for the beta users and roll out to your lowest value customers. Finally, you roll out the feature for your highest-value customers.

Roll out out to audiences sequentially

Roll out out to audiences sequentially

Roll out with different rules per environment

For each environment, you can roll out with different rules for:

  • audiences
  • feature configurations
  • traffic

For example, you roll out to “Everyone” in pre-production while targeting only “Internal users” in production.

Target internal users in production

Target internal users in production

Roll out with different configurations per audience

For each rollout audience, you can set different feature configurations. For example, you roll out a feature flag with a configuration for English for your "USA" audience and a configuration for Portuguese for your "Brazil" audience. For information about feature variables, see Feature variables.

Regional feature configurations

Regional feature configurations

Bucketing logic and traffic percentages in feature rollouts

Bucketing for feature rollouts is:

  • Deterministic: A user sees the same enabled feature across all devices they use, whether they are 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 feature rollout, then increase the traffic again, users previously exposed to the feature might no longer see it.

For more information about how bucketing logic works, see How bucketing works.

Roll out a feature

To get started rolling out a feature, see Use feature flags.