Dev guideAPI Reference
Dev guideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback

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 experience. We believe this new experience will provide several benefits to you and your teams. When changing between the two versions, several key differences between Full Stack and Feature Experimentation are important.

Key concept changes

The following table explains the new 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/off state that is delivered to the end-user.

  • Rule

  • Delivery

  • Flag delivery

  • Delivery Rule

  • Percentage

Conditions for what to deliver and why.
N/ARulesetFull 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 flag enabled/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 Only the name was updated for inclusivity.


Flags are the primary component of the new 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 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. The new SDK methods are a non-breaking change that extends and builds on the existing functionality.

Optimizely recommends adopting the new Decide, Decide All, and Track Event methods as a 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 new methods: