This article helps you:
Learn when and when not to use sticky bucketing in your experiments
Confirm if sticky bucketing was used for a specified user
Sticky bucketing checks whether a user has already experienced a variant of your experiment. If so, Experiment assigns the current value of the user property (the last variant they saw) to the user. This helps keep variants bucketed into their original variants unless you change the parameters of the experiment.
Sticky bucketing is often used as a defense mechanism against variant jumping which is when a user experiences two (2) or more variants for a single flag or experiment. However, simply enabling sticky bucketing doesn't guarantee that users will never experience variant jumping. Variant jumping may occur if your experiment includes both a logged-out and a logged-in experience because a user can have different logged in and logged out Amplitude IDs.
To turn sticky bucketing on or off, open your experiment and navigate to your experiment and then click the pencil icon and then go to Experiment Design > Advanced (Optional) > Bucketing Options.
When sticky bucketing is enabled, Experiment checks whether a user already has a value for the user property associated with the experiment. If so, the user Experiment assigns the current value of the user property (the last variant they saw). Otherwise, the user is re-evaluated.
Users aren't sticky bucketed to the Off variant. Learn more about evaluation and exposure with these Amplitude resources: evaluation flow chart, and local evaluation targeting capabilities.
This section provides examples of when to enable sticky bucketing versus when not to. This isn't intended to be an exhaustive list. There are also cases where the results would be the same, regardless of whether sticky bucketing was on or off. An example might be an experiment where you’re targeting everyone who views your home page, and you don't touch any of the experiment controls while the experiment is running.
Follow these steps to understand if a user was subject to sticky bucketing:
.details that corresponds to the experiment flag key of interest. This shows the version of the evaluated flag, and which targeting rule applies to the user. This can also be helpful for debugging assignment issues.
For example, the properties above show that the user is assigned to off for the lp-app-downloads flag because the device family wasn't iOS. From the above example, it's also understood that this is the 21st version of the flag. The name of the rule applied to them is non-iOS users and the user failed the first rule-based targeting filter, so they went to the second one instead.

In this example, sticky bucketing is enabled and the user was bucketed to the 14th version of the signup-ux-updates flag, where the experiment served them the phone-number-removed variant. Having the flag version helps with debugging when the flag changes. Remember that Experiment shows the assignment event for all active flags in that project, but shows the exposure event on a per-flag basis. If you don’t find an event property corresponding to the flag you’re interested in, check the [Experiment] Environment Name field and make sure it matches the deployment your flag belongs to.
May 21st, 2024
Need help? Contact Support
Visit Amplitude.com
Have a look at the Amplitude Blog
Learn more at Amplitude Academy
© 2025 Amplitude, Inc. All rights reserved. Amplitude is a registered trademark of Amplitude, Inc.