Impressions and Decisions

Optimizely records an impression when a user is exposed to a flag variation as part of an Optimizely experiment. Specifically, Optimizely logs an impression through the following sequence:

  1. The SDK makes a decision for a user in an experiment via a Decide method.
  2. As a result, the SDK sends an SDK decision event asynchronously to the Optimizely Event API. If the decision event indicates that the user is bucketed into an experiment, then Optimizely logs an impression, even if the user buckets into a disabled variation and therefore does not see the feature flag.

Impressions are used to generate the visitor counts shown on the Reports page. They also serve as the denominator for measuring conversion rates.

A decision event is one of the few SDK actions that triggers a network request. To avoid the request, you can disable dispatching decision events for the Decide method. For more information, see the Decide method for your SDK language. For more information on managing network requests, see the event dispatcher for your SDK language.

How the SDK triggers impressions

Impressions are sent

  • When the user is bucketed into an A/B test, regardless of whether the flag is enabled or disabled in the variation.

Optimizely logs the impression when it receives the decision event indicating the user was bucketed into the experiment.

Examples:

  • A new visitor lands on a page and is exposed to an experiment.
  • A visitor refreshes a page and is exposed to the experiment again.
  • A return visitor is exposed to the experiment again.

Impressions are not sent

  • If the user is only bucketed into a delivery rule, not into an experiment rule.
  • If no flag rule is running.

Impressions deduplication

Depending on your application logic, your users may trigger rapid bursts of impressions. To avoid overcounting these bursts on your Reports page, Optimizely uses fixed-interval impressions deduplication. All impressions received within fixed 5-second intervals count as one impression for each user in an experiment. Optimizely buckets events into the fixed time windows based on when Optimizely received the event.

960960

Impressions deduplication

Impressions and billing

Starting September 2020, you have the option to choose a plan that is billed based on the number of unique monthly active users (MAU), rather than impression-based billing. MAU-based billing better enables you to run large-scale experiments at 100% traffic in order to reach statistical significance more quickly. For more information, see What are monthly active users.


Did this page help you?