New Experiment Run
Create a new run of an existing experiment after you fix instrumentation issues that affected data quality. A new run excludes previous user data from your experiment's monitoring and analysis.
Create a new run
To create a new run of an existing experiment:
- Open a running or completed experiment.
- Open the menu next to Turn off flag (for completed experiments) or Complete experiment (for running experiments) and select New run.
- Select a new analysis range. Optionally, configure how Amplitude handles users in the new run and what happens to existing feature flags.
Configuration changes on a new run
Amplitude applies the following changes to your experiment configuration when you create a new run:
| Property | How it changes on a new run |
|---|---|
| Experiment key | Amplitude assigns a new value. |
| Start date | Amplitude sets the start date to the restart date. |
| End date | (Optional) Amplitude sets the end date to your selected value. |
| Bucketing salt | (Optional) If you select this option, Amplitude randomizes the salt to a new value. |
| Sticky bucketing | If you select the option to re-randomize users and sticky bucketing is on, Amplitude turns sticky bucketing off. |
| Decision | If you rolled out or rolled back your experiment, Amplitude erases the decision. |
Experiment key
By default, Amplitude delimits your experiment runs by time. You can also differentiate runs with the experiment key property on the default exposure event. The experiment key prevents your new run from including stale evaluated users. After you create the new experiment run, enable the setting under the exposure event control to use the experiment key.
To use the experiment key:
- Your experiment must use Amplitude's default exposure tracking.
- Your client SDK version must support experiment restarts.
| SDK | Minimum version |
|---|---|
| JavaScript | v1.10.2 |
| Android | v1.10.0 |
| iOS | v1.11.0 |
| React Native | v1.2.0 |
If you use the Evaluation API, the response body contains the experiment key of the actively running experiment.
{
"<flag_key>": {
"key": "<variant_value>",
"payload": <variant_payload>,
"experiment_key": "exp-1",
},
// ...
}
The experiment key is also available when you fetch variants with Experiment SDKs. For example, the JavaScript SDK Variant object contains the existing value and payload properties along with a new expKey property.
Was this helpful?