Bounces, Complaints & Deliverability

Dave Hilditch

When an email can’t be delivered, or a recipient marks it as spam, Super Speedy Emails records that and — where appropriate — automatically stops sending to that address. This protects your sender reputation and keeps you compliant. This page explains what bounces and complaints are, how the plugin reacts to each, and how to read and manage the resulting suppression list.

Automatic bounce and complaint handling requires a connected email provider (such as Mailgun) so the provider can report events back. If you’re sending through plain wp_mail() with no provider, the plugin never hears what happened to a message, so it can’t auto-suppress — see Choosing & Configuring an Email Provider.

The two things that go wrong

A bounce is the mail server saying “I couldn’t deliver this.” There are two kinds, and the difference matters:

  • A hard bounce is permanent — the address doesn’t exist, the domain is invalid, the mailbox is gone. There’s no point ever trying again.
  • A soft bounce is temporary — the mailbox is full, the server is briefly down, the message was too big. It might succeed later.

A complaint is the recipient clicking “mark as spam” in their email client. The provider reports this back as a complaint (sometimes called a “spam report”). A complaint is a strong signal: this person doesn’t want your email, and continuing to send hurts your reputation with every mailbox provider.

How the plugin reacts

When your provider reports one of these events, Super Speedy Emails records it against the message in the email log and, for the serious ones, adds the address to your suppression list — a permanent “do not send” record that the sending pipeline checks before every send.

EventWhat the plugin doesScope suppressedReason recorded
Hard bounce (permanent failure)Stops all future sending to the addressglobalbounce_hard
Complaint (marked as spam)Stops marketing-class email to the addressmarketingcomplaint
Soft bounce (temporary)Recorded on the message; not suppressed on a single occurrence(bounce_soft_repeated if it keeps happening)

A few things worth understanding from that table:

  • Hard bounces suppress globally. A non-existent address can’t receive anything, so it’s removed from all sending, not just marketing.
  • Complaints suppress marketing, not everything. Someone who flags a newsletter as spam shouldn’t keep getting marketing — but genuinely essential transactional mail (a receipt, a password reset) is a different matter, so a complaint maps to the marketing scope rather than global.
  • A single soft bounce doesn’t suppress anyone. Temporary problems clear up; the plugin doesn’t punish an address for one full mailbox. Only repeated soft bounces are treated as a real delivery problem.

This all happens automatically — you don’t have to watch for bounces or clean your list by hand. To understand how the categories and suppression scopes fit together, see Email Categories & Unsubscribes.

Reading the suppression list

Go to Super Speedy Emails → Suppressions to see every suppressed address. Each row shows:

  • The email address.
  • The scope it’s suppressed at (global, marketing, a specific list or category, or product updates).
  • The reason it was added (hard bounce, complaint, manual, an unsubscribe, or imported during a migration).

You can search the list and filter by scope. This is your single source of truth for “who are we not emailing, and why.”

The suppression scopes

ScopeMeaning
globalDo not send anything to this address.
marketingNo marketing-class email (newsletter, broadcasts, product marketing).
category:<id>Unsubscribed from one newsletter category.
list:<id>Unsubscribed from one mailing list.
product_marketing:<id>No marketing for one product.
product_supportNo product-update / changelog emails.

Bounces and complaints produce the global and marketing entries automatically; the rest generally come from people unsubscribing (see Unsubscribes & the Preference Centre) or from a migration.

Adding or removing a suppression manually

The Suppressions page lets you add an address by hand — useful if a customer emails you asking to be removed, or you want to pre-block a known bad address. Enter the email and the scope (use global to block everything) and save.

You can also remove a suppression — for example, if an address hard-bounced because of a temporary DNS problem that’s since been fixed, or a customer asks to be re-added after previously opting out. Remove with care: re-adding an address that genuinely complained or hard-bounced will hurt your deliverability again.

Keeping deliverability healthy

Bounce and complaint handling is the automatic half of deliverability. The rest is good habits:

  • Use a connected provider for real sending. Tracking and auto-suppression only work when a provider reports events back. See Choosing & Configuring an Email Provider.
  • Never email a suppressed address. The plugin enforces this for you — don’t work around it by re-adding addresses that bounced or complained.
  • Turn on double opt-in so only people who confirmed their address end up on your lists — this dramatically reduces hard bounces and complaints. See Double Opt-in.
  • Keep a working unsubscribe in every email. Giving people an easy way out means fewer of them reach for “mark as spam,” which is far more damaging than an unsubscribe. See Unsubscribes & the Preference Centre.
  • Send genuinely critical mail as transactional, so a marketing complaint can’t suppress a receipt or security notice.

Related articles

Leave a Reply

Your email address will not be published. Required fields are marked *

×
1/1