Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

The availability of features may depend on your plan type. Contact your Customer Success Manager if you have any questions.

Dev guideRecipesAPI ReferenceChangelog
Dev guideAPI ReferenceUser GuideLegal TermsGitHubDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

Introduction

Developer documentation for Optimizely Feature Experimentation.

Optimizely Feature Experimentation is a feature flagging and experimentation platform for websites, mobile apps, chatbots, APIs, smart devices, and anything else with a network connection.

You can deploy code behind feature flags, experiment with A/B tests, and use targeted deliveries to roll out or roll back flags immediately. This functionality is available with microsecond performance impact through easy-to-use, open-source SDKs.

📘

Note

Optimizely Rollouts is the free plan for Optimizely Feature Experimentation, designed for startups and teams looking to get started. It comes with free feature flags and the ability to run one A/B test simultaneously.

Sign up for Free Feature Flagging.

Feature Experimentation and Full Stack Experimentation (legacy)

Optimizely has sunset of the previous version of Feature Experimentation, called Full Stack. Feature Experimentation is the default for new projects created after February 2021. For information, see Optimizely Feature Experimentation application migration.

Feature Experimentation projects

Full Stack (legacy) projects were created before February 2021 or had Use Legacy Experience selected on project creation. Full Stack documentation can be accessed by selecting Full Stack Experimentation in the drop-down list in this documentation.

Client-side and server-side SDKs

Optimizely Feature Experimentation provides client and server-side open-source SDKs available on GitHub. Optimizely lets you choose the implementation strategy that best aligns with your application's architecture and performance requirements.

Server-side SDKs

Server-side SDKs are incorporated into your backend services, letting you manage feature flags and experiments before content is delivered to the client. This method ensures that all users receive consistent experiences, as feature decisions are made on the server. Server-side implementation is particularly advantageous for applications requiring high security, complex logic, or when you need to maintain control over the user experience across different client platforms.

server side implementation of Feature Experimentation

Client-side SDKs

Client-side SDKs are integrated directly into applications that run on users' devices, such as web browsers or mobile apps. This lets you deploy feature flags and experiments without additional server requests, permitting personalized user experiences based on immediate client context. However, because the experiment logic resides on the client, you should consider factors like application performance and exposure of experiment details to end users.

client side implementation of Feature Experimentation

For more detailed diagrams, see Implementation checklist documentation.

Supported functionality

Feature Experimentation's SDKs are built for developers and support the following:

  • Feature flags and experimentation – The SDK framework natively integrates feature flags and product experimentation, so you can roll features out, roll them back, and continuously iterate your flags by learning from each release.
  • Remote configuration – Update your app in real-time without a code deployment. Toggle flags on and off, and even make changes to your experiments while they are running.
  • Low latency – In-memory bucketing means no blocking network requests. Test in performance-critical code paths, secure environments, and more.
  • Real-time results – Optimizely's Stats Engine provides best-in-class statistical modeling and immediate, trustable results without waiting for long, manual data queries.
  • Cross-platform experimentation – Run server-side or client-side on any connected device, mobile apps, websites, and TV apps, with consistent bucketing across different languages.

Get started

Learn more about major concepts in Optimizely Feature Experimentation or jump into creating your first experiment.

  1. Use the Quickstarts to install and instantiate the SDK in your code. If you do not want to install an SDK, you can use the JavaScript (Browser) HTML script quickstart method. Or take a look at the SDK reference guides.
  2. Define feature flags that you use to roll out feature code gradually, make remote configurations, or run experiments. Choose user IDs, target audiences with attributes, track events, and preview flag variations.
  3. Use your feature flag to run A/B tests without deploying additional code.
  4. Analyze the results of your experiment.

See the SDK reference guides for details about each API method, such as required arguments, return values, and side effects.

See the implementation checklist section for recommendations and considerations when implementing an Optimizely Feature Experimentation SDK.

📘

Note

To build a company-wide experimentation program, consider pairing Optimizely's server-side experimentation product, Optimizely Feature Experimentation, with the client-side experimentation product, Optimizely Web Experimentation. See Optimizely's knowledge base article: Experiment end-to-end with Optimizely Web Experimentation and Optimizely Feature Experimentation.

If you have any questions, contact Optimizely Support or your Customer Success Manager.