Conversion Rate

Measure the percentage of users who perform an Event following the evaluation of a feature flag.

The denominator is Flag Impressions, while the numerator is the number of unique users who triggered the specified event.

(# of events / # of impressions) = % conversion rate

Example

Suppose there is a feature flag, register-button-copy that serves three (3) variants for the Register button:

  1. Register (baseline)

  2. Sign Up

  3. Join Now

In your application, you get the flag value, and also submit an event (register-event) when the user registers a new account.

Since we have both Events and Flag Impressions, FlagSync can now begin aggregating conversion rates. See Correlating Flag Variants with Events.

In our example, let's say the variants are distributed equally to 100 users each, resulting in the following:

Out of these, the following number of register-events were triggered.

In a real-world experiment, the conversion rate results may look like the following:

Correlating Impressions with Events

  • When the flag function is called from the SDK, an impression is sent to FlagSync.

  • Additionally, when the track function is called, an event is submitted.

If we've configured a conversion rate metric that ties together a given feature flag and event key, FlagSync is able to correlate conversion rates.

FlagSync registers a conversion event when it detects that a flag impression occurred prior to the submission of a related event, within the lifespan of a running experiment.

In simpler terms, if a user encounters a particular feature flag configuration and subsequently performs the associated action or event, FlagSync records it as a successful conversion.

Example

Let's look back at the flag above, register-button-copy. Say we want to test which variant converts better.

  1. First, we'll obtain the flag value for the requesting user context.

  2. We may pass the flag value to the UI to render the <Button /> text.

  3. Once a user registers, we'll call track with our event.

// First obtain the flag value, which registers an impression
const value = client.flag<string>('register-button-copy');

// When the user registers, track the event
client.track('register-event');

FlagSync is now aware that User ABC was served a particular flag variant, and subsequently provoked a register-event. A successful conversion is recorded.

By creating a conversion rate metric that aggregates register-event events and tying it to the register-button-copy flag within an Experiment, we can determine which variant yields the highest conversion rate.

Last updated