Outbound Wiki

Suppression list management

Maintaining do-not-contact, opt-out, competitor, employee and other records that must be excluded from outreach.

Suppression list management is the send gate between an audience and an outbound message. Give each entry a scope, a reason and an expiry, then test the final audience against that decision immediately before delivery. Scope mismatch causes failures: an address is suppressed in one place while the send uses another account, region, tenant, channel or exception rule. Keep rules global where they need to be global, and expose every bypass. The send path can then enforce the list instead of relying on someone to remember to check a file.

Define the send boundary

Start with the event that puts an address on a list and the messages that event should block. A suppression list is a set of email addresses that a workspace does not deliver to.1

Use the boundary to cover absent, revoked or too-narrow consent and Do Not Call restrictions.2 Include invalid recipients, complaints, unsubscribes, customers and other approved exclusions.3 Hard bounces and spam complaints can be added automatically, while users can add addresses manually.4

Ask: What happened to this address, and which messages must the event block? Move on when every entry has a reason that another rep can understand without asking the person who added it.

Give each list a scope

Scope determines whether a valid exclusion reaches the send you are about to run. Write the scope into the list record and the sending setup so the final check has something precise to compare.

Make suppression that holds across every campaign a requirement.5 Document whether the list applies to voice, SMS or Email, which campaigns use it, whether it is mandatory or optional, and how long it remains active.6789

Ask: Which sender, channel, campaign and tenant does this list cover? Keep active and expired states separate, and make the answer visible before an audience reaches an outbound sequence. Move on when the sending context maps to the lists that should govern it.

Match the audience before sending

Run the check against the final recipient set, after targeting and segmentation have changed it. A list checked at import can miss a later change in the audience.

Some systems define suppression lists through segment filters, with users entering or leaving as they meet the criteria.10 Treat that movement as part of audience preparation. Inspect the final segment again before launch, especially when a campaign uses a saved audience or a filter that can change.

Keep one matching rule for the address as it moves between the source list, the CRM and the sending system. When the sending system treats case as significant, normalize and compare deliberately instead of assuming two differently cased addresses will match.

Ask: Which records were removed by suppression, which remained eligible, and which need review? Move on when each record has a clear disposition and every exception has an owner.

Maintain the list and update path

A suppression list needs a controlled way to accept new exclusions and remove records when policy permits it. Keep the update path separate from campaign creation so a rep cannot bypass the check while building a send.

In Amazon SES, addresses can be added or removed individually or in bulk through the API v2 or console.11 Use the available bulk operation for a controlled update, then record what changed and why. Keep the source event with the record so a later review can distinguish a complaint, a bounce, a manual request or another approved exclusion.

For each update run, check the result before the next send. A completed upload is not enough if the system accepted only part of the change. Confirm that the intended list, channel and scope were updated, then test a small set of known excluded records against the send path.

What not to do

These mistakes let a valid suppression record fall outside the path that sends the message.

  • Check an acquired prospect list against your own suppression lists before importing it. A previous objection should block contact unless overriding consent exists.12
  • In Amazon SES, the account-level list applies only to the customer account and the current AWS Region.1314
  • Multi-tenancy can use tenant-level suppression lists for per-tenant isolation. When tenant-level suppression is enabled for a tenant, SES uses that tenant's list instead of the account-level list.1516
  • Treat exception tags as part of campaign logic. In systems that support them, selected tags can remove suppression from a campaign, allowing messages to reach suppressed users in the target segment.171819
  • In Amazon SES, address casing affects suppression matching. Its suppression lists are case sensitive, and an added address is stored exactly as received, including its original case.2021
  • When Azure Communication Services reaches a service limitation, it returns HTTP status code 429.22 Reduce operations per request, reduce call frequency and avoid immediate retries because every request counts toward usage limits.232425
  • If those controls are insufficient, request higher throttling limits from Azure Support.26

Sources

  1. 1
    “Your workspace owns a suppression list: a set of email addresses we do not deliver to.”
  2. 2
    “Suppression:Stops sends when consent is absent, revoked, too narrow, or blocked by DNC rules.”
  3. 3
    “Suppression includes invalid recipients, complaints, unsubscribes, customers, and other approved exclusions.”
  4. 4
    “Hard bounces and spam complaints land on it on their own, and you can add addresses yourself.”
  5. 5
    “Suppression that holds across every campaign”
  6. 6
    “Indicates the channel (voice, SMS, or Email) that the suppression lists applies to.”
  7. 7
    “The number of campaigns to which the suppression list is associated.”
  8. 8
    “Indicates if the suppression list is mandatory or optional.”
  9. 9
    “Indicates the length of time that the suppression list remains active.”
  10. 10
    “Suppression lists are defined by segment filters, and users will enter and exit suppression lists as they meet filter criteria.”
  11. 11
    “You can add or remove, individually or in bulk, addresses from your account-level suppression list by using the SES API v2 or console.”
  12. 12
    “If you’re getting a list of potential new customers or supporters, you should check the information against your own suppression lists, so you don’t contact anyone who has previously asked you not to (unless they have given you consent that overrides their previous objection).”
  13. 13
    “The Amazon SES account-level suppression list was introduced so that customers can create and control their own suppression list and manage their reputation, thus, your account-level suppression list applies to your account only.”
  14. 14
    “Your SES account-level suppression list applies to your AWS account in the current AWS Region.”
  15. 15
    “If you use multi-tenancy, you can also configure tenant-level suppression lists for per-tenant isolation.”
  16. 16
    “When tenant-level suppression is enabled for a tenant, SES uses the tenant's suppression list instead of the account-level suppression list.”
  17. 17
    “You can also set exception tags so that the suppression list won’t apply to campaigns or Canvases with those tags.”
  18. 18
    “Messages from campaigns or Canvases with exception tags will still reach suppression list users who are in the target segments.”
  19. 19
    “If your selected exception tags are used in a campaign or Canvas, then that suppression list won’t apply to that campaign or Canvas.”
  20. 20
    “SES account suppression lists are case-sensitive.”
  21. 21
    “When an email address is added to the suppression list, [email protected], it is stored exactly as received, preserving the original case.”
  22. 22
    “When you reach service limitations, you receive an HTTP status code 429 (too many requests).”
  23. 23
    “Reduce the number of operations per request.”
  24. 24
    “Reduce the frequency of calls.”
  25. 25
    “Avoid immediate retries because all requests accrue against your usage limits.”
  26. 26
    “To increase throttling limits, make a request to Azure Support.”