# Exclusion scripts at email send time

*Marketing Cloud Engagement Developer Study Guide · Programmatic Languages · Last updated November 3, 2026 · https://www.certifyforce.com/study-guide/marketing-cloud-engagement-developer/programmatic-languages/exclusion-scripts-at-email-send-time*

Where exclusion scripts live (journey email activities, triggered and user-initiated sends, Send Flow), how to write the true-means-excluded AMPscript expression, code snippets for complex logic, performance alternatives, and how excluded subscribers show up in NotSent data.

- Certification: Salesforce Marketing Cloud Engagement Developer
- Exam section: Programmatic Languages
- Study guide: https://www.certifyforce.com/study-guide/marketing-cloud-engagement-developer

**Official exam objective:**

> Given a customer scenario, determine how to programmatically exclude a subscriber at email send time.

## What the exam expects

- Identify every place an email send accepts an exclusion script, and what to do when the option is missing.
- Write an AMPscript expression that is true exactly for the subscribers to exclude, using row counts, string checks and OR or AND joins.
- Choose the right identifier (`emailaddr`, `_subscriberkey` or AttributeValue()) and the right lookup case sensitivity.
- Move complex logic into a code snippet, and choose pre-filtering or suppression lists when a script would slow the send.
- Find excluded subscribers after a send and work through a triggered send that returned success but delivered nothing.
- Key terms: **exclusion script** (AMPscript evaluated per subscriber; true excludes); **`emailaddr`** (the address being rendered for the send); **NotSent data extract** (skipped subscribers with a reason); **Excluded by Send Time Filter** (the NotSent reason an exclusion script leaves).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Script result | True (1) excludes the record, no suppression list needed | [Exclusion Script for Journey Builder](https://help.salesforce.com/s/articleView?id=000273326&language=en_US&type=1) |
| Journey Data in a script | Read with AttributeValue(); personalization strings can't | [Exclusion Script for Journey Builder](https://help.salesforce.com/s/articleView?id=000273326&language=en_US&type=1) |
| `emailaddr` in a journey | Resolves from the journey's Default Email Address | [Exclusion Script for Journey Builder](https://help.salesforce.com/s/articleView?id=000273326&language=en_US&type=1) |
| Several conditions | Separate the lines with OR | [Triggered Email Interaction](https://help.salesforce.com/s/articleView?id=000213279&language=en_US&type=1) |
| Option missing | Contact Marketing Cloud Engagement Support to enable it | [Exclusion Script for Journey Builder](https://help.salesforce.com/s/articleView?id=000273326&language=en_US&type=1) |
| LookupRows() | Up to 2,000 rows; case-insensitive; LookupRowsCS() is case-sensitive | [LookupRows()](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-data-extension/mc-ampscript-reference-data-extension-lookup-rows.html) |
| Large or complex filters | Pre-filter, else prefer suppression lists | [Exclusion Script for Journey Builder](https://help.salesforce.com/s/articleView?id=000273326&language=en_US&type=1) |
| Excluded subscriber records | Not on SendLog; in NotSent as Excluded by Send Time Filter | [Triggered Send Not Sent](https://help.salesforce.com/s/articleView?id=000389503&language=en_US&type=1) |
| Triggered build errors | Default error threshold of 10 before API calls are disabled | [Triggered Email Interaction](https://help.salesforce.com/s/articleView?id=000213279&language=en_US&type=1) |
| Queued triggered send messages | Not sent after 3 days in the queue; ExceededExpirationPolicy error | [Email Limits](https://help.salesforce.com/s/articleView?id=mktg.mc_overview_limits_email.htm&type=5&language=en_US) |
| Triggered send queue removal | Subscribers queued more than 14 days are removed from the queue | [Triggered Email Interaction](https://help.salesforce.com/s/articleView?id=000213279&language=en_US&type=1) |

## Check yourself

- When does a triggered email interaction use the Triggered Send Managed List?
- When a paused triggered send definition is restarted after a week, why don't subscribers queued on its first day get the email?
- Where in Email Studio can you view, export or clear the subscribers added to a paused triggered send?

## Sources

- [Create Exclusion Script for Journey Builder Email Activity](https://help.salesforce.com/s/articleView?id=000273326&language=en_US&type=1)
- [Configure the Email Activity](https://help.salesforce.com/s/articleView?id=sf.mc_jb_configure_the_send_email_activity.htm&language=en_US)
- [Create a Triggered Email Message Interaction](https://help.salesforce.com/s/articleView?id=000213279&language=en_US&type=1)
- [User-Initiated Email Messages](https://help.salesforce.com/s/articleView?id=000387947&language=en_US&type=1)
- [Select Audience](https://help.salesforce.com/s/articleView?id=mc_es_select_audience.htm&language=en_US&type=5)
- [Triggered Send Email Not Sent to Subscriber](https://help.salesforce.com/s/articleView?id=000389503&language=en_US&type=1)
- [Email Limits and Guidelines](https://help.salesforce.com/s/articleView?id=mktg.mc_overview_limits_email.htm&type=5&language=en_US)
- [Troubleshooting Marketing Cloud Engagement Email Sends](https://help.salesforce.com/s/articleView?id=000389518&language=en_US&type=1)
- [LookupRows() (AMPscript)](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-data-extension/mc-ampscript-reference-data-extension-lookup-rows.html)
- [LookupRowsCS() (AMPscript)](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-data-extension/mc-ampscript-reference-data-extension-lookup-rows-cs.html)
- [IndexOf() (AMPscript)](https://developer.salesforce.com/docs/marketing/marketing-cloud-ampscript/references/mc-ampscript-string/mc-ampscript-reference-string-index-of.html)
- [Programmatic Languages](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/programmatic-content-overview.html)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 18 linked practice questions, and unlimited timed mock exams are included with the Marketing Cloud Engagement Developer pack (USD $19): https://www.certifyforce.com/practice-exams
