---
title: "Subscription topics"
description: "Let contacts opt out of one kind of mail without leaving your list."
url: https://www.unitpost.com/guides/topics
section: Guides
updated: 2026-07-31
---
# Subscription topics

## Subscription topics

> Let contacts opt out of one kind of mail without leaving your list.

A topic is a subscription category — "Product updates," "Promotions" — that a contact can opt out of. It's orthogonal to segments and global unsubscribe: a contact can stay on your list but silence one kind of mail.

Manage topics from the Topics page in the dashboard. Recipients control membership via the unsubscribe preference page, and campaigns simply point at a topic to scope a send.

### 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.

### Scoping a campaign

Scope a campaign to a topic and anyone opted out is skipped at send (counted as suppressed in the validation report). You can't point a campaign at an archived or missing topic.

> **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 via /api/v1/email/topics) — create, list, edit, and archive. Archiving is blocked (409) while a non-terminal campaign still targets it. A contact's per-topic state is read and set at /api/v1/contacts/{id}/topics.

## Related

- [Campaigns](https://www.unitpost.com/guides/campaigns): Send a template to a segment — now or on a schedule — with server-enforced safety gates.
- [Emails](https://www.unitpost.com/guides/emails): Every individual message sent — delivery status, opens, clicks, and bounces.
- [Activity](https://www.unitpost.com/guides/activity): A chronological audit log of account events across every resource.
