Dev guideAPI Reference
Dev guideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Key concepts and differences in Optimizely Feature Experimentation

Key differences between Full Stack legacy and Optimizely Feature Experimentation.

Optimizely Feature Experimentation is a completely redesigned Full Stack Experimentation experience. Optimizely believe this redesigned experience will benefit you and your teams. Several key differences between Full Stack Experimentation and Feature Experimentation are important when migrating to the latest version.

Key concept changes

The following table explains the overall concepts in Optimizely Feature Experimentation.

Old Full Stack conceptNew Optimizely Feature Experimentation conceptFeature Experimentation information
FeatureFlagA place in code where a decision is made.
Feature variable

  • Flag variable

  • Flag variation

A flag configuration, including feature variations and on or off state, is delivered to the end-user.

  • Rule

  • Delivery

  • Flag delivery

  • Delivery Rule

  • Percentage

Conditions for what to deliver and why.
N/ARulesetThe full set of rules for a flag within an environment.
Feature test

  • A/B Test

  • Experiment rule

A standalone test to answer a specific question. For example, which of two (or more) variations performs best?
Activate an experimentMake a flag decision (for a flag rule)Use the Decide methods to return flag decisions for a user.

The flag decision includes the flag enabled or disabled status and flag variation.
WhitelistAllowlistFunctionality remains the same, showing a specific variation to up to 10 users that you have selected. The name was only updated for inclusivity.


Flags are the primary component of the Optimizely Feature Experimentation experience. They represent any place in your code base where you use Optimizely to control how an experience is delivered. They can range from a simple on-off toggle to a complex set of instructions about handling each segment of your user base.

  • A rule is the unit of targeting and allocation logic within a flag. Rules describe what variation the flag should deliver to a given user.
  • A ruleset is the collection of prioritized rules associated with a flag and a specific environment at a given time.
  • A variation consists of an on-off status for the flag.
  • Default variables can be associated with a flag and reused and referenced across your A/B test and targeted delivery to configure your flag with Optimizely remotely.

SDK methods

Optimizely Feature Experimentation introduces new SDK methods to retrieve decisions for your Flags. These SDK methods are a non-breaking change that extends and builds on the existing functionality.

You should adopt the Decide, Decide All, and Track Event methods because they are more flexible and easier-to-use replacement where you currently use isFeatureEnabled, getFeatureVariable, getAllFeatures, or Track calls within your implementation.

Refer to your SDK language's documentation for information on updating to the methods: