> ## Documentation Index
> Fetch the complete documentation index at: https://docs.migma.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skipped Recipients

> See exactly which contacts were filtered out before a campaign sent — and why.

## Overview

Before a campaign sends, its **Recipients** tab shows **Upcoming Recipients**: a preview of eligible contacts in the selected Segment or List. After sending starts, the tab switches to **Sent** (who got the email) and **Skipped** (who was filtered out before send). The Skipped view keeps bounced addresses, unsubscribes, suppressions, and risky inboxes from disappearing silently.

After sending starts, open **Campaigns → (campaign) → Recipients → Skipped** to audit what was filtered, why, and which contacts were affected.

***

## Skip Reasons

Each skipped recipient is tagged with a single reason explaining why they were excluded:

| Reason             | What it means                                                                                                                  |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| **Bounced**        | The address has previously bounced and is on your suppression list.                                                            |
| **Complained**     | The recipient marked an earlier email as spam.                                                                                 |
| **Unsubscribed**   | The recipient opted out via the unsubscribe link or preference center.                                                         |
| **Non-subscribed** | The contact's status isn't `subscribed` — e.g. you haven't confirmed them, or they were imported as inactive.                  |
| **Invalid**        | The address failed validation (malformed, undeliverable domain, mailbox not found).                                            |
| **Risky**          | The address was flagged as disposable, role-based, or otherwise high-risk, and you have **Exclude risky addresses** turned on. |

Each row also shows an underlying **detail** when one applies — for bounces, the SMTP bounce subtype; for complaints, the complaint type; for risky, the specific flag (e.g. *disposable*, *role*).

***

## What to Do With This View

<CardGroup cols={2}>
  <Card title="Audit before retrying" icon="rotate-left">
    Before you resend or duplicate a campaign, glance at the Skipped count. A few percent is normal; double-digit percentages usually mean a list-quality problem worth fixing first.
  </Card>

  <Card title="Spot a stale or scraped list" icon="triangle-exclamation">
    A high *Invalid* or *Bounced* skip rate on a fresh campaign usually means the audience hasn't been validated recently — run a [contact re-validation](/audience/deliverability) sweep before your next send.
  </Card>

  <Card title="Investigate a single contact" icon="user-magnifying-glass">
    Click any row in the Skipped view to jump straight to the contact's profile. From there you can see their full status, suppression reason, and recent activity.
  </Card>

  <Card title="Confirm a setting change" icon="circle-check">
    After turning on **Exclude risky addresses**, the next campaign's Skipped view will list every risky contact filtered — proof the setting is working.
  </Card>
</CardGroup>

<Note>
  Skipped contacts are filtered at send time, before envelopes are created. They are not the same as post-send bounces.
</Note>

***

## When the Skipped Count Looks High

A few rules of thumb based on what we see across accounts:

* **Skipped > 5% of audience** — your list is probably stale. Imported once and never re-checked? Run [Contact re-validation](/audience/deliverability) and clean before the next send.
* **Skipped is mostly *Bounced*** — this is a good thing in isolation; suppression is doing its job. Just confirm your import process isn't re-adding the same bad addresses each time.
* **Skipped is mostly *Non-subscribed*** — somebody imported contacts as "non-subscribed" (correct for cold leads). They won't ever receive marketing — move them to a different funnel.
* **Skipped is mostly *Risky*** — the [Exclude risky addresses](/audience/deliverability#exclude-risky-addresses) setting is working as intended. Worth double-checking that the addresses really are disposable / role-based and not legitimate contacts.

***

## Related

<CardGroup cols={2}>
  <Card title="Suppression List" icon="ban" href="/sending-domains/suppression-list">
    Review and manage every address that's currently blocked.
  </Card>

  <Card title="Deliverability Settings" icon="shield-check" href="/audience/deliverability">
    Toggle risky-address filtering and contact re-validation.
  </Card>
</CardGroup>
