Iterable now tracks Email Send Skips which are events that display when a user did not receive an email due to a multitude of reasons. The Skip Events are tracked to help isolate what is causing an email to be delivered, and expose the reason behind non delivery. Every Event will contain a "reason" field, and a a value associated for the skip. The following is a list of reason values, and a brief explanation of the meaning.
User did not have a locale or its locale is not found in the project
Data feed returned a non-200 response code
MetadataStore table or field referenced does not exist and the MetadataStore handlebars includes required=true
Snippet does not exist and the handlebars for the snippet includes required=true
Iterable thought the email was valid but the ESP did not
Reply to field contains an invalid email
From field of the email is not authorized to send
Hosted unsubscribe url could not be made into a valid Url after rendering handlebars
Handlebars expression in the template was invalid after applying merge params
The message service returned a non-200 response code and it is not an error that we specially handle with one of the other SendSkipReaons related to message services.
Email has no content at all (it doesn't even have <html> tags)
Iterable refused to send the marketing message because the same message was already sent to the target within the last 18 hours
Target is on the message service provider's suppression list
Message service provider or channel used to send was misconfigured. For example, the API key could be wrong.