Use mutual exclusion
Describes using mutually exclusive groups to ensure that users do not see overlapping experiments that apply to different flags in Optimizely Feature Experimentation.
In Optimizely Feature Experimentation, experiments may overlap, exposing a single user to multiple experiments simultaneously. Mutually exclusive experiments prevent this by ensuring a user is exposed to only one particular experiment at a time. For experiments that are not mutually exclusive, Feature Experimentation uses a unique, random value for each experiment to determine user entry. This value is not mutually exclusive across experiments, which means users may enter multiple experiments. For more information, see How bucketing works.
Exclusion groups implementation
In Optimizely Feature Experimentation projects, you can make two or more experiments mutually exclusive of each other using exclusion groups. Using exclusion groups does not require any change in the SDKs. The Decide and Track Events methods automatically evaluate whether an experiment is in a group and assign users to the appropriate experiment and variation.
If you want to implement exclusion groups using the Feature Experimentation UI instead, see .
Create an exclusion group
NoteYou should start all the experiments in an exclusion group at the same time. You should not add or remove running experiments in an exclusion group because it may have unintended effects on your results. For more best practices, view the documentation on Best Practices - Mutually Exclusive Experiments.
Use the Create an Exclusion Group endpoint.
Add an experiment to an exclusion group
- Get your experiment rule's ID – Use the Fetch the Rule for a Ruleset in an Environment endpoint to retrieve your experiment rule's ID. Find the exclusion group you want to update.
- Update the exclusion group – Add the stringified rule ID to the exclusion group's
rulesobject, then use the Update Exclusion Groups endpoint to patch the updated exclusion group.
Remove an experiment from an exclusion group
- Get your exclusion groups – Use the List Exclusion Groups endpoint view all exclusion groups in your project.
- Update your exclusion groups – Remove the experiment rule's ID from the
rulesobject, then use the Update Exclusion Groups endpoint to patch the updated exclusion group.
Archive and unarchive an exclusion group
Archive
Use the Archive an Exclusion Group endpoint.
Unarchive
Use the Unarchive Exclusion Groups endpoint.
Bucketing
The following table shows how exclusion groups can interact with other bucketing methods. For more detail, see How bucketing works.
Bucketing | Comment |
|---|---|
Exclusion groups evaluate before this user bucketing method: |
|
Exclusion groups evaluate after these user bucketing methods: |
|
ImportantIf there is ever a conflict over how a user should be bucketed, then the first user-bucketing method to be evaluated overrides any conflicting method. For more information, view the End-to-end Bucketing Workflow on How bucketing works.
Updated 1 day ago