PlunkPlunk
Guides

List Hygiene

Understand and maintain a healthy email list

Plunk automatically monitors the bounce and complaint rates of your emails to help maintain a health sender reputation. High bounce or complaint rates can negatively impact your deliverability and may lead to your account being suspended.

Bounce Management

A bounce occurs when an email cannot be delivered to the recipient's inbox. Plunk records every bounce as an email.bounce event on the contact, and automatically unsubscribes the contact only on permanent (hard) bounces. Transient (soft) bounces don't change subscription state — they're typically retried by the upstream mail server.

Types of Bounces

TypeDescriptionAuto-unsubscribes?
Permanent (hard)Permanent delivery failure — invalid address, blocked domain, recipient rejected.Yes
Transient (soft)Temporary delivery failure — mailbox full, server unavailable, greylisted.No
UndeterminedThe upstream provider couldn't classify the bounce.No

Both bounce types fire an email.bounce event you can branch on inside workflows or webhooks (use the event payload's bounceType field to distinguish them).

Preventing bounces

  • Verify email addresses at signup before adding them to your list.
  • Regularly clean your email list — segment unengaged contacts and re-confirm or remove them.
  • Build a confirmation flow with a workflow that sends a verification email and only marks the contact as confirmed when they click through.

Complaint Management

A complaint occurs when a recipient marks your email as spam in their inbox provider. When Plunk receives that complaint, the contact is always automatically unsubscribed and Plunk fires an email.complaint event on the contact.

Complaints are taken more seriously than bounces by mail providers — even a small complaint rate can hurt your sender reputation and deliverability.

Preventing complaints

  • Ensure your emails are relevant and valuable to your audience.
  • Include a clear, working unsubscribe link in every marketing email — Plunk injects this automatically for MARKETING template/campaign types.
  • Monitor your email frequency to avoid overwhelming your contacts.
  • Make sure recipients clearly opted in. Avoid scraped, purchased, or stale lists.

Plain text alternative

Every email Plunk sends carries two versions of your content: the HTML you wrote, and a plain text version generated from it. You don't need to write or send the plain text yourself — Plunk derives it from your HTML on every send, for transactional emails, campaigns, and test sends alike.

This matters for deliverability. An HTML-only message is a long-standing spam signal, because legitimate mail has historically offered a text fallback and bulk senders often didn't. SpamAssassin, for example, scores HTML-only mail on MIME_HTML_ONLY and MPART_ALT_DIFF, and those points add to whatever else a message picks up. A clean message can land in spam on the accumulation alone.

The generated text keeps your content readable rather than stripping it to a blob:

  • Links keep both their text and their destination, as View invoice [https://example.com/invoice].
  • Headings, paragraphs, and lists stay on separate lines.
  • Layout tables are flattened, so they read as prose instead of ASCII art.
  • Images and tracking pixels are dropped.

That faithfulness is the point. A text version that disagreed with the HTML would trip the same filters it's meant to satisfy, so the two parts say the same thing.

You can see it for yourself in most mail clients — "Show original" in Gmail, or the plain text view in Outlook. If an email has no readable text at all (a single image, say), Plunk omits the text part rather than attaching an empty one.

Testing bounces and complaints safely

To rehearse your bounce and complaint handling, send to the Amazon SES mailbox simulator instead of to a real address. Mail sent to @simulator.amazonses.com never leaves AWS, and the simulator replies with the outcome the address asks for:

AddressResult
bounce@simulator.amazonses.comPermanent (hard) bounce
complaint@simulator.amazonses.comComplaint
success@simulator.amazonses.comSuccessful delivery
ooto@simulator.amazonses.comOut-of-office auto-reply
suppressionlist@simulator.amazonses.comPermanent bounce, as if the address were on the suppression list

These sends are fully visible in Plunk: the event fires, your workflows and webhooks run, and the bounce shows on the contact's activity feed. What they do not do is count toward your bounce and complaint rates, so they can never trigger a warning or suspend your project. AWS treats them the same way, excluding them from its own rates, quotas and reputation metrics.

Offer a pause, not just an exit

The most expensive complaint is the one from someone who wanted less email, not none. If unsubscribing is the only option on the page, a recipient who is merely overwhelmed either leaves permanently or — worse for your reputation — hits the spam button instead.

Plunk's hosted unsubscribe and preferences pages offer snoozing alongside unsubscribing: the recipient stops receiving email for 2 weeks, 1 month, 6 months, or a year, and is resubscribed automatically when the window ends. It is a genuine opt-out for the whole period, so it protects the recipient's inbox and your complaint rate at the same time, and it keeps a contact who would otherwise be gone for good.

Snoozes count toward a campaign's unsubscribe rate, so this does not hide a campaign that is burning through goodwill — it just means fewer of those opt-outs are permanent.

See Unsubscribe & preferences pages.