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
- use the
Decide
andTrack Event
methods (backward compatible with legacy SDK methods). - have the Flags tab in the Optimizely UI.
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.

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.
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.
- 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.
- 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.
- Use your feature flag to run A/B tests without deploying additional code.
- 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.
Updated about 1 hour ago