Dev guideAPI Reference
Dev guideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

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.

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 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. On the Flags dashboard, select the Exclusion Groups tab.

  2. Click Create New Exclusion Group.

create new exclusion group
  1. Name your exclusion group.

  2. (Optional) Add a Description.

  3. Select an Environment.

  4. (Optional) Select an experiment to add your exclusion group.

  5. Click Create Exclusion Group.

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 rule.
  2. Select your environment and experiment rule.
  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.
add experiment to exclusion group

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.

Archive and unarchive an exclusion group

Archive

To archive an exclusion group:

  1. On the Flags dashboard, select the Exclusion Groups tab.
  2. Click the Actions icon (...) of the exclusion group you want to archive.
  3. Select Archive.
archive exclusion group

Click the image to enlarge

Unarchive

To find archived exclusion groups and unarchive them:

  1. On the Flags dashboard, select the Exclusion Groups tab.
  2. Filter the Status drop-down list to show Archived exclusion groups.
  3. Click the Actions icon (...) of the exclusion group you want to unarchive.
  4. Select Unarchive.
unarchive exclusion group

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.