Scheduled Start & End
Auto-launch a draft at a future time. Auto-complete a running test at a future time. Both checked every 5 minutes; auto-start requires the test to be launch-ready.
Scheduled Start & End
Auto-launch a draft at a future time, or auto-complete a running test at a future time. Useful for coordinating a launch with a marketing campaign, or for setting a hard end date on a fixed-duration test.
Scheduled times are independent and optional. You can set just a start, just an end, both, or neither. Most teams use scheduled end alone — running tests until a campaign wraps — and start manually when they're ready. The launch-when-ready scheduled-start flow is for coordinated launches: a feature ships at 9am, the test starts at 9am, no one has to be at a keyboard.
Behind the scenes a background job sweeps every 5 minutes and transitions tests whose scheduled time has passed. There's no second-level precision — a test set to start at 10:00 might transition at 10:04. If you need exact-to-the-second timing, transition manually.
The two fields
Scheduled start
scheduled_start_atAuto-launch a draft at a future time.
Set on a draft. When the time arrives, Otter A/B transitions the test to running — the same transition as a manual Start, with the same notifications and lifecycle effects.
Scheduled end
scheduled_end_atAuto-complete a running test at a future time.
Set on any non-archived test. When the time arrives, and the test is running, Otter A/B completes it — records the ended-at timestamp, freezes results, stops new assignments.
How the scheduler works
- Checked every 5 minutes. Background work picks up scheduled tests whose time has passed and transitions them in a single batch. Expect up to a 5-minute lag.
- Auto-start has a readiness guard. Before flipping a draft to running, the scheduler verifies the test has at least 2 variants and at least 1 goal. If either is missing, the auto-start is skipped silently and the test stays a draft. Finish the configuration and the next tick will pick it up.
- Auto-end only fires on running tests. If the test is paused when the scheduled end time arrives, nothing happens — the scheduler waits. Resume the test and, if the scheduled end has now passed, Resume itself is blocked (with a prompt to update the end date first).
- Activity log records the source. Auto-transitions appear as
scheduled_startorscheduled_endevents — distinct from manual Start/Complete — so you can tell at a glance whether a transition was time-driven or hand-driven. - Schedule fields are draft-only edits. Like other test settings, scheduled times can't be changed once a test leaves draft. If you need to extend a running test's end date, complete it manually, duplicate, and relaunch the duplicate with the new schedule.
When scheduled times help
Coordinate with a campaign. Set scheduled end to the date the campaign wraps. The test stops attributing conversions on cue, so the result reflects only the campaign window.
Cap a low-traffic experiment. Combine scheduled end with stop conditions to set both a time and a sample-size ceiling. Whichever trips first ends the test.
Don't rely on scheduled start for last-minute changes. Once the scheduled time arrives, auto-start runs without confirmation. If you're still tweaking the variants, leave the schedule blank and start manually.
Times are stored in UTC. The dashboard shows them in the project's reporting timezone for display, but the field underneath is UTC. Set times mindfully across DST boundaries.
Frequently asked questions
Quick answers to the questions teams ask most about this part of Otter A/B.