Campaign States and Error Descriptions

Campaign Statuses

Status

Platform Description

Campaign Types

Draft

N/A

All Campaign Types.

Scheduled

The campaign will send at [timestamp].

One-Time and Recurring Time-Based; One-Time File-based.

Waiting for File

This campaign is active and will begin processing when a file appears in the designated FTP location.

Recurring File-based.

Waiting for API

This campaign is active and will begin processing when an API is triggered.

API Broadcast.

File Processing

A file has been dropped to the FTP and is being processed. File: [filename.csv]

One-Time + Recurring File-based.

Campaign Pre-Send Processing

The campaign is currently preparing to send.

All Campaign Types.

Campaign Failed

The campaign has failed while processing and will not send.

All Campaign Types.

Campaign Sending

The campaign is currently sending.

All Campaign Types.

A/B Test Sending

At least one A/B Test portion of the campaign is currently sending. The remainder will be sent at [Time that we expect the remainder to be sent shown in the account time zone].  Notification will need to include detail of all Version A/B Tests.

All Campaign Types.

A/B Test Sent

All of the A/B Test portion of the campaign has completed sending. The remainder will be sent at [Time that we expect the remainder to be sent shown in the account time zone].  Notification will need to include detail of all Version A/B Tests.

All Campaign Types.

A/B Winner Sending

A/B Winner Sending - At least one Winner of the A/B test is currently sending Test [letter of the winning test; ex: 'C'].  Notification will need to include detail of all Version A/B Tests.

All Campaign Types.

Sent 

All possible messages have been sent for this campaign.

One-Time Time-based; One-Time File-based.

Campaign Stopped

The campaign has been manually stopped.

One-Time Time-based; One-Time File-based.

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"

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 error, 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.

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.

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.

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