Dev guideAPI Reference
Dev guideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In

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.

By default, your experiments in an Optimizely Feature Experimentation project may overlap with one another so that a single user could be exposed to multiple experiments at the same time. Mutually exclusive experiments help you ensure that a single user cannot be exposed to two different experiments running at the same time by ensuring that users are only exposed to one particular experiment.

📘

Note

Mutual exclusion groups are only available for Scale plans. To check if mutual exclusion groups are available for your plan, compare features.

For example, imagine that you are running two experiments that test the same algorithm. Users who see both experiments could cause interaction effects that taint your experiment results by behaving differently from users who see each experiment in isolation. To clearly understand the impact of each set of changes, make the two experiments mutually exclusive. See Mutually Exclusive experiments for more information.

Exclusion groups

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.

Create an exclusion group

To create an exclusion group:

  1. Navigate to the Flags dashboard and select the Exclusion Groups tab.
  2. Click Create an Exclusion Group.
  3. Name and describe the exclusion group.
  4. Click Create Exclusion Group.

📘

Note

Optimizely Feature Experimentation recommends you start all the experiments in an exclusion group at the same time. We do not recommend adding or removing 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

Add an experiment to an exclusion group

To add an experiment to an exclusion group before running your experiments:

  1. Click the flag that contains your experiment.
  2. Select your environment and experiment.
  3. In the Configure Rule section, select the exclusion group from the drop-down menu under Add this experiment to the following exclusion group.
  4. Add the percentage of the exclusion group traffic that should be allocated to the experiment.
  5. Click Save Experiment.
Click to enlarge image

Click to enlarge image

Remove an experiment from an exclusion group

Remove finished experiments from the exclusion group to make space for other experiments.

  1. Click the flag that contains your experiment.
  2. Select your environment and experiment.
  3. In the Configure Rule section, select None from the drop-down menu under Add this experiment to the following exclusion group.
  4. Click Save Experiment.
Click image to enlarge

Click image to enlarge

Archive and unarchive an exclusion group

To archive an exclusion group:

  1. Navigate to the Flags dashboard and select the Exclusion Groups tab.
  2. Click the Actions icon (...) to the right of the exclusion group you want to archive.
  3. Select Archive.
Click image to enlarge

Click the image to enlarge

To find archived exclusion groups and unarchive them:

  1. Navigate to the Flags dashboard and select the Exclusion Groups tab.
  2. Filter the Status list to show Archived exclusion groups.
  3. Click the Actions icon (...) to the right of the exclusion group you want to unarchive.
  4. Select Unarchive.
Click to enlarge image

Click to enlarge the image

Bucketing

The following table shows how exclusion groups can interact with other bucketing methods. For more detail, see How bucketing works.

BucketingComment
Exclusion groups evaluate before this user bucketing method:

  • Traffic allocation

Exclusion groups evaluate after these user bucketing methods:

  • Set Forced Variation (setForcedVariation method)

  • User allowlisting

  • User profile service

  • Audience targeting

🚧

Important

If 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.