Percentage-based feature flag targeting divides eligible evaluation contexts among a flag’s possible variations. A stable key—such as a user, account, or device identifier—lets many systems assign the same context consistently, while the configured percentage controls the share intended for each variation. It does not guarantee an exact headcount, and the precise assignment method differs by provider.
What percentage targeting does
A flag evaluation first determines whether a context qualifies for a rule. If it does, a percentage rollout allocates that context to one of the rule’s possible variations, such as an existing experience (control) or a new one (treatment). The weights describe the intended allocation among eligible contexts, not necessarily a percentage of every person using the application.
For example, a 50/50 configuration aims to split eligible contexts evenly between two variations. Other rules, such as explicit user targets or conditional targeting, may determine which variation applies before a percentage rollout is considered. LaunchDarkly documents manual percentage rollouts as variation weights that add up to 100%: LaunchDarkly’s JSON targeting documentation.
How a system assigns a context
- Build the evaluation context. The application supplies a subject and relevant attributes when it evaluates the flag. A targeting key identifies the subject; it might represent a user, service, or another entity. OpenFeature explains the role of evaluation context and targeting keys, including why many implementations need a unique key for deterministic fractional evaluation: OpenFeature’s evaluation context reference.
- Check eligibility. The flag evaluates its targeting rules. A context that matches a higher-priority target or condition may receive that rule’s result instead of entering the percentage split. Otherwise, the applicable fallthrough or rollout rule is used. See LaunchDarkly’s targeting guide and its Feature Flags API documentation.
- Choose a rollout unit and bucket. The provider uses a stable identifier and provider-specific inputs to place the context into a bucket or range. Unleash documents using a context field together with a strategy
groupId, then hashing to a value from 0 to 100. Its default group ID is the flag name; sharing group IDs can correlate assignments across flags, and changing a group ID can reshuffle them. Details are in Unleash’s stickiness documentation. - Map the bucket to a variation. The provider compares the bucket with configured variation ranges or weights. In LaunchDarkly’s documented API representation, weights are scaled from 0 to 100,000: a weight of 60,000 represents 60%. This is an encoding convention, not a promise that exactly 60% of a small observed group will receive that variation. See the LaunchDarkly Feature Flags API.
- Repeat the evaluation. When the relevant inputs remain the same, deterministic assignment lets many systems return the same variation again without storing a separate assignment record for each context. LaunchDarkly describes deterministic assignment in its experiment traffic documentation; that discussion concerns experiments, so it should not be taken to establish that every rollout system uses the same algorithm: LaunchDarkly experiment traffic assignment.
Choose the entity that should stay together
The rollout unit is the entity whose experiences should be consistent. If the feature affects shared account data or billing, assigning by account may be safer than assigning separately by user. If it is a personal interface preference, user-level assignment may fit better. Device-level assignment can be useful for anonymous use, but a person may encounter a different variation on another device.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
#1 Best Overall
LaunchDarkly describes context kinds including user, device, and account, while Unleash exposes stickiness choices for gradual rollouts. These are implementation options, not interchangeable definitions of a user. Decide which entity matches the feature’s consistency and risk boundary before choosing the key. References: LaunchDarkly progressive rollouts and Unleash gradual rollout.
Why the observed count may differ from the configured percentage
A percentage allocation is not an exact-count reservation. When a provider distributes contexts across buckets, a small eligible population can land unevenly. LaunchDarkly gives vendor-documented examples: 10% of 10,000 contexts is about 1,000, while a 10% rollout among 20 contexts may assign zero, one, or two. These are illustrative examples from its documentation, not independent measurements: LaunchDarkly progressive rollouts.
Rank #2
- 4LessCo UNDER NEW MANAGEMENT Windless Swooper Flag Feather Banner Sign 2.5x11.5 ft Tall Large (Hardware NOT Included) yb
- 2.5 ft by 11.5 Ft Tall Flag.
- Printed on one side, backside same image but in reverse.
- This flag only works with windless swooper pole.
- Pole and spike are NOT included.
The denominator also matters. If targeting rules admit only some contexts, the configured share applies to that eligible set rather than the whole product audience. A rollout of 10% among eligible accounts, for instance, is not automatically 10% of all users if eligibility is defined at account level or excludes some users.
Configuration decisions that can change exposure
Keep the key stable across the journey
Use an identifier that remains available for the contexts you want to keep together. If someone starts anonymously and later logs in, changing from a device key to a user key can change their assignment unless the application deliberately associates those identities. LaunchDarkly documents device contexts and multi-contexts as approaches for linking anonymous and logged-in identity: LaunchDarkly percentage rollouts by context attribute. Also avoid sending unnecessary personal data: OpenFeature cautions that providers may handle or persist evaluation context data, as discussed in its evaluation context reference.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- UNDER NEW MANAGEMENT Windless Feather Swooper Flag Kit - No Wind Is Needed
- 2.5x11.5 Ft Tall Flag
- 15ft Tall Heavy Duty Deluxe Aluminum/Faberglass Pole
- Steel Ground Spike
Separate eligibility from allocation
First define who qualifies through targets, conditions, or segments; then decide how to divide those contexts among variations. Context kind mismatches can matter: LaunchDarkly warns that when targeting one context kind but rolling out by another, contexts without the expected multi-context may receive the first variation with a positive weight. Check the configuration’s context requirements in LaunchDarkly’s attribute rollout documentation.
Know what percentage edits do in your provider
Changing a threshold may add or remove contexts, but the precise behavior is provider-specific. Unleash says increasing a gradual rollout keeps contexts already inside it and adds more; lowering the percentage removes contexts above the new threshold. LaunchDarkly says percentage rollouts retain the same contexts when stopped and restarted if configuration and context kind are unchanged, while a newly created progressive rollout may allocate a different set. Consult the relevant provider guidance: Unleash stickiness and LaunchDarkly progressive rollouts.
Rank #4
Plan for provider migrations
The percentage alone does not define cohort membership. Hash inputs, identifiers, group IDs, seeds, and algorithms can differ. Unleash’s migration guidance says its hashing differs from LaunchDarkly’s, so the same 50% setting need not contain the same contexts after a migration. If uninterrupted cohort membership matters, treat migration as a reassignment risk and validate an explicit continuity plan: Unleash migration guidance.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.What to check before enabling a rollout
- Unit: Is the assignment by user, account, device, or another context, and does that match the feature’s consistency boundary?
- Key: Is the key stable and unique enough for the intended assignment, including before and after login?
- Eligibility: Which rules qualify contexts for the percentage split, and what happens when a context lacks a required kind or attribute?
- Weights: Do the variation weights represent the intended shares and satisfy the provider’s configuration requirements?
- Change behavior: Will increasing, reducing, stopping, restarting, or recreating the rollout preserve or reshuffle assignments?
- Migration: Does the replacement provider use compatible bucketing inputs and algorithms, or should the cohort be expected to change?
Feature flag systems commonly use stable keys and hashing or bucketing to make percentage assignments repeatable, but there is no universal algorithm or cross-provider guarantee. For a specific flag, the provider’s documentation and the configured rollout unit determine the exact behavior.
Recommended Free Tools
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




