Campaign and Message Statuses
Outreach uses a defined set of statuses to track the lifecycle of campaigns and individual messages. Understanding these statuses helps you monitor progress, diagnose issues, and know when action is needed.
Campaign Statuses
Campaign status is derived from the aggregate state of its messages.
| Status | Meaning |
|---|---|
| Ready | The campaign has been created and saved. All messages are queued and waiting to be sent. |
| In Progress | One or more messages are actively being sent. |
| Complete | All messages have reached a final state. |
| Complete (with errors) | All messages have reached a final state, but one or more messages failed. |
| Active Retries (Email only) | The primary send is complete, but one or more messages are in a deferred/retrying state. SendGrid is automatically retrying delivery for up to 72 hours. |
| Failed | The campaign encountered a critical error during setup or execution. |
Message Statuses
Individual messages move through a lifecycle of statuses as they are processed. The exact statuses differ slightly between SMS and Email.
SMS
| Status | Meaning | Final state? |
|---|---|---|
| Waiting | The parent campaign is in a Ready state. The message is queued but the campaign has not been run yet. | No |
| Queued | The message is in the sending queue, waiting to be transmitted. | No |
| Sending | The message has been submitted to Twilio and is being processed. | No |
| Delivered | Twilio confirmed the message was delivered to the recipient's carrier. | Yes |
| Assumed Delivered | The message was sent but no delivery confirmation was received within 10 minutes. Not all carriers report delivery. | Yes |
| Failed | The message could not be delivered. A failure reason is provided (e.g. invalid number, carrier rejection, timed out). | Yes |
| Opted Out | The recipient has opted out of receiving messages. | Yes |
Email
| Status | Meaning | Final state? |
|---|---|---|
| Waiting | The parent campaign is in a Ready state. The message is queued but the campaign has not been run yet. | No |
| Queued | The message is in the sending queue, waiting to be transmitted. | No |
| Sending | The message has been submitted to SendGrid and is being processed. | No |
| Delivered | SendGrid confirmed the message was delivered. | Yes |
| Retrying | The message was deferred by the receiving server. SendGrid is automatically retrying delivery for up to 72 hours. See Retrying (Deferred) explained below. | No |
| Failed | The message could not be delivered. A failure reason is provided (e.g. bounced, blocked, invalid address). | Yes |
| Opted Out | The recipient clicked the unsubscribe link in the email. | Yes |
Retrying (Deferred) 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
When a message is deferred, SendGrid automatically retries delivery for up to 72 hours using an exponential backoff algorithm (retries are spaced further apart over time). You do not need to take any action for these retries to occur.
You cannot cancel, stop, or manually intervene with a message in the Retrying state. The retry process is handled entirely by SendGrid and will continue for up to 72 hours from the initial deferral.
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 campaign has one or more messages in the Retrying state, the campaign 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
Waiting → Queued → Sending → Sent → Delivered
→ Assumed Delivered (after 10 min timeout)
→ Failed (Timed Out, after 10 min)
→ Failed (pre-send error, after 3 retries)
→ Opted Out
Email
Waiting → Queued → Sending → Delivered
→ Retrying → Delivered
→ Failed
→ Failed (bounced/blocked)
→ Opted Out (unsubscribed)
→ Failed (pre-send error, after 3 retries)
Timeout Rules
| Rule | Channel | Detail |
|---|---|---|
| Assumed Delivered | SMS | A message in "Sent" status for more than 10 minutes is moved to "Assumed Delivered". If a delivery confirmation arrives later, the status is updated. |
| Timed Out | SMS | A 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 system errors (e.g. errors before the message reaches the delivery provider) are automatically retried up to 3 times. After 3 failed attempts, the message is marked as Failed.
This automatic retry is different from manual retry (which you trigger from the messages view for post-send failures).
Next Steps
- Monitoring and Messages. How to track and manage messages.
- Running a Campaign. What happens during campaign execution.