Skip to main content

TypeAlias.CampaignStatus

type CampaignStatus = ObjectEnum<typeof CampaignStatus>;

Lifecycle status of a marketing campaign.

  • draft: under preparation in the wizard. The only mutable state — name, channels, targeting, content and schedule can still change, and the campaign can be deleted. Transitions to scheduled (planned send) or sending (immediate send).
  • scheduled: a future sendAt is set and a delayed job is queued. The campaign waits for its due date. Can be cancelled back to draft before the job fires.
  • sending: the audience snapshot is frozen (audienceSnapshotCount set, CampaignDelivery rows created) and sentAt is stamped. Transient state while the deliveries drain. Irreversible — the snapshot is never recomputed.
  • sent: every delivery has been processed (sent / excluded / failed). The conversion window runs from sentAt. Failed deliveries can be retried without changing this status.
  • finished: the conversion window has closed and the stats are frozen. Terminal.