Skip to main content
Skip table of contents

Campaign States and Errors

Campaign Statuses

The current status of your campaign can be any of the following:

Status

Description

Campaign Types

Draft

Status of campaigns that are yet to be activated

All Campaign Types

Active

Status of campaigns that are waiting to be triggered based on schedule, file drop, API request, event, behavior, or experience

One-Time scheduled later, Recurring Time-Based, Recurring File-based, API Broadcast, Triggered Campaigns

Computing

Status of campaigns when the audience is being computed or when a file is being processed to trigger the campaign

All Campaign Types

Sampling

Status of campaign when A/B Test versions are still being sent or the winner of the A/B Test is awaiting to be sent.

All Broadcast Campaign Types

Sending

Status when campaign is currently sending

When a campaign is stuck in Sending status, check on the audiences included in the campaign. One or more segments or lists might not have any users in them.

All Broadcast Campaign Types

Sent

Status when all possible messages have been sent for a campaign

All Broadcast Campaign Types

Inactive

Status when active campaign had been deactivated

One-Time scheduled later, Recurring Time-Based, Recurring File-based, API Broadcast, Triggered Campaigns

Archived

Status when campaign had been archived

All Campaign Types

Paused

Status of the campaign when the sending has been paused. This applies to a

Approval and Paused status will also be shown when these features are enabled. For more details, see Campaign Approval Management and Campaign Pause & Resume Feature.

Recipient Statuses

At the time of campaign computation, every member of the applicable audience is stored as a campaign recipient entity. A campaign recipient transitions through the following statuses:

Status

Description

pending

A recipient starts in this state when the audience is computed.

out_of_sample

A certain proportion of "pending" recipients goes to this state in case of A/B/n tests. These recipients are excluded from the test and receive the winning version after the test is concluded.

control_group

If a certain segment of the audience is used as a control group, this status is used. These recipients do not receive the campaign.

sto_pending

When sending at prime time, this status determines that the optimum time is yet to be computed for the recipient.

prepared

All external data (feed, recommendations, file variables) are captured beforehand and recipient transitions to this state after the data fetch is complete. In other words, it indicates the readiness of data for a particular recipient.

scheduled

At the campaign scheduled time, all "prepared" recipients are sent to a message generation queue, after checking for frequency settings and unsubscribed/not_opted_in contacts, and marked as "scheduled"

For scheduled broadcast campaigns, the ZMP begins pre-processing roughly 30 to 90 minutes prior to the launch time.

generated

Recipient transitions into this state after the message is successfully generated.

queued

Recipient transitions into this state after the message is successfully transmitted to the message provider (Momentum, Sendgrid, Twilio).

unsubscribed

During the scheduling phase, recipients with no subscribed contacts transition into this state.

not_opted_in

During the scheduling phase, recipients without any "opted_in" contacts transition into this state. Applicable only for accounts that have "double opt-in" enabled.

error

Any recipients with bad/missing data or system errors transition into this state.

skipped

Any recipients that are intentionally suppressed as part of the campaign transition into this state.

overlap

When de-duping is switched on for a campaign, any communication to duplicate contact address marks the associated recipient as "overlap"; For multi-version campaigns, any recipient overlapping with the audience in the preceding versions are also marked as "overlap"

Errors, Skips, Unsubs

Additionally, the errors, skipped, and unsubscribed statuses provide detailed information as explained below:

Status

Reason

Description

error

external_content_fetch

The system fails to fetch data from an external content feed. This usually indicates an error with the feed.

error

recommendation_fetch

The system fails to fetch recommendations for the recipient. This usually indicates strict meta-filters or not enough recommendable content.

error

invalid_email_address

The email address format is incorrect.

error

email_subject_missing

The email subject is missing. Normally happens when the subject uses a template variable and turns out to be empty after substitution.

error

communication_dispatch

Happens when an error occurs while transmitting the message to the message providers after the configured amount of retries (currently set to 5).

error

communication_generation

Happens when a system error occurs while generating the message.

error

aws_throttling

Happens when Amazon SES throttles email transmission. Applicable only for customers using SES.

error

coupon_allocation

Not enough coupons available for the recipient to be used in the template.

error

standard

Default error category when none of the known errors are captured.

error

bad_data

Default error category for missing data.

error

resource_fetch

The system encounters an error while fetching a resource from the resources API.

error

liquid_internal

The system encounters an error due to a bad liquid tags.

error

socket_error

The socket error may come due to any temporary error in the external service used in the campaign content and can be resolved in the retry process being added in the pipeline while trying to fetch the data from the external service.

skipped

throttled

Used when system throttling happens due to high bounce rate.

skipped

custom_skip

Message skipped due to user-defined conditions. Used when a "custom_skip" liquid tag satisfies the skip condition specified as part of the template.

skipped

frequency_settings

The message is skipped due to frequency settings set up at account or segment level.

unsubscribed

missing_contact_address

The recipient has no contact applicable to the channel.

unsubscribed

unsubscribed

The recipient has one or more contacts applicable to the channel, but none of them are active; also taking into account opt_in/transactional campaign settings.

unsubscribed

cascade

When a contact email is unsubscribed by the system, all contacts with same email from other users will be deactivated and an unsubscribed event would be fired on those users.

Communication Events

Event

Communication state

Description

N/A

new

This is the starting state of communication when it is created.

queued

queued

Communication has been successfully transmitted to the message provider.

delivered

delivered

Communication has been successfully delivered to the end-user.

opened

opened

Communication has been at least opened once by the end-user.

clicked

clicked

Communication has been at least clicked once by the end-user. Any click on "view in browser" URL or "unsubscribe" URL is ignored.

throttled

throttled

Communication is not sent to the message provider due to throttling having kicked in because of a high bounce rate.

error

error

The system encountered any error while transmitting the message to the message providers. In the case of both "throttled" and "error", a "Message Skipped" user activity is raised which also shows up on the UI in the user journey.

If the event has been passed with an old time stamp, we don’t send the campaign and message is skipped with the reason as 'old_activity'.

N/A

duplicate

When de-duping is switched on for a campaign, any communication to duplicate contact address goes into this state.

unsubscribed

No change from previous.

When the end-user unsubscribes from the mailing list. A "system:: unsubscribed" user activity is also raised for this state additionally providing the reason for action. Possible values are:

  • "UNSUB_LINK" (when the user is unsubscribed using unsubscribe link),

  • "PREF_CENTER_UPDATE" (when the user is unsubscribed from Preference center),

  • "IMH_UNSUBSCRIBE" (when the user replies back on the email with unsubscribe),

  • "DATA_TOOLS" (when the user is purged from data tools),

  • "USER_PROFILE_UPDATE" (when the user is unsubscribed from the profile page)

bounced

No change from previous.

The email failed to be delivered to the user and bounced. There are 4 different bounce types - hard, soft, blocked, other. A hard bounce immediately deactivates the associated contact. For other bounce types, the system waits for 7th consecutive non-hard bounce to deactivate the associated contact.

complained

No change from previous.

The system receives a spam/abuse complaint. This also deactivates the associated contact immediately. User activity is also raised with additional reason, values being "IMH_FBL_UNSUBSCRIBE", "EC2_ABUSE"

Bounce Events

Bounce type

Reason

Description

hard

unknown_recipient

Recipient is unknown.

hard

server_error

The remote system was busy or was unable to take a call.

hard

mailbox_does_not_exists

Mailbox does not exist on this recipient server.

hard

message_is_big

The message was too big.

hard

mailbox_malformed

Mailbox name is either malformed or does not exist.

hard

unsubscribe

The message is an unsubscribe request.

hard

challenge_response

The message is a challenge-response probe.

soft

temporarily_deferred

Temporarily Deferred.

soft

mailbox_locked

Mailbox locked.

soft

insufficient_storage

The message has been deferred due to insufficient system storage.

soft

dns_failure

The message bounced due to a DNS failure.

soft

time_out

The message timed out.

soft

auto_reply

The message is an auto-reply/vacation mail.

soft

transient_failure

Message transmission has been temporarily delayed.

soft

mailbox_full

The recipient's mailbox is full.

blocked

mail_block

The message was blocked by the receiver.

blocked

spam_block

The message was blocked by the receiver as coming from a known spam source.

blocked

spam_content

The message was blocked by the receiver as spam.

blocked

prohibited_attachement

The message was blocked by the receiver because it contained an attachment.

blocked

relaying_denied

The message was blocked by the receiver because relaying is not allowed.

other

subscribe

The message is a subscribe request.

other

generic_delivery_failure

Planetary alignment, tides of the moon, or just plain bad luck.

other

admin_failure

The message was failed by SparkPost configured policies.

other

others

Others

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.