Jump to Content
Dev guide
API Reference
User Guide
Dev guide
API Reference
Campaign
Customized Commerce
Configured Commerce
Content Management System
Content Marketing Platform
Digital Experience Platform
Experimentation Data
Feature Experimentation
Full Stack Experimentation
Integrations
Optimizely Connect Platform
Optimizely Data Platform
Performance Edge
Recommendations
Web Experimentation
Dev guide
API Reference
User Guide
GitHub
NuGet
Dev Community
Submit a ticket
Log In
GitHub
NuGet
Dev Community
Submit a ticket
Log In
Moon (Dark Mode)
Sun (Light Mode)
Feature Experimentation
Search
Optimizely Feature Experimentation
Introduction - Optimizely Feature Experimentation
Optimizely Feature Experimentation - application and migration
Feature Experimentation migration timeline
Key concepts and differences in Optimizely Feature Experimentation
Simplified data model
Updated Optimizely application UI
Updated methods in Feature Experimentation
Impressions after migration
Quickstarts
Android SDK quickstart
C# SDK quickstart
Flutter SDK quickstart
Go SDK quickstart
Java SDK quickstart
JavaScript (Browser) SDK quickstart
JavaScript (Node) SDK quickstart
PHP SDK quickstart
Python SDK quickstart
React SDK quickstart
Ruby SDK quickstart
Swift SDK quickstart
Core concepts
A/B tests
Flag deliveries
Flag variations and flag variables
How bucketing works
Impressions and decisions
Interactions between flag rules
FAQ
Create flags
Create feature flags
Create flag variables
Create flag variations
Handle user ids
Ensure consistent user bucketing
Assign variations with bucketing ids
Target audiences
Define attributes
Create advanced audience combinations
Track user events
Create events
Filter out bots
Run flag rules
Run A/B tests
Run flag deliveries (targeted delivery)
Run a beta
Run a multi-armed bandit optimization
Analyze results
Choose metrics
Tag events
Cross-project events
Export events
QA and troubleshoot
QA checklist
Choose QA tests
Allowlist
Use a QA audience
Troubleshoot
History
Use mutual exclusion
Configure
Manage config (datafile)
Example datafile
Get the datafile
Create webhooks
Manage flags
Manage rules
Scheduled changes
Notification listeners
Decision notification listener
Log event notification listener
Track notification listener
OptimizelyConfigUpdate notification listener
Collaborators
Granular roles and permissions
Manage projects
Manage environments
Integrations with Feature Experimentation
Real-Time Segments for Feature Experimentation
Implement Real-Time Segments for Feature Experimentation for client-side SDKs
Implement Real-Time Segments for Feature Experimentation for server-side SDKs
Set up analytics platforms
Set up Contentful
Set up Google Analytics 4 (GA4)
Create segments for Google Analytics 4 (GA4)
Set up Localytics
Set up Mixpanel
Set up mParticle
Set up Segment
Next.js starter kit
Solid.js starter kit
Vue.js starter kit
Optimizely Feature Experimentation at the edge
Content Delivery Networks and Optimizely Feature Experimentation
Get started experimenting at the edge
Akamai EdgeWorkers
AWS Lambda@Edge
Cloudflare Workers
Fastly Compute@Edge
Vercel Functions
Deploy as a Microservice
Optimizely Agent
Quickstart for Agent
Install Optimizely Agent
Use Optimizely Agent
Evaluate Agent REST APIs
Agent admin API
Real-Time Segments for Feature Experimentation for Agent
Configure Optimizely Agent
Authorization for Agent
Webhooks for Agent
Agent notifications
Agent advanced configuration
Agent plugins
Agent API Reference
Agent Github Repository
REST API
Feature Experimentation API Reference
Best Practice
Implementation checklist
Event tracking
IDE plug-ins
Visual Studio Code extension
IntelliJ Plugin
Microservices
Multiple SDK implementations
Mutually exclusive experiments
Two- and three-stage testing
SDK Reference Guides
Index
SDK Compatibility Matrix
Android SDK
Install the Android SDK
Initialize the Android SDK
Example usage of the Android SDK
Create a user context using the Android SDK
Decide methods for the Android SDK
Track event method for the Android SDK
OptimizelyConfig for the Android SDK
OptimizelyDecision for the Android SDK
OptimizelyJSON for the Android SDK
Implement a user profile service for the Android SDK
Configure event dispatcher for the Android SDK
Event batching for the Android SDK
Customize the Android SDK logger
Customize the Android SDK error handler
Pass in audience attributes using the Android SDK
Set up a notification listener using the Android SDK
Update Android API usage from older versions
OptimizelyUserContext for the Android SDK
Forced Decision methods for the Android SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the Android SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation and the Android SDK
C# SDK
Install the C# SDK
Initialize the C# SDK
Example usage of the C# SDK
Create a user context using the C# SDK
Decide methods for the C# SDK
Track event method for the C# SDK
OptimizelyConfig for the C# SDK
OptimizelyJSON for the C# SDK
OptimizelyDecision for the C# SDK
Implement a user profile service for the C# SDK
Event batching for the C# SDK
Customize the C# SDK logger
Customize the C# SDK error handler
Set up a notification listener using the C# SDK
Configure the C# SDK event dispatcher
Update from older versions of the C# SDK
OptimizelyUserContext for the C# SDK
Forced Decision methods for the C# SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the C# SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the C# SDK
Flutter SDK
Install the Flutter SDK
Initialize Flutter SDK
Example usage of the Flutter SDK
Create a user context using the Flutter SDK
Decide methods for the Flutter SDK
Track event method for the Flutter SDK
OptimizelyConfig for the Flutter SDK
OptimizelyDecision for the Flutter SDK
Configure event dispatcher for the Flutter SDK
Event batching for the Flutter SDK
Set up a notification listener using the Flutter SDK
OptimizelyUserContext for the Flutter SDK
Forced Decision methods for the Flutter SDK
Real-Time Segments for Feature Experimentation segment qualification methods for Flutter
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the Flutter SDK
Go SDK
Install the Go SDK
Initialize the Go SDK
Example usage of the Go SDK
Create a user context using the Go SDK
Decide methods for the Go SDK
Track event method for the Go SDK
OptimizelyConfig for the Go SDK
OptimizelyDecision for the Go SDK
OptimizelyJSON for the Go SDK
Implement a user profile service for the Go SDK
Configure the Go SDK event dispatcher
Customize the GO SDK logger
Event batching for the Go SDK
Set up a notification listener using the Go SDK
Update from older versions of the Go SDK
OptimizelyUserContext for the Go SDK
Forced Decision methods for the Go SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the Go SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the GO SDK
Java SDK
Install the Java SDK
Initialize the Java SDK
Example usage of the Java SDK
Create a user context using the Java SDK
Decide methods for the Java SDK
Track event method for the Java SDK
OptimizelyConfig for the Java SDK
OptimizelyDecision for the Java SDK
OptimizelyJSON for the Java SDK
Implement a user profile service for the Java SDK
Configure the Java SDK event dispatcher
Customize the Java SDK logger
Event batching for the Java SDK
Customize the Java SDK error handler
Set up a notification listener using the Java SDK
Update from older versions of the Java SDK
OptimizelyUserContext for the Java SDK
Forced Decision methods for the Java SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the Java SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the Java SDK
JavaScript (Browser) SDK
Install the JavaScript (Browser) SDK
Initialize the JavaScript (Browser) SDK
Client-side implementation tips for the JavaScript (Browser) SDK
Example usage of the JavaScript (Browser) SDK
Create a user context using the JavaScript (Browser) SDK
Decide methods for the JavaScript (Browser) SDK
Track Event for the JavaScript (Browser) SDK
OptimizelyConfig for the JavaScript (Browser) SDK
OptimizelyDecision for the JavaScript (Browser) SDK
Implement a user profile service for the JavaScript (Browser) SDK
Configure the JavaScript (Browser) SDK event dispatcher
Event batching for the JavaScript (Browser) SDK
Customize the JavaScript (Browser) SDK logger
Customize error handler for the JavaScript (Browser) SDK
Set up a notification listener using the JavaScript (Browser) SDK
Update from older versions of the JavaScript (Browser) SDK
OptimizelyUserContext for the JavaScript (Browser) SDK
Forced Decision methods for the JavaScript (Browser) SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the JavaScript (Browser) SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the JavaScript (Browser) SDK
JavaScript (Node) SDK
Install the JavaScript (Node) SDK
Initialize the JavaScript (Node) SDK
Example usage of the JavaScript (Node) SDK
Create a user context using the JavaScript (Node) SDK
Decide methods for the JavaScript (Node) SDK
Track Event for the JavaScript (Node) SDK
OptimizelyConfig for the JavaScript (Node) SDK
OptimizelyDecision for the JavaScript (Node) SDK
Implement a user profile service for the JavaScript (Node) SDK
Configure event dispatcher for the JavaScript (Node) SDK
Event batching for the JavaScript (Node) SDK
Customize the JavaScript (Node) SDK logger
Customize the JavaScript (Node) error handler
Set up a notification listener using the JavaScript (Node) SDK
Update usage from older versions of the JavaScript (Node) SDK
OptimizelyUserContext for the JavaScript (Node) SDK
Forced Decision methods for the JavaScript (Node) SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the JavaScript (Node) SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the JavaScript (Node) SDK
PHP SDK
Install the PHP SDK
Initialize the PHP SDK
Example usage of the PHP SDK
Create a user context using the PHP SDK
Decide methods for the PHP SDK
Track Event for the PHP SDK
OptimizelyConfig for the PHP SDK
OptimizelyDecision for the PHP SDK
Implement a user profile service for the PHP SDK
Configure the PHP SDK event dispatcher
Customize PHP SDK logger
Customize the PHP SDK error handler
Set up a notification listener using the PHP SDK
Update usage from older versions of the PHP SDK
OptimizelyUserContext for the PHP SDK
Forced Decision methods for the PHP SDK
Python SDK
Install the Python SDK
Initialize the Python SDK
Example usage of the Python SDK
Create a user context using the Python SDK
Decide methods for the Python SDK
Track Event for the Python SDK
OptimizelyConfig for the Python SDK
OptimizelyDecision for the Python SDK
Implement a user profile service for the Python SDK
Configure the Python SDK event dispatcher
Event batching for the Python SDK
Customize the Python SDK logger
Customize Python SDK error handler
Set up a notification listener using the Python SDK
Update from older versions of the Python SDK
OptimizelyUserContext for the Python SDK
Forced decision methods for the Python SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the Python SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the Python SDK
React SDK
Install the React SDK
Initialize the React SDK
Example usage of the React SDK
withOptimizely for the React SDK
OptimizelyProvider for the React SDK
useDecision hook for the React SDK
OptimizelyConfig for the React SDK
OptimizelyDecision for the React SDK
Implement a user profile service for the React SDK
Configure the React SDK event dispatcher
Event batching for the React SDK
Customize the React SDK logger
Customize the React SDK error handler
Set up a notification listener using the React SDK
ReactSDKClient for the React SDK
Update from older versions of the React SDK
Forced Decision methods for the React SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the React SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the React SDK
React Native SDK
Install the React Native SDK
Initialize the React Native SDK
Example usage of the React Native SDK
withOptimizely for the React Native SDK
OptimizelyProvider for the React Native SDK
useDecision hook for the React Native SDK
OptimizelyConfig for the React Native SDK
OptimizelyDecision for the React Native SDK
Implement a user profile service for the React Native SDK
Configure the React Native SDK event dispatcher
Event batching for the React Native SDK
Customize the React Native SDK logger
Customize the React Native error handler
Set up a notification listener using the React Native SDK
ReactSDKClient for the React Native SDK
Update usage from older versions of the React Native SDK
Forced Decision methods for the React Native SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the React Native SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the React Native SDK
Ruby SDK
Install the Ruby SDK
Initialize the Ruby SDK
Example usage of the Ruby SDK
Create a user context using the Ruby SDK.
Decide methods for the Ruby SDK
Track Event for the Ruby SDK
OptimizelyConfig for the Ruby SDK
OptimizelyDecision for the Ruby SDK
Implement a user profile service using the Ruby SDK
Configure the Ruby SDK event dispatcher
Event batching for the Ruby SDK
Customize the Ruby SDK logger
Customize the Ruby SDK error handler
Set up a notification listener using the Ruby SDK
Update from older versions of the Ruby SDK
OptimizelyUserContext for the Ruby SDK
Forced Decision methods for the Ruby SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the Ruby SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the Ruby SDK
Swift SDK
Install the Swift SDK
Initialize the Swift SDK
Example usage of the Swift SDK
Create a user context using the Swift SDK
Decide methods for the Swift SDK
Track Event for the Swift SDK
OptimizelyConfig for the Swift SDK
OptimizelyDecision for the Swift SDK
OptimizelyJSON for the Swift SDK
Implement a user profile service using the Swift SDK
Configure the Swift SDK event dispatcher
Customize the Swift SDK logger
Customize the Swift SDK error handler
Set up a notification listener using the Swift SDK
Update from older versions of the Swift SDK
OptimizelyUserContext for the Swift SDK
Forced Decision methods for the Swift SDK
Real-Time Segments for Feature Experimentation segment qualification methods for the Swift SDK
Send Optimizely Data Platform data using Real-Time Segments for Feature Experimentation for the Swift SDK
Suggest
This topic gives troubleshooting steps for Optimizely Feature Experimentation.