# Topics

> Subscription categories within a sending domain. Contacts choose which topics they receive; a campaign can target a single topic.

A **topic** is a category of mail within one of your sending **domains** — for example “Product updates” or “Weekly newsletter”. Topics give your contacts finer-grained control: a contact can opt out of one kind of email on a hosted **preference page** instead of unsubscribing from everything you send. A contact can belong to **multiple topics**.

> **Note:** Topics are the more deliverability-friendly alternative to all-or-nothing unsubscribes: letting a contact drop a single topic keeps them on your list for the mail they still want. They differ from [segments](https://www.mailblastr.com/docs/segments/overview) — segments are your private filters for organizing contacts, while topics are user-facing preferences your contacts manage themselves.

## Default subscription: opt-in vs opt-out

When you create a topic you choose its **default subscription** — how contacts start out relative to it:

| Default | Behavior |
| --- | --- |
| **Opt-in** | Every contact receives this topic unless they have explicitly unsubscribed from it. |
| **Opt-out** | No contact receives this topic unless they have explicitly subscribed to it. |

> **Warning:** The default subscription is fixed at creation and **cannot be changed later**. Pick it carefully — to switch a topic between opt-in and opt-out you would have to create a new topic.

## Visibility: public vs private

Each topic also has a **visibility** that controls whether it appears on the contact’s preference page:

| Visibility | Who sees it on the preference page |
| --- | --- |
| **Public** | All contacts can see and toggle the topic. |
| **Private** | Only contacts who are already opted in to the topic can see it. |

Unlike the default subscription, a topic’s **name**, **description**, and **visibility** can be edited after creation.

## How topics affect sending

- A [campaign](https://www.mailblastr.com/docs/campaigns/managing) may target a single topic via `topic_id`.
- When it does, the send skips any contact who is not subscribed to that topic (per its opt-in/opt-out default and the contact’s own choices) — on top of the audience-wide unsubscribe and the account suppression list.
- Topics never override compliance: a contact who unsubscribed from the whole audience is never emailed, regardless of topic.

> **Note:** The audience-wide **Subscribed** status is the master switch. If a contact’s global `unsubscribed` flag is `true`, they receive nothing — even from a topic they are opted in to. Only when the global status is subscribed do per-topic subscriptions decide what they receive. See [Managing unsubscribed contacts](https://www.mailblastr.com/docs/audiences/unsubscribed).

## The preference page

Each per-contact unsubscribe link resolves to a hosted preference page where the contact can:

- unsubscribe from one or more individual **topics** (and keep receiving the rest), or
- unsubscribe from **everything** you send (this flips their global `unsubscribed` flag and stops all campaigns).

The page lists every **public** topic; **private** topics appear only for contacts already opted in to them. Include the link in a campaign with the `{{{MAILBLASTR_UNSUBSCRIBE_URL}}}` merge tag.
