There are multiple ways to send an email to your Subscribers, and numerous reasons an email isn’t sent depending on the email sending method you use. This article focuses on identifying the common root causes of emails not being sent to the expected number of subscribers. When sending Emails using Automation Studio, Journey Builder, or Triggered Sends there are some additional situations to consider which are articulated at the end of the document.
Table of Contents:
Each time you send an email from your Marketing Cloud account, an account-specific 'JobID' is automatically assigned to that specific instance of the email sent. The JobID is a unique identifier used by the system to associate all tracking data to individual send instances.
To find the JobID in question, use the Tracking section of Email Studio. The email's tracking information is stored in the same folder hierarchy as the email. Clicking the Email Name tied to the job takes you to the Tracking Overview Tab for the specific email.
The Tracking Overview Tab provides important tracking information such as the job encountered an error, the number of subscribers sent the email, the number of bounces, and subscriber activities such as opens and clicks.
Journey Builder and Triggered Sends have a JobID, but the Triggered Send Tracking section of Email Studio shows email Sends by the Triggered Send Name rather than the JobID. You can use the TriggeredSendID or JobID to troubleshoot triggered sends.
The following video shows how to find a Job ID:
Alert Manager provides an Admin the ability to be notified of Email Send errors such as system issues or subscriber limits. It’s recommended you set up Alert Manager so you can identify job-level issues and react as soon as possible.
Watch this quick video to learn how to set up Alert Manager and review the Marketing Cloud Alert Manager Errors Knowledge Article for error details and recommended actions.
There are several reasons that may not be obvious and cause the email audience count to be greater than the number of emails sent. Review the following sections to confirm if they are causing an unexpected difference in your audience counts and email send counts.
For an overview of Subscriber statuses, review the following video or steps.
To check a Subscriber Status, note down the SubscriberKey of the record and follow these steps.
Review the Subscriber Status that is returned and ensure the Subscriber is Active for the email to be delivered.
Marketing Cloud uses the SubscriberID value to determine if a Subscriber is a duplicate in lists, groups, and data filters created from a list. Data Extensions are de-duplicated by email address. If you're attempting to apply multiple Lists or Data Extensions to a Send, Subscribers who appear on multiple Lists or Data Extensions are sent a single email. To check for duplicate Subscribers export each List and Data Extension you are sending from and combine them into a single file. Then review the file to confirm if you have duplicate Subscribers.
Perform the following steps to Export a List:
Perform the following steps to Export a Data Extension:
When an Exclusion and Suppression List is applied to a send, Subscribers who are in your audience and an Exclusion or Suppression List aren’t sent the email.
Watch this quick Salesforce Support video to learn more about Exclusions and Suppressions lists and how to confirm if they have prevented an email from being sent or follow the steps after the video to check if a subscriber has not been sent due to an Exclusion or Suppression List.
To review if the Send excluded a Subscriber, you can check the Tracking information for the Job.
Perform the following steps to find which Subscribers were excluded from the Send.
An Auto-Suppression List is different from an Exclusion and Suppression List because it’s automatically applied to a Marketing Cloud send without user intervention. A Subscriber excluded from a Send because they're part of an Auto-Suppression List appears in the Tracking Summary for the Send.
To review the Subscribers in an Auto-Suppression List, perform the following steps.
List Detective prevents email addresses that are known to be invalid, inactive or spam traps from being sent an email. For Lists, the email addresses are checked during the import process. For Data Extensions, the email addresses are checked at the time of sending.
Watch this quick screencast from our Support YouTube Channel or read the information after to learn about List Detective and how to check if it is preventing the email from being sent to a Subscriber.
There are two ways in which you can check if List Detective prevents an Email Send; Import into a List or REST API.
Use the following steps to verify if a Subscriber will be excluded from an email due to List Detective:
For more detailed instructions, review the Import into a List Help documentation.
If you're familiar with REST API, you can use the validateEmail resource to check if an EmailAddress is likely to be excluded by List Detective. The following is an example of the body of the request you can use to validate an EmailAddress.
{
"email": "example@example.com",
"validators": [ "ListDetectiveValidator" ]
}
When a Contact is submitted for Deletion, the Marketing Cloud prevents Sends to the Contact and prevents them from being processed by the Marketing Cloud. Note the following point in our Contact Delete Best Practices documentation.
⚠️: You can’t reintroduce a contact that is in suppression or in the process of being deleted once the suppression period is over. During this time, you can’t perform any sends, including transactional sends, to that Contact.
Suppose you attempt to send to a Contact that is being deleted, and they're not excluded by the process populating the Data Extension. In that case, the Contact appears in the NotSent Data Extract showing as the following:
For more information on setting up a NotSent Data Extract, review our Report on 'Not Sent' subscribers through email sends Knowledge Article or watch the following short video from the Support YouTube Channel.
If you scheduled the Email to be sent at a future Date and Time, the List or Data Extension may have changed between the time it was scheduled and sent. The audience can be modified directly using ad-hoc Imports or an Import Definition within an Automation. You can review Import Definitions in Automation Studio or Email Studio.
Via Automation Studio:
Via Email Studio:
⚠️: Import Definitions in Contact Builder only show Imports to Lists within Mobile Studio
When using a Sendable Data Extension as your Email audience there are two situations that may cause emails to not be sent as expected.
Watch this quick video to learn how to configure a sendable data extension and verify if the current configuration is preventing an email from being sent to Subscribers or read the information after the video.
Subscriber Relationship of Data Extensions
The field you set as the Send Relationship of the Data Extension is key to ensuring the right Subscriber (and EmailAddress) is sent to within your Marketing Cloud Sends. The value of this field is used to find the EmaillAddress of the Subscriber on the All Subscribers List. Getting this field wrong can lead to duplicate Subscribers, incorrect Tracking data, and sends to EmailAddresses that have opted out previously.
To check your subscriber relationship, watch the following short video from the Support YouTube Channel or follow the steps outlined after.
Within Email Studio:
Within Contact Builder:
Note: If you’ve sent an Email to a Data Extension using the wrong Subscriber Relationship, it can result in invalid Subscriber records being created on the All Subscribers List. Consider using the Contact Delete framework to remove these duplicates from your account.
EmailAddress Field Data Type:
If Subscribers within a Data Extension don’t exist in the All Subscribers List, they’re added to the All Subscribers List at send time. In order for the system to add the Subscriber, the Data Extension must be sendable and have a field linking back to the All Subscribers List, AND it must have an EmailAddress DataType field.
If your Data Extension doesn't contain an EmailAddress DataType field, you can use a Query Activity to check which Subscribers don’t exist on the All Subscribers List and weren’t sent to in your Send. Join your Data Extension to the _Subscribers DataView and perform a check where the row isn’t present on the _Subscribers Data View, which is your All Subscribers List.
The following example query returns all Subscribers in a Data Extension that don’t exist on the All Subscriber's List.
SELECT DE.SubscriberKey, S.SubscriberKey
FROM [Name of Data Extension] AS DE
LEFT OUTER JOIN _Subscribers AS S
ON DE.SubscriberKey = S.SubscriberKey
WHERE S.SubscriberKey IS NULL
Suppose your Data Extension contains more than one EmailAddress DataType field, and the Subscriber isn’t on the All Subscribers List. In that case, the Marketing Cloud fails to create that Subscriber because it can't confirm which EmailAddress DataType field to use to create a Subscriber in the All Subscribers List.
Review your Data Extension and ensure only one EmailAddress DataType is set up. Use the following steps to confirm you’ve exactly one EmailAddress DataType on your Data Extension.
Within Email Studio:
Within Contact Builder:
You can Import into the All Subscribers List before sending and map the EmailAddress field within the Import to ensure all Subscribers are sent the email.
There are a few common Marketing Cloud reporting features available to assist in troubleshooting email sends. The following sections provide a brief explanation of each of these features.
NotSent Tracking Extracts
Tracking Extracts provide granular tracking data of email send jobs, such as clicks, bounces, and survey data. To identify why a subscriber didn’t receive an email, we use the NotSent extract to receive a reason each Subscriber wasn’t sent an email.
Follow the steps in the Report on 'Not Sent' subscribers through email sends Knowledge Article or watch the following video for steps to set up, run, and view a NotSent extract for your jobID.
Send Logging Data Extensions
Send Logging Data Extensions provide the ability to obtain run-time information about email send data not available via standard reporting functions. Send Logging can be a powerful tool for reporting on and troubleshooting email sends.
The following video provides steps to set up and use a send logging data extension.
When configuring your Marketing Cloud account or a new Business Unit, consider setting up a Send Logging Data Extension. To create a Send Logging Data Extension, follow the steps outlined in Create an Email Send Logging Data Extension and follow the Send Logging Best Practices and Tips.
Email Send Logging Data Extensions can be configured in one of two ways:
For more information about this configuration of the Send Logging Data Extension Contact Salesforce Customer Support.
Send Logging Data Extensions allow you to join its data with Data Views to collect Subscriber level tracking information that isn’t available in standard Reports or Tracking and can be customized to your use-case. An Email Send Log is created with the SubID, JobID, ListID & BatchID fields to join Data Views. Ensure you're joining all four fields (where applicable) to create optimized SQL queries to collect tracking data from email Sends for Subscribers.
It’s a best practice to configure a Data Retention Policy on the SendLog Data Extension to ensure it’s manageable and performant through its use within the Marketing Cloud. (⚠️ Also consider our documentation for optimizing SQL Queries).
Review our Send Logging Marketing Cloud Email Sends article for more information.
RaiseError AMPscript function
The RaiseError function allows you to pragmatically skip a subscriber during an email send due to a subscriber-specific condition. RaiseError is intended to prevent an entire email send from going to an errored state when it encounters an unexpected situation within your subscriber data. A good practice is to have a Data Extension log when a subscriber is skipped by the RaiseError function so you can review these Subscribers to understand why they weren’t sent an email.
The following video provides steps to set up and use the Raise Error AMPScript function with a send logging data extension.
⚠️ The RaiseError function should not be used as an exclusion or suppression process.
If you use the RaiseError function and specific subscribers didn’t receive your email, check to see if they met a condition for your RaiseError function. If you have a RaiseError logging setup, you can check the RaiseError data extension to confirm if the Subscriber triggered RaiseError and prevented the system from sending the email.
The following example RaiseError function, logs the JobID, EmailName, SubscriberKey, and associated AMPscript to a Data Extension.
%%[
VAR @ABC
SET @ABC = 'ABC'
]%%
Raise Error Function example:
%%[
IF @ABC == 'ABC'
THEN
]%%
<p> ABC is displayed </p>
%%[
ELSE THEN
InsertDE('RaiseErrorLog',
'JobID',JobID,
'EmailName',EmailName_,
'SubscriberKey',_SubscriberKey,
'AMPscript',@ABC
)
RaiseError('Variable not correct',1,'123','12345',0)
]%%
<p> ABC not Displayed and RaiseError hit </p><p>
%%[
ENDIF
]%%</p>
When attempting to complete a Test send, you may find that it isn’t coming through after previewing against a subscriber in a List or Data Extension.
You can check whether the Test Send was successful or still processing by looking at Tracking in Email Studio. Test Sends are usually found within the ‘Test Send Emails’ folder. Check to see if the job has been completed, and the number of Emails Sent equals the number you’re expecting.
Test Sends emulate the exact sending and email build process for the selected subscribers but is instead sent to the specified email address.
Check the following to identify why a subscriber wasn’t sent the email.
More information can be found in our Marketing Cloud Send Preview or Test Sends Don’t Arrive in Inbox Knowledge Article.
Triggered Sends are slightly different than a Data Extension or List send as they’re generally created through an action a Subscriber has taken and are more transactional. Triggered Emails in Email Studio involve using either the SOAP or REST API , adding another layer of complexity when troubleshooting whether a Send was successful.
Check the following to identify why a subscriber wasn’t sent the email from a Triggered Send.
These points are for Triggered Emails in Email Studio, not the new Transactional Messaging API .
More information can be found in the Marketing Cloud Triggered Send Not Sent to Subscriber Knowledge Article.
Automation Studio can be used to schedule a recurring Email to be sent on a regular cadence and to different Subscribers. Check the following to identify why a subscriber wasn’t sent the email.
As email Sends via Automation Studio are repeat sends to the same Audience, the same points to check for Sends to Lists or Data Extensions are applicable after you've reviewed the Automation has completed successfully.
More information can be found in the Email Send via Automation Studio Doesn’t Send to All Subscribers Knowledge Article.
Journey Builder sends use the Triggered Send method of sending, so consider the points in the Email to Triggered Send section and the following points. Both Multi-step and Single Send Journeys use Triggered Sends, but multi-step Journeys may allow you to review more information outlined in the following points.
000389518

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.