Skip to main content

Everything you need to switch from Optimizely Classic to X in one place: See the Optimizely X Web Transition Guide.

Optimizely Knowledge Base

The Optimizely X Full Stack SDKs: How they work

  • Optimizely X Full Stack

  • Learn the core components of all Optimizely X Full Stack SDKs
  • Understand how Optimizely X Full Stack SDKs assigns users to experiments and variations
  • Configure the Optimizely X Full Stack SDK to ensure that experiment assignments are sticky

Currently, Optimizely X Full Stack supports a number of SDKs for running experiments in different applications:

At a high level, each SDK can be used for two things:

  • Traffic splitting: Determines which experiments and variations should be visible to a given user.

  • Event tracking: Tracks conversion events used to measure the success of an experiment.

Traffic splitting can be performed with the SDK’s activate() or get_variation() functions, and event tracking can be performed with the track() function.

This article describes exactly how Optimizely's Full Stack SDKs make experiment assignment decisions. The decision criteria are exactly the same for all SDKs: if you use identical inputs for calls made toactivate(), get_variation(), ortrack(), you’ll get the same output across all SDKs.

Optimizely X Full Stack SDK decision flow

The following diagram summarizes the order of decisions to determine which variation (if any) of an experiment will be visible to a given user:


Step Purpose Help article
Experiment status Determines whether Optimizely's SDKs will honor the experiment Manage experiments in Full Stack
User whitelisting Can be used to force users into variations for QA purposes QA: Whitelist users in an SDK experiment
User profiles Can persist information about your users between requests Optimizely developer docs
Audience targeting Can be used to target users into experiments Create audiences and attributes in SDK projects
Exclusion groups Keep experiments mutually exclusive Create mutually exclusive experiments in SDK projects
Traffic allocation Determines the percentage of the site's total traffic that get to see your experiment Create experiments in an SDK project
Traffic distribution Determines the fraction of the experiment’s allocated traffic that is assigned to each variation Create experiments in an SDK project

If you pause a variation mid-experiment, no variations stored in the user profile will be honored. For more information about pausing variations, see this article.

For information on how bucketing works in Optimizely, see this article.