Email Suppression Improves Email Deliverability

Benjamin Dean
Mar. 12, 2015 by Benjamin Dean

SuppressionListAPIToday’s production release of SparkPost provides Suppression and unsubscribe functionality via a shiny new Email Suppression List API.

Why Do I Need This and How Does it Work?

Protecting your sender reputation is essential to maximizing your email deliverability. Many inbox providers, e.g. Yahoo, Gmail, Hotmail/, or AOL, opt to limit or refuse message traffic based on it. Continuing to send messages to invalid email addresses or to recipients who no longer want to receive your emails can negatively impact your sender reputation. By maintaining an up-to-date suppression list, you can avoid sending unwanted messages. A suppression list — or exclusion list, as it is sometimes called — is a list of recipient email addresses to which you do NOT want to send email.

SparkPost supports two types of email suppression lists: one (available via the Suppression List API) is specifically for your account, and a global suppression list. Message Systems maintains a global suppression list across all customers. NOTE: The Global Suppression List data is not accessible via the Email Suppression List API.

When a message is injected either using SMTP or HTTP, SparkPost will check the email address against the account-specific and global suppression lists. If an email address for a recipient matches an address on the list, that message will be rejected for delivery by SparkPost automatically.

How are Recipients added to Suppression Lists?

  • Spam Complaints / FeedBack Loops (FBLs): When a recipient clicks the “this is spam” button provided by the ISP, the ISP sends a Spam Complaint or FBL message to SparkPost. SparkPost will automatically add the recipient’s email address to your suppression list.
  • Hard Bounces: When messages bounce, the ISP will include a message that lets the sender know whether it was a “Soft Bounce” or a “Hard Bounce”. A “Soft Bounce” is a temporary error or delay indicating that the message was set to a valid recipient address, while a “Hard Bounce” indicates that the message was sent to an invalid email address that should not be retried. SparkPost will automatically add any email address associated with a “Hard Bounce” to your email suppression list.
  • Unsubscribe Requests: Recipients can request to be unsubscribed by clicking the SparkPost-provided unsubscribe link in the message or by using the List-Unsubscribe header. SparkPost will automatically add the recipient’s email address to the email suppression list.
  • Compliance Team: Recipients can contact Message Systems and request that they no longer receive messages from a particular sender. Protecting our customers’ brands and maintaining high deliverability across all Message Systems’ accounts is of the utmost importance. Message Systems’ Compliance Team ensures that we’re acting as a good sender within the email community across all our customers and takes requests of recipients very seriously. If a request is received, the Compliance Team will add the recipient’s email address to that sender’s suppression list.
  • Suppression List API: Using the REST API, you can insert/update a single entry or multiple entries in your suppression list, check the suppression status for a specific recipient, or remove a recipient from your suppression list. For more information, see the SparkPost Suppression List API.

How to Implement Link Unsubscribe Feature

The link unsubscribe features is easy to implement, simply add a link in your email in the following format:


That’s it. When users click on this link to unsubscribe, your webhook consumer will receive a link_unsubscribe event and that recipient will be added to your Suppression List.

How to Implement List-Unsubscribe Feature

The list unsubscribe features is baked into every message delivered by SparkPost by default. If you would like to know how to use this feature in your applications, read our user guide: Using Unsubscribe Events

Transactional vs. Non-Transactional Messages

SparkPost gives you the option to treat Transactional messages (such as password resets and shipping notifications) and non-Transactional messages (such as Marketing offers and newsletters) differently for the purpose of suppressing recipients. For example, you likely do not want to suppress recipients from your password reset messages, but do want to honor their request to stop receiving Marketing offers. By default, SparkPost treats your messages as non-Transactional. Designate any Template or Transmission as “Transactional” to bi-pass the Suppression List. Keep in mind — if you designate all your email as Transactional and recipients either opt-out or click “this is spam” but messages continue to go those recipients — your deliverability may suffer as a result. So think about what messages truly deserve to go no matter what vs. your recipients’ desire to opt-out of and designate accordingly.

For an example implementation, check out our user guide: Using Unsubscribe Events

Related Content

Burnout: What Happens When You Take On Too Much

Burnout has become a very relevant topic in the tech industry. Our community manager offers several tips on how to avoid being overworked and stressed.

read more

Creating the Next Generation of Interactive Emails with Rebel Mail

Meet our partner, RebelMail! Today they're demonstrating how to use their interactive email API to keep customers engaged with the inbox.

read more

Using the SparkPost Metrics API with C#

Learn how to query the SparkPost API for information and metrics on the emails you’re sending using the C# wrapper and gain valuable insights.

read more

Start sending email in minutes!

The world’s most powerful email delivery solution is now yours in a developer-friendly, quick to set up cloud service. Open a SparkPost account today and get started for free.

Get Started

Send this to a friend