When initiating an email Guided Send in Marketing Cloud, the Exclusion List option enables any list, group, or Data Extension to be excluded from the send.

In the Journey Builder Send Email Activity, there is only an option to select a Suppression List, not a Data Extension for exclusion.

How can you use an Data Extension for exclusion in a Send Email Activity?


The Exclusion Script feature in the Journey Builder Send Email Activity (which is also available in Triggered Emails, Content Builder Emails and Automation Studio) can be used to exclude Subscribers in a Data Extension from receiving an email at Send Time.

exclusion script options

The Exclusion Script is an AMPscript expression that needs to evaluate to true to exclude records.

So, if you have a DE named MyExclusionDE containing a field named Subscriber Key (which correlates to Subscriber Key used in the All Subscribers list), then your Exclusion Script would simply look like this:

Not Empty(Lookup('MyExclusionDE','Subscriber Key','Subscriber Key',_subscriberKey))
  • Two questions: 1. Will the _subscriberKey statement in the Lookup work if the subscriber doesn't yet exist on the All Subscribers list? 2. Is there documentation on what is or isn't allowed in an Exclusion Script block? It seems that it can be any statement that evaluates to TRUE/FALSE, but does it have to be one line? Can we do additional logic in that statement? – AnonWonderer Apr 3 '17 at 2:06
  • 2
    To answer your questions; 1. Yes, of course. Personalization strings in an Exclusion Script are evaluated in the context of the email send, so the _subscriberKey will be the Subscriber Key from your Event Source Data Extension, even if it doesn't exist yet in All Subscribers. 2. It has to be a single line; you can't use an AMPscript block but you can have other AND or OR conditions in your exclusion script. There isn't any documentation for what's not allowed, but the Exclusion Script is evaluated when you publish your Journey and it will return details of errors at that time. – Eliot Harper Apr 3 '17 at 2:11
  • Is it possible to set a default Exclusion script at the Business Unit level ? – zeljazouli Apr 6 '18 at 8:58

The exclusion script section allows for Ampscript to be added so records who return a true value ( a 1 in boolean terms ) are excluded from the send without needing to be added to a Suppression List.

Try this script, it will work:


Here's a little explanation for better understanding. The 'Exclude_Data_Extension_Name' contains a field titled 'Email_Addr_Field_Name' and this field contains email address values. The Personalization String 'emailaddr' captures the subscribers email address who is being rendered for the send. This will be determined by your Default Email Address within the Journey. If your subscriber email address can be matched to an 'Email_addr_field_name' value in the 'Exclude_Data_Extension_Name' data extension, then a value of 1 is returned through the RowCount(LookUpRows()) functions.

Since 1 is greater than 0, the contact would return a value of true and your contact would be excluded from the send.

P.S. Replace Exclusion_DATA_EXTENSION_NAME with your data extension name (which you want to exclude) and replace EMAIL_ADDR_FIELD_NAME with your Email column name/attribute. If you want to lookup against SubscriberKey, replace EMAILADDR with _subscriberkey

Your Answer

