Test Lifecycle
Draft, running, paused, completed, archived — what each state means, which transitions are allowed, and when you can edit, delete, duplicate, or restore.
Test Lifecycle
Every test in Otter A/B moves through five states — draft, running, paused, completed, archived — and a handful of well-defined actions move it between them. This page is the complete reference.
The lifecycle exists to protect the integrity of your results. Drafts are fully editable because they have no visitor data; everything else is progressively locked because real conversions are riding on the configuration. Most of the rules below come down to one principle: once visitors are involved, you can't silently change the experiment.
The five states
Draft
draftNot yet visible to visitors. The only state where every wizard field can be edited.
- •Edit anything: variants, goals, targeting, URL match, traffic split.
- •Delete is allowed — drafts can be removed entirely.
- •No visitor data exists yet.
- •Restore-version is available to roll back to a prior snapshot.
Running
runningLive. The SDK is assigning visitors to variants and recording conversions.
- •Wizard fields are locked. Test name and collaborators can still change.
- •Pause to freeze new assignment; Complete to mark the test finished.
- •Cannot be deleted — duplicate or archive instead.
Paused
pausedNo new assignments. Already-assigned visitors keep seeing their variant; conversions still count.
- •Reversible — Resume sends you back to running.
- •Use Pause when you need to investigate something without losing data.
- •Complete from here to end the experiment cleanly.
Completed
completedExperiment is over. Results are frozen — no new assignments, no new conversions.
- •Resume is allowed unless the scheduled end date has passed.
- •Archive moves it out of the main list once you no longer need quick access.
Archived
archivedHidden from the main list for tidiness. Data is preserved.
- •Still readable — switch the list filter to Archived or All.
- •Can be duplicated to spin up a new draft from the configuration.
- •Not deletable from the dashboard.
Allowed transitions
Anything not listed here is blocked by the model. Attempting an invalid transition raises a clear error and leaves the test in its current state.
| From | Action | To | Notes |
|---|---|---|---|
| Draft | Start | Running | Runs a readiness check: at least 2 variants, exactly 1 control, at least 1 goal, exactly 1 primary goal, and a connected GA4 property if any goal is a GA4 event. Rejected with a clear message if anything is missing. |
| Running | Pause | Paused | Stops new assignments; existing visitors keep their variant. |
| Running | Complete | Completed | Records ended_at; freezes assignment and conversions. |
| Paused | Resume | Running | Resumes new assignments and conversion tracking. |
| Paused | Complete | Completed | Ends the test cleanly without resuming first. |
| Completed | Resume | Running | Blocked if the scheduled end date has passed — update it first. |
| Completed | Archive | Archived | Hides the test from the default list. One-way from the UI, but data is preserved. |
| Any | Duplicate | Draft (new) | Creates a fresh draft with the same configuration. No data carried over. |
| Draft | Restore version | Draft | Replaces the current draft config with a prior snapshot. Drafts only. |
Automated transitions
The table above covers the manual actions you trigger from the dashboard. Tests can also transition automatically: a draft with a future start time moves to running when that time arrives, a running test with a future end time moves to completed when that time arrives, and a running test with stop conditions moves to completed when a condition trips. See the Scheduled Start & End and Stop Conditions sections for the full rules, and the Activity Log for how each transition is recorded.
Practical rules of thumb
Finalize everything before Start. Wizard fields lock the moment a test leaves draft. The five minutes you spend triple-checking the goal config save you a rerun later.
Pause when in doubt — Complete when done. Pause is the no-regrets state for “something seems off, let me investigate.” Complete signals the experiment is over and freezes the result.
Use Duplicate, not Edit, when the test needs to change. If you discover mid-test that the goal is wrong or a variant has a bug, complete the test, duplicate it into a new draft, fix the issue, and start fresh. Mid-flight edits would invalidate the collected data anyway.
Archive for tidiness, not deletion. Archived tests still exist and can be referenced or duplicated. There's no way to permanently delete a test that has collected real data, by design.
Frequently asked questions
Quick answers to the questions teams ask most about this part of Otter A/B.