> For the complete documentation index, see [llms.txt](https://help.gleantap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.gleantap.com/audience/understanding-suppression.md).

# Understanding Suppression

Suppression is how Gleantap keeps your sender reputation safe. When a contact is suppressed, campaigns and flows skip them — the send is blocked even if the audience segment contains them.

This page covers:

* **What triggers suppression** (there are more paths in than most people realize)
* **How email suppression is separate from SMS suppression**
* **How to see why a specific contact is suppressed**
* **How to unsuppress someone — and when you shouldn't**
* **Why an "opted-in" contact can still show as suppressed**

***

## What triggers suppression

There are seven distinct suppression states. A contact can be in more than one at a time.

### Email suppression

| State              | What caused it                                                                                                                          |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Unsubscribed**   | The contact clicked an unsubscribe link in one of your emails, or a teammate manually opted them out                                    |
| **Bounced**        | An email you sent hard-bounced — the address doesn't accept mail (mailbox full, invalid recipient, blocked domain)                      |
| **Spam complaint** | The contact marked one of your emails as spam in their inbox                                                                            |
| **Invalid**        | The address was flagged as invalid by an email-validation check (bad syntax, or verification service marked it non-existent)            |
| **Inactive**       | The address has gone a long time with no engagement (opens/clicks). This category exists to protect deliverability against dead inboxes |
| **Topic opt-out**  | The contact opted out of a specific email topic (e.g., "Promotions") but is still opted in to others                                    |

### SMS suppression

| State             | What caused it                                                                                         |
| ----------------- | ------------------------------------------------------------------------------------------------------ |
| **Unsubscribed**  | The contact texted STOP (or a similar keyword), or a teammate manually opted them out                  |
| **Undeliverable** | The number is invalid or repeatedly failed to deliver (disconnected line, wrong number, carrier block) |

**Email and SMS suppression are completely independent.** A contact can be email-suppressed but SMS-active (their phone still works, their email hard-bounced), or the reverse. Suppressing one does not touch the other.

***

## How to see if a contact is suppressed

There are three places to check.

### 1. Suppression Report

Best for auditing at scale — see everyone who's suppressed and why.

1. Click **Audience** on the left menu, then **Suppression** from the drop-down.
2. Select the category you want to view — email unsubscribes, email bounces, email complaints, email inactive, email topic opt-outs, SMS unsubscribes, or SMS undeliverable.

<figure><img src="https://312952119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKpjLzPT7iDAWD0tQXo%2Fuploads%2FAJLtpeVZFg15Tm13LjpC%2FScreenshot%202024-02-05%20at%204.48.32%20PM.png?alt=media&#x26;token=1b6e9247-938b-4382-aea5-e91ed70bdd71" alt=""><figcaption></figcaption></figure>

> **The totals in the Suppression Report are cumulative across categories.** A single contact can appear in more than one — e.g., someone who bounced and later unsubscribed shows up in both. If you're looking at a number that seems high, remember it's the sum across every suppression path.

### 2. Contact profile

Best for investigating one person.

1. Open the contact from **Audience → Contacts**, or use the top search bar.
2. If suppressed, you'll see **Suppressed** in red text on the profile.

<figure><img src="https://312952119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKpjLzPT7iDAWD0tQXo%2Fuploads%2FvKUIrv8hIgKu6HsSd8Kv%2FScreenshot%202024-02-05%20at%204.50.59%20PM.png?alt=media&#x26;token=99c04edb-8d23-4066-9ccf-bb45ee8fb6b5" alt=""><figcaption></figcaption></figure>

If the cause is an unsubscribe (email or SMS), you'll see that noted to the right.

<figure><img src="https://312952119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKpjLzPT7iDAWD0tQXo%2Fuploads%2FNeyafjc8BGBzg02RtjJE%2FScreenshot%202024-02-05%20at%204.51.25%20PM.png?alt=media&#x26;token=a76a0782-032a-44b7-8c83-1dda461d237f" alt=""><figcaption></figcaption></figure>

### 3. Inbox

If you're already in the conversation, the Inbox flags it inline.

1. Open **Inbox** from the sidebar.
2. Suppressed contacts show **Suppressed** in red next to their name.
3. The compose box will block you from sending email or SMS to a contact who has opted out of that channel.

<figure><img src="https://312952119-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaFKpjLzPT7iDAWD0tQXo%2Fuploads%2FWkmXFwqqRHFN8ZZNXb5y%2FScreenshot%202024-02-05%20at%204.52.20%20PM.png?alt=media&#x26;token=852b840d-dee3-4138-a84a-0ca0b4dff3b8" alt=""><figcaption></figcaption></figure>

***

## Why an "opted-in" contact can still show as suppressed

This is the #1 source of confusion. **Opt-in status and suppression are separate.** A contact can be opted in and still be suppressed if any of the following happened:

1. **They bounced on a previous campaign.** A hard bounce sets the invalid-email flag. Their opt-in preference didn't change — but the email address is unusable, so sends are blocked.
2. **An email-validation run flagged their address as invalid.** If you ran a list validation and their email came back non-existent or high-risk, suppression is applied even though they never unsubscribed.
3. **They marked a past email as spam.** This is treated as a stronger signal than unsubscribe — one complaint suppresses them across your account.
4. **They unsubscribed from a specific campaign or topic.** Topic-level opt-out is honored even if their account-wide opt-in is still true.
5. **Their number was flagged undeliverable** (SMS). A repeatedly failing number suppresses SMS sends regardless of opt-in state.
6. **They've gone inactive.** If you send to the same contact for months with no opens or clicks, Gleantap can mark them inactive to protect sender reputation.

**The rule of thumb:** opt-in tells you *whether they said yes to hearing from you*. Suppression tells you *whether it's safe to send*. Both must be clear for a send to happen.

***

## How campaigns and flows respect suppression

When a campaign or flow attempts to send:

* **Email path** — the send is blocked if the contact has any email suppression flag (unsubscribed, bounced, complaint, invalid, or inactive).
* **SMS path** — the send is blocked if the contact is opted out of SMS or their number is flagged undeliverable.

Because email and SMS are checked independently, a multi-channel flow may still send SMS to a contact whose email is suppressed (or vice versa).

**Suppression is applied at send time, not at segment-build time.** A suppressed contact still shows up in segment counts and audience previews. That's not a bug — segments describe who *matches your criteria*, not who *will actually be reached*. Use the audience preview when creating a campaign to see the deliverable count (segment membership minus suppression).

See [Filter Options → Suppressed contacts are showing up in my segment](/audience/creating-segments/filter-options.md#suppressed-contacts-are-showing-up-in-my-segment) for the segment-side view.

***

## Can I un-suppress someone?

Yes, one contact at a time. Open the contact's profile and click the red **Suppressed** link. That contact will start receiving sends again on their next eligible campaign or flow.

**Think twice before you do this.** Un-suppressing someone who was flagged for a real reason has consequences:

* **Bounced address** — the next send will bounce again. Repeated bounces damage your sender reputation and can get your domain flagged by Gmail/Outlook.
* **Spam complaint** — the contact told their mail provider your email is unwanted. Sending again risks a repeat complaint, which is much worse for reputation than a bounce.
* **Unsubscribed** — the contact explicitly said no. Sending again may be illegal (CAN-SPAM, GDPR, CASL depending on jurisdiction), independent of the deliverability impact.
* **Undeliverable SMS** — the carrier already told us the number doesn't work. Retrying wastes credits and doesn't reach anyone.

Only un-suppress if you have a specific reason (e.g., the contact told you directly they want back on the list, or you've confirmed a data-entry mistake caused the flag). If you need to un-suppress a large batch — for example, after fixing a bad email-validation run — email <support@gleantap.com>. We don't offer bulk un-suppress in the UI on purpose.

***

## Troubleshooting

### "My segment says 500 people but my campaign preview says 340"

Suppression is the difference. 160 of your segment members are suppressed on that channel. See the segment count (raw match) vs the campaign audience count (match minus suppression). To see who was excluded, cross-check the Suppression Report against your segment.

### "This contact just opted in via a form but they're still suppressed"

Opt-in doesn't automatically clear prior suppression flags. If they bounced or were flagged invalid before, the flag persists. Open their profile and click the red **Suppressed** link to un-suppress manually — but confirm the underlying issue (e.g., a corrected email address) is resolved first.

### "The Suppression Report says 20,000 suppressed and that doesn't seem right"

The category totals are cumulative — a contact can be in more than one category. Check each category individually to see the breakdown. It's also worth checking whether a recent import or validation run flagged a batch of addresses; those show up on the report the same as any other suppression.

### "Email is suppressed but I need to text them — will SMS still work?"

Yes. Email and SMS suppression are separate. As long as SMS opt-in is `Yes` and the number isn't flagged undeliverable, an SMS campaign or flow will reach them.

### "Can I stop the auto-inactive suppression?"

Currently no — inactive-based suppression is applied automatically to protect deliverability. The best mitigation is a re-engagement flow that targets long-quiet contacts *before* they cross the inactivity threshold.

***

## Related pages

* [Adding Contacts](/audience/adding-contacts.md)
* [Filter Options](/audience/creating-segments/filter-options.md)
* [Uploading a CSV](/audience/uploading-a-csv.md)
* [Marketing Best Practices → Best Practices for Email](/marketing-best-practices/best-practices-for-email.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.gleantap.com/audience/understanding-suppression.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
