Skip to main content

What are rollout rules?

The Rollout Planner gives you granular control over your releases and tests. You can activate or deactivate any feature flag at any time for specific users. Rollout rules are like conditional statements for your releases and experiments. You can set up a sequence of actions that triggers under certain conditions. You can schedule these rules, apply them immediately, target them to specific groups, reorder them, and customize them to align with your goals.

Add a new rule

Click Add a rule to open the rule configuration menu. Here, you can choose between delivery or testing rules, and name your rule.
Rule configuration menu for adding a delivery or testing rule
You can combine rules of any type to implement your feature’s rollout strategy. Kameleoon lets you add rules for Targeted Delivery, Progressive Delivery and Feature Experiments.

How does the rule queue work?

Rule queue showing rollout rules evaluated in order
Once you’ve added your rollout rules, it’s important to understand how Kameleoon evaluates the queue:
  • Kameleoon checks if your flag is on or off. If it’s off, visitors see the default variation (which you can choose in the “Then, for everyone else in production, serve” dropdown list).
  • If you turn the flag on, Kameleoon evaluates experiments and rules in the queue in a top-to-bottom order. Keep the evaluation order in mind when planning your rollout strategy to prevent unforeseen targeting overlaps.
  • Kameleoon adds new rules to the bottom of the queue by default. However, you can manually reorder rules by clicking and dragging its card to a new position. Reordering rules in the queue also changes the order in which Kameleoon reads and evaluates the rule. Be mindful when delivering rules that share the same audience.
Paused rule in the rule queue
  • Paused rules are simply ignored at runtime.

User targeting and bucketing

Exposing a user to a variation follows a two-step process: targeting and bucketing. Targeting means the user meets the conditions specified in a rule. Bucketing means Kameleoon has assigned the user to the variation associated with that rule. Kameleoon handles targeting and bucketing differently for delivery and experiment rules. Consider these two scenarios:

Scenario 1: Delivery rule at the top

Delivery rule placed at the top of the rule queue
If Kameleoon first targets a visitor for a Targeted/Progressive Delivery rule:
  • They receive the selected variation if Kameleoon buckets them.
  • If targeted, but not bucketed, the visitor receives the “Everyone else” variation, and Kameleoon doesn’t evaluate the visitor against any other rule.
The variant marked with an asterisk (*) is the one selected in the “Then, for everyone else in production, serve” dropdown list.

Scenario 2: Experiment rule at the top

Experiment rule placed at the top of the rule queue
  • If Kameleoon targets a visitor with an Experiment rule:
    • They receive the selected variation if Kameleoon buckets them.
    • If Kameleoon targets them, but doesn’t bucket them, it checks the next rule until the end of the queue. All users whom experiment rules don’t bucket move down the queue, so it’s always a good practice to keep experiments at the top of your queue.
Changing the traffic split for an experiment doesn’t change the total size of your experiment bucket. For example, say you launch an experiment that targets 20% of a user segment with a variation split of 50/50 for its two variations. If you update the split to 60/40 or 90/10, but don’t change the percentage of traffic included in the experiment sample (20%), the total bucketed users don’t increase or decrease. Instead, some bucketed users get exposed to a different variation.
When there are no more rules in the queue, all remaining users receive the “Everyone else” variation.

Rule states

All rules in the queue display one of these states:
  • Active (is live)
  • Paused
  • Planned (scheduled to start and/or stop at a given date/time). Planned rule changes to active at the defined schedule or outdated at the end of it.
  • Unsaved changes (this also includes new rules that are in the draft state)
  • Outdated (a planned rule that automatically turned off at scheduled end date). The default view hides outdated rules, but you can use filters to view them.

Pause or resume a rule

To pause a rule, click the three-dots menu on an experiment’s card and click Pause. Kameleoon ignores paused rules at runtime. You can resume the rule later in the same menu.

Copy rules from another environment

You can also add rules you created in another environment. Copying rules lets you replicate your rollout/experiment setup from your staging environment to your production environment, for example. The rule configuration menu offers these rule types: Select Copy when adding rules in your destination environment and select the source environment in the next step. You’ll have the option to append the copied rules at the bottom of your rules queue, or replace all existing rules with the copied rules.

Rollout summary

This section provides an overview of variations and segments. Changing the cards’ order, deleting a rule, or changing a rule’s status affects the ordering and values inside summary cards. While the summary section accounts for untargeted (remaining) users that Kameleoon can pass down to the next rule, it doesn’t account for or identify any partial or complete overlaps between different user segments across different rules.

Variations summary

This section provides an overview of which variations your delivery and experiment rules have used. Variations that target multiple segments have multiple bars displaying the percentage of the audience you have targeted.

Segments summary

This section summarizes the different user segments that your rollout rules target. Variations assigned to a segment combine to reach a maximum of 100%. If you exceed this limit, Kameleoon ignores any remaining variations.

Using outdated SDKs

If your SDK’s version doesn’t support Feature Variations, keep a few things in mind when adding new rules for a feature flag:
  • Kameleoon checks only the rules defined in the Production environment and ignores rules you created in the staging or development environments.
  • Kameleoon evaluates only the first rule in the queue and ignores any rules below it. If there are no rules at all, Kameleoon serves the default variation defined in your rollout.
  • Kameleoon only supports the default variations On and Off.
  • Kameleoon doesn’t support start/stop scheduling of rules.
Visit Kameleoon’s Github and subscribe to notifications to stay up to date with all SDK releases.