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

Run flag deliveries (targeted delivery)

How to run a flag delivery, also known as a targeted delivery in Optimizely Feature Experimentation.

A targeted delivery is a type of rule for a flag that enables you to:

  • Control who sees your flag.
  • Gradually increase or roll out the flag to more users.
  • Roll back the flag if you encounter bugs or other problems.

For more information, see Flag deliveries.

Configure a targeted delivery



For a targeted delivery, ensure you are using the following compatible SDK versions:

  • Swift – v3.3.2 and higher.
  • Agent – v1.1.0 and higher.
  • Go – v1.2.0 and higher.
  • Flutter – v1.0.0-beta or higher.
  • All other SDKs – v2.0.0 and higher.

To configure a targeted delivery:

  1. (Prerequisite) Create and implement a flag for the functionality you intend to deliver. Also, decide how you will Handle user IDs.

  2. Under Flags, select a flag, then select an environment.

  3. Click Add Rule and select Targeted Delivery.

add targeted delivery rule
  1. Configure your delivery in the following steps:
configure targeted delivery
  • Enter a name.
    • A Key will automatically be generated based on what your enter for the Name.
  • (Optional) search and add audiences for your delivery. For more information, see Target audiences. Audiences evaluate in the order in which you drag and drop them. You can choose whether to match each user on any or all of the audience conditions.
  • Select the percent of audience traffic you want exposed to the flag variation.
  • In the Deliver drop-down, select a flag variation to deliver to the audience(s).
  1. Click Save.

  2. Launch the delivery by toggling the flag On.



You can toggle the flag on and off at any point without changing which users were bucketed into the delivery as long as you do not modify the traffic at the same time.

  1. (Optional) You can create multiple deliveries for the same flag if you want to deliver different variations and traffic allocations to different audiences.
adding multiple targeted deliveries to a rule
  1. (Optional) For each environment, you can configure different rules. Repeat the previous steps for other environments you want to configure.

Implement the delivery

After you implement your feature flag, no further implementation is required for the delivery. Optimizely Feature Experimentation uses the decide call you created when you implemented the feature flag to decide if a user qualifies for the delivery rule or not and which variation they receive.



A user evaluates against all the rules in a ruleset in order before being bucketed into a given rule's variation. See interactions between flag rules.

Deliveries are used for launching features, so no decisions events show up on the results page. To measure the impact of a flag and track metrics on your results page, create an experiment instead of a targeted delivery.



Before running an experiment and delivery rule for the same flag at the same time, you must understand how flag rules interact.