---
title: Get started with Optimizely Feature Experimentation
slug: feature-experimentation/docs/get-started-with-optimizely-feature-experimentation
createdAt: 2026-08-05T20:39:52.000Z
---

- Optimizely Feature Experimentation

Optimizely Feature Experimentation lets you run experiments anywhere in your technology stack. Use it to release features safely behind feature flags, run A/B tests to compare variations, and roll out or roll back changes instantly, without redeploying code.

## Before you begin

To use Feature Experimentation, you need the following:

- An active Optimizely account with Feature Experimentation enabled.
- Developer access to the application you want to instrument.
- One of the supported SDKs installed in your codebase (see the following [Feature Experimentation SDKs](docId:2mqVH9rpE_ELkinFS4nHh) section).

For information on how to start building and running experiments using the Feature Experimentation APIs and SDKs, see the [Feature Experimentation developer documentation](docId\:E2v4Jip4M-q3GmANBeR9j).

To learn more about the differences between Optimizely Web Experimentation and Optimizely Feature Experimentation, see [What to expect when you migrate from Optimizely Web Experimentation to Optimizely Feature Experimentation](docId\:Glvh_6om86atGQyxEqE2Y).

## Get started

Follow these steps to run your first experiment:

1. Install an SDK for your language or platform (see the following [Feature Experimentation SDKs](docId:2mqVH9rpE_ELkinFS4nHh) section).
2. Review the [core concepts of Feature Experimentation](docId\:DD_4RoxNZzRQHrmV0bX0f).
3. Create a [feature flag](docId\:oxWAaDQgCSG0Z2Zw6jZn2) in your Optimizely project.
4. [Implement the flag in your code](docId\:Z4bwvnBKs0G81d-NhS9st) using the decide method.
5. Define your [audience](docId\:jN_RcpFNKYfDDqZLpoPWI) and configure a flag rule ([A/B test](docId\:oqDGF6JrR-nvfIShOH8c8) or [targeted delivery](docId\:TBgf8jFkx9EEfY4hxZBON)).
6. Analyze results on the [Experiment Results page](docId\:mrUblIuNVOZc1dvjWdsbw).

## Feature Experimentation SDKs

Choose the SDK that matches your application's language or platform. Each SDK exposes the same core methods ([decide](docId\:DD_4RoxNZzRQHrmV0bX0f), [track event](docId\:DD_4RoxNZzRQHrmV0bX0f), and others) so the concepts in this documentation apply regardless of which SDK you use.

- [Android SDK](docId\:FQEY5tFZQVPWAjGPjLBEX)
- [C# SDK](docId\:esBzluZiGeopouGPklRfB)
- [Flutter SDK](docId\:RjcdDlKorm2rsRDRgsb2z)
- [Go SDK](docId\:mOu3Q5aFTl5Q7_Ob1Ptpb)
- [Java SDK](docId\:NtFlX9bD9MUTgiIR90KqE)
- [JavaScript SDK](docId\:BH1d17PyLwDzM5yw6kvo-) – SDK version 6 and above
- [JavaScript (Browser) SDK](docId\:Xg7P2ux5Cd5t461rYTc6o) – SDK versions 5.3.5 and below
- [JavaScript (Node) SDK](docId:5-xFjwBwxerduQk4iUDN1) – SDK versions 5.3.5 and below
- [PHP SDK](docId\:xgdjksBPaqq4GDsC8sBrI)
- [Python SDK](docId\:YE3bxlNioCSgi3e4jefaq)
- [React SDK](docId\:KehBY58fDT-m1LUq_lNh8)
- [React Native](docId\:KXNDhDlq6JsnWZ3Uwguc6)
- [Ruby SDK](docId\:j-uje5XQgv6qQB1O1g6LO)
- [Swift SDK](docId:1rMJsrxeNCRWNxAnybaYU)

:::hint{type="info"}
**Note**

For SDK compatibility information, see the [SDK compatibility matrix](docId\:zg27HhluF597DQiNtslCl).
:::

## Configure Optimizely Feature Experimentation

- To get started quickly with an SDK, see [Quickstarts](docId:2HHRJLn4PS5IkCXrW4hjm).
- [Review the core concepts](docId:6G0uWkZu-yH9jlM_rF9t0) of Optimizely Feature Experimentation.
- Get to know the [datafile](docId\:LZrelZVwEZgiXEYUaEQi6), and why it is so important.
- Find out how to create and manage [Optimizely Feature Experimentation environments](docId\:XEmj8NpfZYHZ_On3RATkY).

## Define and debug experiments

- Design and run [A/B tests](docId\:eJW6k2_6lGLnvTRoS2FIC) and [flag deliveries](docId\:R0KSPrSRYev0Q6jXL27QK).
- Understand the difference between [feature flags](docId\:Z4bwvnBKs0G81d-NhS9st) and [flag variations](docId\:QKzlhWuX9v1Df6HlXHUPH).
- Define your [audiences and attributes](docId\:jN_RcpFNKYfDDqZLpoPWI).
- [Roll out and roll back features](docId\:R0KSPrSRYev0Q6jXL27QK) to subsets of your customers using targeted deliveries.
- Fine-tune your experiments by [previewing your experiment variations](docId\:TnVlORQldkglYAGbkhlyv).
- Learn how to use [allowlisting](docId\:JiMpeuk37uCOvmyE7-QYo).
- Learn how to [troubleshoot](docId:4T_K8m0BysU3eZ1GDK3P2) Optimizely Feature Experimentation.

![Optimizely Feature Experimentation flags dashboard](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/6ylhvNAJC6SL4FhokhvDr-20260720-145834.png)

## Get results

- Learn how to [read and analyze the Results page](docId\:b_Ei_dvf1d-E1PCa3cC-n).
- [Choose the right metrics](../../developer-docs/run-flag-rules/analyze-results/choose-metrics.mdx) for your experiment.
- [Integrate external analytics platforms](docId\:KPyI1AX9GsZuPVWxp_bq6), like Google Analytics or Amplitude.

## Best practices

- Leverage [CDNs](docId\:wXi5T3vBOPQF2dkfZC6zp).
- Find out how [datafile versioning and management](docId\:LZrelZVwEZgiXEYUaEQi6) works in Optimizely Feature Experimentation.
- Work with [microservices](docId\:RnC8uvuNVUVEULoIwdqUh).
- Create and manage [staging environments](docId\:ni8lqBYDH2sKrdYEMs6GH).

![create environment page](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/WCABVsdteLd264wth5-da-20260720-145834.png)
