Optimizely
Enterprise experimentation platform spanning client-side web testing and server-side feature experimentation, sold within a broader digital experience suite.
INTEGRATES: google-analytics-4 · adobe-analytics · segment · amplitude · google-tag-manager
ALTERNATIVES: vwo · growthbook · statsig · posthog
Optimizely defined the web A/B testing category and now splits experimentation across two products. Web Experimentation is the classic client-side tool — visual editor, audience targeting, and a snippet that applies variations in the browser. Feature Experimentation (formerly Full Stack) is feature flagging plus experimentation delivered through SDKs — both server-side (backend services) and client-side (browsers and mobile apps) — in Java, Python, Go, JavaScript, React, PHP, Ruby, Swift, Android, C#, and Flutter.
The data model behind Feature Experimentation is a datafile: a JSON configuration containing flag definitions, experiment rules, and audiences that each SDK syncs and evaluates against in memory. Bucketing happens locally with no blocking network request in the decision path, and it is consistent across languages, so a user lands in the same variation whether the decision runs in a Go service or a React app. Exposure and conversion events are then dispatched back to Optimizely for analysis, which also supports multi-armed bandits alongside classic A/B tests.
The main implementation gotcha on the Web Experimentation side is snippet placement. Optimizely’s own guidance is to load the snippet synchronously, as high in the head as possible — loading it async avoids any page-load delay but greatly increases the chance of flicker, where visitors see the original page before the variation snaps in. That means the classic third-party-tag advice (“load everything async”) works against you here, and teams deploying it through a tag manager should read the vendor’s docs on that trade-off before choosing a loading strategy.
For service-oriented backends there is Optimizely Agent, an open-source standalone microservice that exposes flag decisions over REST so many services can share one deployment instead of embedding an SDK each. The trade-off is latency: embedded SDKs decide in microseconds, Agent in milliseconds, so the vendor recommends embedded SDKs when instant decisions matter and Agent for standardized multi-team setups (or languages without a native SDK).
Its Stats Engine uses sequential testing, which tolerates the peeking that fixed-horizon statistics punish — results stay valid however often stakeholders check the dashboard. Since the Episerver merger, experimentation is one pillar of a larger DXP portfolio spanning content, commerce, and orchestration, and the sales motion reflects that: there are no published prices, and every plan is individually packaged through sales.
Use it when an enterprise program needs mature statistics, governance, and both client- and server-side testing under one contract, possibly alongside other Optimizely products. Look past it when the budget or team size does not justify enterprise licensing — warehouse-native and open-source alternatives now cover most of the methodology at a fraction of the cost.