- Learn the core components of all Optimizely X Full Stack SDKs
- Understand how Optimizely X Full Stack SDKs assign 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
get_variation() functions, and event tracking can be performed with the
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 to
(), 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:
|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: Whitelisting users in a Full Stack 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 Full Stack projects|
|Exclusion groups||Keep experiments mutually exclusive||Create mutually exclusive experiments in Full Stack projects|
|Traffic allocation||Determines the percentage of the site's total traffic that get to see your experiment||Create experiments in a Full Stack project|
|Traffic distribution||Determines the fraction of the experiment's allocated traffic that is assigned to each variation||Create experiments in a Full Stack project|
If you pause a variation mid-experiment, no variations stored in the user profile will be honored. Learn more about pausing variations.
You can also learn how bucketing works in Full Stack SDKs.