No results for ""
EXPAND ALL
  • Home
  • API docs

Experimentation and metric events

Read time: 3 minutes
Last edited: Sep 30, 2024

Overview

This topic explains Experimentation and metric events and how they work.

About Experimentation and metric events

An "event" happens when someone takes an action in your app, such as clicking on a button, or when a system takes an action, such as loading a page. Your SDKs send these events to LaunchDarkly, which aggregates and analyzes them.

There are two kinds of events associated with experiments and metrics:

  • Evaluation events: your SDKs send feature evaluation events to LaunchDarkly when an end user or other context interacts with a flag included in a running experiment.
  • Metric events: your SDKs send click, page view, and custom metric events to LaunchDarkly when an end user or other context interacts with a part of your app you're tracking with a metric. To learn more, read Metric events.

Here are examples of each event kind:

{
"kind": "click",
"key": "<internal id, not used>",
"url": "https://example.com/",
"creationDate": 16420388151234,
"selector": "button.click-track"
"contextKeys": {
"user": "Sandy",
"anonymousUser": "123213421231"
}
}

The SDK "track" method

Server-side, client-side, and mobile LaunchDarkly SDKs send custom metric events when you call the SDK's track method.

Try it in your SDK: Sending custom events

In addition, the JavaScript SDK also sends a click metric event when an end user clicks or taps on a page URL or anchor tag that you have included in a clicked or tapped metric, and sends a page view metric event when an end user visits a URL that you have included in a page viewed metric.

You can view metric events on the Live events page using the Experiments filter.

If you prefer to import metric events from your existing data pipeline, read Importing metric events.

Evaluation events

Server-side, client-side, and mobile LaunchDarkly SDKs send a feature event when you call the SDK's variation method to evaluate a flag in an experiment. To learn more about the variation method, read Evaluating flags.

The JavaScript SDK and most JavaScript-based SDKs also send a feature event when you call the SDK's allFlags method, unless you configure it not to. The exception to this is the React Web SDK, which does not send an event by default when you call the allFlags method. To learn more about events in the React Web SDK, read Events.

Configuring the JavaScript SDK and JavaScript-based SDKs not to send feature events when you call allFlags limits the number of events these SDKs send to LaunchDarkly. To learn more about how SDKs send events, read Analytics events.

Try it in your SDK: Getting all flags

Correlate variations and conversions

A conversion is when a user action provides a measurable value for a metric. For example, if a metric is tracking clicks on a checkout button, LaunchDarkly registers a conversion each time an end user clicks the button. The SDK sends a track call to register the conversion in LaunchDarkly.

LaunchDarkly uses variation calls to correlate the variation an end user received to a conversion within a 90-day window. If there are more than 90 days between the time of a variation call and a track call on a user key, then LaunchDarkly does not register the metric in the experiment.

In rare cases, unexpected behavior may cause an end user to receive multiple variations in the 90 days prior to a conversion. In these cases, LaunchDarkly attributes the conversion to the first variation the end user received in that 90-day period.