Lifecycle Statuses
Experiment lifecycle & statuses
A campaign is not “on” just because it exists in the list. In everyday language, statuses are the stages of a project: drafting, live, paused, finished, filed away, or thrown out. In CROForge those stages are enums: DRAFT, RUNNING, PAUSED, COMPLETED, ARCHIVED, and TRASH. Only Running campaigns are applied by Smart Code (and only when URL targeting and the audience segment also match). This page is the launch checklist and the safe way to edit a test that is already live.
Words used on this page
| Word | Everyday meaning | Meaning in CROForge |
|---|---|---|
| Draft | A work-in-progress that is not published. | Enum DRAFT. You configure Pages, Variations, Metrics, and Audience. Smart Code does not apply it. |
| Running | Live; people can see it. | Enum RUNNING. The only status Smart Code applies (after URL and segment match). Assignment is sticky. |
| Paused | Temporarily stopped, not deleted. | Enum PAUSED. Live application stops. Prefer this when you must edit JS, CSS, URLs, or the segment mid-flight. |
| Completed | Finished; keep the record. | Enum COMPLETED. Not applied live. Keep it for reporting after you call a winner. |
| Archived | Long-term storage, off the working list. | Enum ARCHIVED. Not applied live. Use after Completed when you no longer need it in day-to-day views. |
| Trash | Thrown away, possibly recoverable. | Enum TRASH. Soft-deleted. Not applied live. Use for mistakes, not for finished tests you still need in reports. |
| Winner | The version you decide to keep. | A human decision after sample size and the primary metric. Completing the campaign records that the test is over; it does not automatically rewrite the site. |
Screenshot
Filename: experiment-statuses.png (status badges on the campaigns list and hub). Place the file under docs/assets/placeholders/. Paste the screenshot into WordPress after you copy this article; do not add an image tag here.
Status reference
| Status | Enum | Typical use | Applied live? |
|---|---|---|---|
| Draft | DRAFT | Building the campaign | No |
| Running | RUNNING | Collecting data on eligible visitors | Yes, if URL and segment match |
| Paused | PAUSED | Stop without deleting; safe window to edit | No |
| Completed | COMPLETED | Finished; keep for reporting | No |
| Archived | ARCHIVED | Long-term storage | No |
| Trash | TRASH | Soft-deleted mistakes | No |
Suggested lifecycle
Draft → (preview) → Running → Paused? → Completed → Archived
↘ Trash (mistakes)
Preview from Draft (or Paused) so QA can force a variation without putting random visitors into the test. Start Running only after the launch checklist passes. Pause if you must change targeting or code. Complete when you have a decision. Archive when the working list should no longer show it. Trash only when the campaign should not have existed.
Launch checklist
- URL include/exclude validated with the Pages validator and real sample URLs.
- Segment correct (All Traffic or the intended Data Vista segment).
- Variations QA’d on Desktop, Tablet, and Mobile view modes, plus Live Preview on the real URL.
- Traffic percents sum to 100% (Equal or Custom).
- Metrics linked — at least one clear primary metric.
- Smart Code verified on the target domain (allowlisted and loading).
- Status set to Running.
Mid-flight changes
Visitors who already entered a Running campaign have a sticky variation. If you change JS, CSS, URL rules, or the segment while it is still Running, some people saw the old experience and some will see the new one, but the Report tab still treats them as the same variation labels. That biases results.
- Set status to Paused.
- Edit Pages, Variations, Metrics, or Audience.
- Preview the change.
- Resume Running.
- Document what changed and when so anyone reading the report knows the test had a seam.
Bulk start / pause / archive / delete from the campaigns list applies to every selected campaign. Never bulk-start Drafts that have not passed this checklist.