Subscription topics
Let contacts opt out of one kind of mail without leaving your list.
A topic is a named subscription category — "Product updates," "Promotions," "Weekly digest" — that a contact can opt out of on its own. It's orthogonal to segments and to the global unsubscribe: a contact can stay on your list, stay in every segment they're in, and still silence just one kind of mail. Where a segment answers "who do I send to," a topic answers "what kind of mail is this" — and the recipient gets the final say on each kind.
Manage topics from the Topics page in the sidebar — create one, set its default, edit it, or archive it, and see its live subscriber count. Recipients control their own membership via the unsubscribe preference page, and campaigns simply point at a topic to scope a send. Everything on the page is mirrored by the v1 API.
Opt-in vs. opt-out
Each topic has one decision baked in — its default — which sets what "no explicit preference" means for a contact who has never touched it:
- Opt-out (the default) — contacts are auto-enrolled and receive the topic unless they opt out. Use it for newsletters and product updates.
- Opt-in — contacts are silent until they explicitly subscribe. Use it for beta invites or sensitive announcements you don't want going out by default.
An explicit choice always wins
Once a contact subscribes or unsubscribes from a topic, that choice overrides the default in both directions. The default only governs contacts who've never recorded a preference — so flipping a topic's default never silently overwrites someone's stated wishes.
Scoping a campaign
Scope a campaign to a topic and, at send, anyone opted out of it is skipped — counted as suppressed in the pre-send validation report — on top of the usual empty-segment, unverified-domain, and global-unsubscribe gates. You can't point a campaign at an archived or missing topic: the editor and API reject it, and validate/send surface a clear TOPIC_ARCHIVED or TOPIC_MISSING reason rather than failing silently.
One-click unsubscribe respects the topic
Mail for a topic-scoped campaign carries a topic-aware unsubscribe link and an RFC 8058 List-Unsubscribe-Post header, so a recipient's one-click opt-out silences just that topic — not all of your marketing. They keep getting everything else they didn't object to.
Managing topics & preferences
Manage topics on the Topics page (or under /v1/topics) — create, list, edit, and archive there. Names are unique per workspace, and deleting a topic archives it (soft): it leaves the campaign picker and can't be newly targeted, but campaigns that already used it keep their history, and it's pruned for good ~30 days later once nothing in flight still references it. Archiving is blocked (409) while a non-terminal campaign still targets it — and bulk-archiving from the list previews exactly which topics are blocked before anything happens. A contact's per-topic state is read and set at /v1/contacts/{id}/topics — the same toggles a recipient sees on their preference page. The full request/response shapes are in the Subscription topics API reference.