*** title: Activation strategies 'og:site\_name': Unleash Documentation 'og:title': Activation strategies - Control feature flag targeting and rollouts description: >- Activation strategies determine who should get a feature. They allow you to enable and disable features for certain users without having to redeploy your application. keywords: 'activation strategies, gradual rollout, constraints, targeting, feature flags' max-toc-depth: 3 ---------------- ## Overview An activation strategy determines who should get a feature. They allow you to enable and disable features for certain users without having to redeploy your application. For example, you can release features only to users with a specific user ID, email, IP address, and more. You can implement gradual rollouts to specific user segments, for example, those on a specific subscription plan or region. You can also use them to schedule feature releases or make features available for a limited time. An activation strategy is assigned to one [feature flag](/concepts/feature-flags) in one [environment](/concepts/environments). A feature flag is enabled in a given context (for example, user or application) if at least one of its activation strategies resolves to true. When adding a strategy to a flag, you can choose from several [strategy types](#strategy-types), such as a [gradual rollout](#gradual-rollout). Depending on the strategy type, you can further refine the configuration using [rollout percentage](#rollout-percentage), [targeting](#targeting), and [variants](/concepts/strategy-variants). Feature flags can have multiple activation strategies. Unleash evaluates each strategy independently, enabling the flag if any resolves to true. This behavior is equivalent to the OR logical operator. For example, to roll out a feature to 75% of users while granting access to internal users, you can add two activation strategies as follows: 1. Gradual rollout to 100% with a constraint on the email address. 2. Gradual rollout to 75% (of all users). ![A feature flag with two strategies](https://files.buildwithfern.com/unleash.docs.buildwithfern.com/7135570f59c5d220d66970944f4058d5e7b0354d27a26d6e394e20422cc95c8c/assets/activation-strategies-example.png) ## Rollout percentage The rollout percentage determines the proportion of users exposed to a feature. It uses a normalized [MurmurHash](https://en.wikipedia.org/wiki/MurmurHash) of a user's unique ID, ensuring consistent and random feature distribution. [Stickiness](/concepts/stickiness) maintains a stable user experience across sessions. ## Targeting Segmentation and constraints allow you to define conditions for your activation strategies so that they will only be evaluated for users and applications that match those criteria. Constraints are individual conditional statements, while [segments](/concepts/segments) are a reusable set of constraints that you can apply to multiple strategies. ### Constraints Constraints are conditional rules that determine whether a strategy applies, based on fields from the [Unleash context](/concepts/unleash-context). Constraints can reference both [standard context fields](/concepts/unleash-context#overview) and [custom context fields](/concepts/unleash-context#custom-context-fields). An activation strategy can have as many constraints as needed. When an activation strategy has multiple constraints, then every constraint must be evaluated to true for the strategy to be evaluated. This behavior is equivalent to the AND logical operator. You can use [Playground](/concepts/playground) to experiment with different strategy and constraint configurations and how they would evaluate in a given context. For example, if you have two constraints: one where the user email must have the domain "@mycompany.com" and one where the user must have signed up for a beta program, then the strategy would only be evaluated for users with "@mycompany.com" emails that have signed up for the beta program.