freelancing, agentic — that a reader can decline on its
own. Declining a topic does not unsubscribe anybody: the contact keeps receiving everything else.
Without topics, the only exit is total. A reader who came for one subject and receives three
campaigns about another has a single button, and that button costs you the whole contact.
How you use one
Topics belong to the organization, not to a list: an editorial line crosses lists. You create them in Settings → Topics, and the name is unique within the organization. A campaign carries zero or one topic. So does a sequence. There is no multi-topic: with several, neither you nor the reader could tell what a refusal excludes. For the reader to be able to decline, the email has to offer the link. Put{{topicOptOutUrl}}
where you want it in the template — a second link next to the unsubscribe one:
html
<a href="{{unsubscribeUrl}}">Unsubscribe</a> ·
<a href="{{topicOptOutUrl}}">No more emails about this topic</a>Nothing carries the shortcode for you. Gallery templates and default content deliberately
leave
{{topicOptOutUrl}} out — a shared template that carried it would break every campaign sent
without a topic. You add it to your own template the day you start using topics.What it excludes, and when
A refusal is checked at send time, not when you pick the audience. A contact who declined the topic is dropped from the recipients, and in a sequence the contact leaves the journey: the remaining steps never go out. Which means the count shown before sending can be higher than the number of emails actually sent. That gap is the refusals.What refuses, and why
Two situations, two different answers — you get a warning when you lose something, an error when the recipient would receive something broken.| Situation | What happens |
|---|---|
Campaign has a topic, content has no {{topicOptOutUrl}} | Warning. The email is valid and goes out with its legal unsubscribe link. Only the topic exit is missing. |
Content has {{topicOptOutUrl}}, campaign has no topic | Sending is refused. The variable would render empty and the recipient would get a dead link. Pick a topic, or remove the shortcode. |
A sequence step carries {{topicOptOutUrl}} and the sequence has no topic | Publishing is refused, naming the steps at fault. |
| Removing the topic from a published sequence whose steps carry the shortcode | Refused. Open a draft, remove the shortcode, publish — or keep a topic. |
What it is not
A topic is not a tag. You put tags on contacts — positive segmentation, "who is this person". A topic refusal is put by the recipient — "what this person no longer wants". Two authorities on one table would end badly: an import that rewrites tags would erase refusals. A topic is not targeting either. A tag or a segment says who you send to; the topic is an exclusion applied on top of that. And it never replaces the legal unsubscribe. TheList-Unsubscribe headers required by Gmail and
Yahoo keep pointing at the one-click route that unsubscribes completely. A topic refusal is an
extra choice, never a substitute.