Email Categories, Unsubscribes & Suppressions
Every email Super Speedy Emails sends is tagged with a category. The category controls two things:
- Whether a given recipient is allowed to receive it (based on their unsubscribe status).
- Which “From” address and reply-to the message uses.
This page explains the model — what categories exist, what an unsubscribe actually blocks, and why a customer who said “no marketing” can still receive a security notice.
Table of Contents
The six categories
| Category | When you’d use it | Legal basis |
|---|---|---|
newsletter | Article digest, instant article alerts | Consent (marketing) |
list_broadcast | Custom-list blast (e.g. “Super Speedy Chat is live!”) | Consent (marketing) |
product_marketing | “20% off Scalability Pro this week”, manual renewal nudge | Soft opt-in (existing customers) |
product_support | Security update, breaking change, EOL notice | Legitimate interest |
onboarding | Day-1 / Day-2 / Day-7 post-purchase drip | Legitimate interest |
transactional | Confirmation links, unsubscribe receipts | Service / required |
The category is picked when you compose a campaign or configure an automation. It is not something the subscriber controls — that’s exactly the point: the sender chooses the category, and SSE then enforces the rules for that category against the recipient’s preferences.
What an unsubscribe actually blocks
When someone clicks “unsubscribe” we don’t delete them. We add a row to the suppression list with a specific scope:
| Scope | Set by | What it blocks |
|---|---|---|
global | Hard bounces, spam complaints, or explicit “remove me entirely” | Everything except transactional |
marketing | Standard one-click unsubscribe link | newsletter, list_broadcast, product_marketing |
product_support | “Unsubscribe from product updates” link in a support/changelog email | product_support only (NOT marketing, NOT transactional) |
category:<id> | “Stop sending me the Performance category” link | Just that category in the newsletter |
list:<id> | Leaving a specific list | Just that list’s broadcasts |
product_marketing:<id> | “No more emails about Scalability Pro” | Just that product’s marketing |
The matrix in one sentence: a marketing-unsubscribed person still receives product_support, onboarding, and transactional. A globally suppressed person receives only transactional. A hard bounce blocks everything because the address itself doesn’t work.
This is the bit that’s easy to get wrong elsewhere. Many platforms treat “unsubscribe” as a single big switch — once flipped, the customer can’t be told about a security issue with the product they paid for. SSE distinguishes between marketing preference and deliverability, which is the GDPR + CAN-SPAM + PECR posture you actually want.
Where to see suppressions
SSE Emails > Suppressions (admin) lists every suppression row, with email, scope, reason, and source columns. You can:
- Search for a specific email
- Filter by scope
- Manually add a row (e.g. someone emailed you and asked to be removed entirely)
- Remove a row (e.g. someone says they pressed unsubscribe by mistake)
⚠️ Removing a
globalsuppression row that came from a hard bounce will probably just produce another hard bounce on the next send. The address is the problem, not the customer’s preference. Only remove if you know the address has been fixed.
When you should use which category
Quick reference when composing a campaign:
- Article you just published? →
newsletter(instant alert) or trust the digest to pick it up. - Promo / discount / “buy now”? →
product_marketing. Goes to opted-in marketing audiences only. - Security fix shipped? →
product_support. Reaches everyone who owns the affected product, even unsubscribed ones. - License key delivery, password reset, “your subscription is changing”? →
transactional. Never blocked by an unsubscribe (legally cannot be). - Drip series triggered by a purchase? →
onboarding. Set on the automation, not per-step. - “Super Speedy Chat waitlist is now open” type announcement? →
list_broadcast(specifically to your coming-soon list).
If you’re not sure whether something is product_marketing or product_support: ask yourself “would this email exist if we weren’t trying to sell anything?” If yes → product_support. If no → product_marketing.
Configurable “From” address per category
The same domain might want different sender identities per category:
- Newsletter from
articles@yoursite.com— chatty, personal - Product support from
support@yoursite.com— authoritative - Transactional from
noreply@yoursite.com— clearly automated
Configure these in SSE Emails > Settings > Sending. Empty fields fall back to the global From: configured under Settings > General.
This isolates reputation: a newsletter complaint doesn’t tarnish the deliverability of your support emails because recipients see different addresses.
Audit trail
Every send writes an sse_email_log row that includes:
- The category used
- The legal_basis (consent / legitimate_interest / service)
- The subscriber’s then-current marketing preference + suppression state
So if a regulator ever asks “why was this person sent this email?”, the answer is on file. See Tracking & Reporting for what the log looks like.
- Sending Campaigns — picking a category when composing
- Email Migration Guide — how unsubscribes from MailPoet/MailerLite were imported as suppressions
- Tracking & Reporting — viewing per-send log rows