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 CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Introduction - Optimizely Full Stack Experimentation

Developer documentation for Optimizely Full Stack (Legacy) Experimentation.



Optimizely has recently announced the sunset of Optimizely Full Stack.

This documentation is for Full Stack. If you are looking for the newest version of Optimizely Experimentation SDKs, select Feature Experimentation in the drop-down menu above.

Full Stack (Legacy) projects are projects created before 2021 or selected Use Legacy experience on project creation. Full Stack projects:

Optimizely Full Stack (legacy) 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 roll out or roll back features immediately. All of this functionality is available with minimal performance impact via easy-to-use, open-source SDKs.

Client-side and server-side SDKs

See the following architectural diagram for an overview of Full Stack's server-side SDKs:

And our client-side SDKs, highlighting our mobile SDKS:

For more detailed diagrams, see Implementation checklist.


Check out the resources below for an overview of Optimizely Full Stack (legacy).

Feature flags with Optimizely Rollouts60-second, high-level video
Flappy Bird interactive tutorial3-minute interactive gameplay tutorial. Click through steps to experiment with features in the game.
5 Powerful Capabilities of Optimizely4-minute video explaining key features.

Supported functionality

Our SDKs are built for developers, and support:

  • Feature flags and experimentation: Our SDK framework natively integrates feature flags and product experimentation, so you can roll features out, roll them back, and continuously iterate your features by learning from each release.
  • Remote configuration: Update your app in real time without a code deploy. Toggle features on and off, and even make changes to your experiments while they're 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, TV apps—with consistent bucketing across different languages.

Get started

Learn more about major concepts in Full Stack or jump into creating your first experiment:

  1. Install the SDK (optional: customize i.e. configuration polling interval) and instantiate it in your code.
  2. Define feature flags that you'll use to roll out features, make remote configurations, or run feature tests.
  3. Use your feature flag to run feature tests without deploying code, or run a standalone A/B test. Choose user IDs, target audiences with attributes, track events, and preview experiment variations.
  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 Best Practices section for recommendations and considerations when implementing a Full Stack (legacy) SDK.

See also Certification exams for Optimizely Experimentation Strategist and other products.



To build a company-wide experimentation program, consider pairing Optimizely's server-side experimentation product, Full Stack (legacy), with our client-side experimentation product, Optimizely Web Experimentation.

See our support help center article: Experiment end-to-end with Optimizely Web Experimentation and Optimizely Feature Experimentation.

If you have any questions, contact support. We are happy to help you set up any of our SDKs!