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.
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. |
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 may target a single topic via
topic_id. - So may a single send: `POST /emails` accepts
topic_idtoo. - When either does, the send skips any recipient who is not subscribed to that topic (per its opt-in/opt-out default and the recipient’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.
A topic send always carries an opt-out
Setting topic_id marks a send as subscription mail, so MailBlastr gives every recipient a way to leave — the same two mechanisms a campaign gets, added automatically:
- an unsubscribe footer in the HTML body (skipped if your body already carries a MailBlastr unsubscribe link, e.g. via the
{{{MAILBLASTR_UNSUBSCRIBE_URL}}}merge tag), and - an RFC 8058 `List-Unsubscribe` header with `List-Unsubscribe-Post` for native one-click unsubscribe.
The link is minted per recipient, so each to/cc/bcc address receives its own copy with only its own opt-out link. The recipient does not need to be a contact — a topic opt-out can be recorded against a bare email address, which is what makes topic_id safe to use for mail sent to addresses that are not on your list.
topic_id skip it. Conversely, a send without a topic_id is transactional and carries no unsubscribe footer or header at all: an unsubscribe writes a suppression that blocks every later send to the address, so MailBlastr never puts one on a receipt or a password reset. See Unsubscribe links.Both kinds of opt-out are listed together in the dashboard under Audiences → Topics → View opt-outs: contacts who turned the topic off on their preference page, and email addresses that used the unsubscribe link on a topic send.
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.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
unsubscribedflag 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.
The unsubscribe link on a topic send is different: it names the topic being left and offers only that choice — no “unsubscribe from everything” box — because a topic link is not consent to stop the sender’s account and transactional mail.