Optimizely will be sunsetting Full Stack Experimentation on July 29, 2024. See the recommended Feature Experimentation migration timeline and documentation.

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

Get Forced Variation

This topic describes the Get Forced Variation method, which returns the forced variation set by Set Forced Variation, or null if no variation was forced.

Returns the forced variation set by Set Forced Variation, or null if no variation was forced.

A user can be forced into a variation for a given experiment for the lifetime of the Optimizely client. This method gets the variation that the user has been forced into. The forced variation value is runtime only and does not persist across application launches.


SDK v3.0 and higher


Forced bucketing variations take precedence over whitelisted variations, variations saved in a User Profile Service (if one exists), and the normal bucketed variation. Variations are overwritten when Set Forced Variation is invoked.



A forced variation only persists for the lifetime of an Optimizely client.


This table lists the required and optional parameters for the Java SDK.

stringThe key of the experiment to retrieve the forced variation.
stringThe ID of the user in the forced variation.


The variation the user was bucketed into, or null if setForcedVariation failed to force the user into the variation.


import com.optimizely.ab.config.Variation;

Variation variation = optimizelyClient.getForcedVariation(“my_experiment_key”, “user_123”);

Source files

The language/platform source files containing the implementation for Java is Optimizely.java.