The Full Stack Developer Guide Developer Hub

Welcome to the Full Stack Developer Guide developer hub. You'll find comprehensive guides and documentation to help you start working with the Full Stack Developer Guide as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Is Feature Enabled

Determines whether a feature is enabled for a given user. The purpose of this method is to allow you to separate the process of developing and deploying features from the decision to turn on a feature. Build your feature and deploy it to your application behind this flag, then turn the feature on or off for specific users.

Version

SDK v3.0

Description

This method traverses the client's datafile and checks the feature flag for the feature key that you specify.

  1. Analyzes the user's attributes.
  2. Hashes the userID.

The method then evaluates the feature rollout for a user. The method checks whether the rollout is enabled, whether the user qualifies for the audience targeting, and then randomly assigns either on or off based on the appropriate traffic allocation. If the feature rollout is on for a qualified user, the method returns true.

Parameters

The table below lists the required and optional parameters in JavaScript.

Parameter
Type
Description

featureKey
required

string

The key of the feature to check.
The feature key is defined from the Features dashboard.

userId
required

string

The ID of the user to check.

attributes
optional

map

A map of custom key-value string pairs specifying attributes for the user that are used for audience targeting. Non-string values are only supported in the 3.0 SDK and above.

Returns

True if the feature is enabled for the user. Otherwise, false.

Examples

This section shows a simple example of how you can use the IsFeatureEnabled method.

The example shows 3.0-or-newer functionality of passing in non-string attributes.

// Evaluate a feature flag and a variable
var enabled = optimizelyClientInstance.isFeatureEnabled('price_filter', userId, attributes);
var min_price = optimizelyClientInstance.getFeatureVariableInteger('price_filter', 'min_price', userId, attributes);

Source files

The language/platform source files containing the implementation for JavaScript is index.js.

Updated about a month ago


Is Feature Enabled


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.