Skip to main content

Campaign and Message Statuses

Outreach tracks status at three levels: the campaign, each run, and each individual message. Understanding these statuses helps you monitor progress, diagnose issues, and know when action is needed.

Campaign Statuses

At the campaign level, status reflects only whether a run is currently active:

StatusMeaning
Ready to RunNo run is currently active. The campaign is idle and available to run.
Run In ProgressAt least one of the campaign's runs is currently active (preparing, warming up, or sending).

A campaign only ever has these two statuses. Outcomes such as Complete or Some Errors belong to a run, not to the campaign.

Run Statuses

Each run moves through its own lifecycle:

StatusMeaning
PreparingMessages are being generated for the run. See When Preparing appears.
ScheduledThe run is waiting for its scheduled start date and time.
Ready to RunThe run has been prepared and has not been started yet.
Warming UpThe 5-minute window after a run is started now, before messages begin sending. Runs that start at a scheduled time skip this state.
In ProgressOne or more messages are queued, sending, or sent.
CompleteAll messages reached a final state and none failed.
Some ErrorsAll messages reached a final state, but one or more failed.
Setup FailedThe run could not be set up or could not begin sending. Either its messages failed to create, or its sender was no longer available when sending was due to begin.
Active Retries (Email only)The primary send is complete, but one or more messages are Retrying.

Cancelling a run in Scheduled or Warming Up returns it to Ready to Run; nothing is deleted and no messages are sent.

When Preparing Appears

Preparing covers the point at which a run's messages are generated, and that point depends on the campaign's audience:

  • On a File audience, the recipients are already fixed, so the run is Preparing shortly after it is created and moves to Ready to Run once its messages exist.
  • On a dynamic audience, All Contacts or a Segment, the recipients are settled when sending begins. The run is Preparing at that point, its messages are generated from the most recent contact data, and it then moves to In Progress. Until then the run has no messages, and the run page shows its audience instead. See Runs on a dynamic audience.

On a dynamic audience, Preparing therefore sits after the warming-up window on a run started now: the 5 minutes elapse first, then the messages are generated. A run that starts at a scheduled time has no warming-up window, so it goes into Preparing at its start time.

If messages cannot be generated at all, the run moves to Setup Failed. A run whose segment could not be recalculated, or whose audience resolves to no contacts, is treated differently: it returns to Ready to Run so it can be started again. See When a run cannot start.

Message Statuses

Individual messages move through a lifecycle of statuses as they are processed. The exact statuses differ slightly between SMS and Email.

SMS

StatusMeaningFinal state?
Queued (Run Ready)The message belongs to a run that is Ready to Run but has not been started yet.No
Queued (Run In Progress)The run is active and the message is in the sending queue, waiting to be transmitted.No
SendingThe message has been submitted to Twilio and is being processed.No
SentTwilio has handed the message off to the recipient's carrier. No delivery confirmation has been received yet, so this is not proof the message reached the handset.No
DeliveredThe carrier returned a delivery confirmation to Twilio, which normally means the message reached the recipient's handset.Yes
Delivered (Assumed)The message was sent but no delivery confirmation was received within 10 minutes. Not all carriers report delivery.Yes
FailedThe message could not be delivered. A failure reason is provided (e.g. invalid number, carrier rejection, timed out).Yes
Opted OutThe recipient has opted out of receiving messages.Yes

Email

StatusMeaningFinal state?
Queued (Run Ready)The message belongs to a run that is Ready to Run but has not been started yet.No
Queued (Run In Progress)The run is active and the message is in the sending queue, waiting to be transmitted.No
SendingThe message has been submitted to SendGrid and is being processed.No
DeliveredSendGrid confirmed the message was delivered.Yes
Delivered (Assumed)The message was sent but no delivery confirmation was received within the timeout window.Yes
RetryingThe receiving server temporarily refused the message. SendGrid is automatically retrying delivery for up to 72 hours. See Retrying explained.No
FailedThe message could not be delivered. A failure reason is provided (e.g. bounced, blocked, invalid address).Yes
Opted OutThe recipient clicked the unsubscribe link in the email.Yes

Message Priority

Independently of status, each message has a priority of Normal (default) or High, taken from the priority column mapped from your contact file. Priority affects the order messages are dispatched in, not the statuses they pass through.

Priority is a file feature. A run against All Contacts or a segment has no priority column to read, so every message in it sends at Normal. See Message Priorities.

Retrying Explained

The Retrying status applies to email messages only and corresponds to the deferred state in SendGrid. A message enters this state when the recipient's email server temporarily refuses to accept the email. Common reasons include:

  • The recipient's server is temporarily unavailable or overloaded
  • The recipient's server is rate-limiting or throttling incoming connections
  • Transient DNS or network issues on the recipient's side

Once a message is Retrying, SendGrid automatically retries delivery for up to 72 hours, spacing the retries further apart over time. You do not need to take any action for these retries to occur.

warning

You cannot cancel, stop, or manually intervene with a message that is Retrying. The retry process is handled entirely by SendGrid and will continue for up to 72 hours from the first refusal.

After 72 hours, if the message still has not been accepted by the recipient's server, it is marked as Failed with a blocked/expired reason.

While a run has one or more messages Retrying, the run status shows as Active Retries. This indicates that the primary send is complete but delivery is still pending for some recipients.

For more technical detail on how SendGrid handles deferred emails, see the SendGrid Deferrals documentation.

Status Lifecycle Diagrams

SMS

Email

Timeout Rules

RuleChannelDetail
Delivered (Assumed)SMSA message in "Sent" status for more than 10 minutes without a delivery confirmation is moved to "Delivered (Assumed)". If a confirmation arrives later, the status is updated to "Delivered".
Timed OutSMSA message in "Sending" status for more than 10 minutes is moved to "Failed" with reason "Timed Out". If delivery is subsequently confirmed, the status is updated and the failure reason removed.

Automatic Retry Behavior

Messages that fail due to pre-send errors are automatically retried up to 3 times. After 3 failed attempts, the message is marked as Failed.

Pre-send errors are failures that occur before the message reaches the delivery provider. Examples include:

  • The destination number is geo-blocked by your Twilio account configuration (for example, sending to a country your Messaging Service does not permit).
  • The destination number is malformed or fails E.164 validation at submission.
  • The message could not be handed to Twilio or SendGrid on the first attempt, for example because of a temporary connection problem or throttling.

This automatic retry is different from manual retry (which you trigger from the run view for post-send failures).

Next Steps