Unsubscribe Settings
Having an unsubscribe option in your emails is a legal requirement in many jurisdictions (CAN-SPAM, GDPR) and is required by most email service providers for deliverability.
Broadcast provides flexible unsubscribe settings at both the channel and email server levels.
Unsubscribe Page
When a subscriber clicks an unsubscribe link, they land on a page hosted by your Broadcast instance. Navigate to Settings > Unsubscribe Page to set its language, its wording, legal links, and what happens after someone unsubscribes. The editor fills the window: settings on the left, and on the right a preview that updates as you type, before you save. Switch the preview between pages with the tabs above it, or open a page’s section to jump to it, and use Mobile to see the page at phone width. Click Save in the top bar to publish your changes.

Note
Requires Broadcast 2.36.0 or later. Earlier versions show the page in English only, and the confirmation setting is under Settings > General Settings.
Languages
Choose the channel’s Default language in the top bar. Subscribers see the pages in this language, and it also sets the language of the channel’s default email footer. If you already edited the email footer, changing the language leaves your footer as it is.
To offer more languages, use + Add language above the page text. Each language gets a tab. Remove a language with the × on its tab: subscribers stop seeing it, but its text is kept in case you add it back.

Broadcast ships these languages, so a channel that adds one gets complete pages without writing any text:
English, Deutsch, Français, Español, Italiano, Português (Brasil), Nederlands, Polski, Svenska, Dansk, Norsk (bokmål), Suomi and 日本語.
The same languages cover the double opt-in confirmation page and the default email footer.
Turn on Match the subscriber’s browser language to show the page in the language the subscriber’s browser prefers, when it is one of the channel’s languages. Other browsers see the default language.
Appearance
Turn on Match the channel brand kit to give the unsubscribe pages your logo, colours, font, corner radius and social links from Settings > Brand Kit. It is the same switch as the one on the Brand Kit page, so you only set it once.
You can also give the unsubscribe pages their own colours: page background, card background, text, secondary text, links and buttons. Each colour you leave blank follows the brand kit when it is on, or Broadcast’s standard look when it is off, and the field shows which colour that is. A colour you set always takes priority over the kit.
- Unsubscribe button: red by default, so leaving is clearly marked, or your accent colour.
- Show logo and Show social links: these come from the brand kit, so they show only when the page matches it. Switch them off to keep the kit’s colours without the logo or profiles.

The double opt-in confirmation page uses the brand kit too, including its backgrounds, colours and radius, when the kit is switched on for it in Settings > Brand Kit. It can also have colours of its own, set in its page editor: see Confirmation Pages.
Require confirmation
Some email security tools open every link in an email to scan it. If opening the unsubscribe link unsubscribed people straight away, those scanners would unsubscribe people who never clicked.
With Require confirmation on, the link shows a confirmation page first. It is on for channels created with Broadcast 2.38.0 or later; channels created earlier keep the setting they had, which was off unless you changed it. The subscriber clicks Yes, unsubscribe to finish, or Stay subscribed to keep receiving emails.
The one-click Unsubscribe button that Gmail and Yahoo show at the top of an email always unsubscribes straight away, with or without confirmation. It is the subscriber’s explicit request, and scanners do not use it.
Warning
Upgrade to 2.36.0 or later if you send to Gmail or Yahoo. In earlier versions, Broadcast rejected the request that button sends, so subscribers who pressed it stayed on your list. Gmail and Yahoo expect that button to work.
On an email sent to a topic
When you send to one of your Subscriber Topics, this setting decides what the unsubscribe link and the one-click button do:
- Turn off only that topic (the default): the subscriber stays subscribed and keeps their other topics. The page names the topic and offers Unsubscribe from everything and a link to the preference page.
- Unsubscribe from everything: the same as an email with no topic.
Emails with no topic, sequence emails and transactional emails always unsubscribe from everything.
2.49+
After a topic unsubscribe, the page also has a Resubscribe button. It turns that topic back on and changes nothing else, then shows the topic resubscribed page, which names the topic and offers to unsubscribe from it again. Edit the button text in the Resubscribe button field of the topic unsubscribed page.
Page text
Each page has its own heading, message and button labels:
| Page | When subscribers see it |
|---|---|
| Confirm page | First, when confirmation is required |
| Unsubscribed page | After unsubscribing, unless you redirect |
| Stay subscribed page | After choosing Stay subscribed |
| Resubscribed page | After clicking Resubscribe |
| Topic confirm page | Instead of the confirm page, on an email sent to a topic |
| Topic unsubscribed page | After turning one topic off |
| Preference page | The page {{ preferences_url }} opens, where subscribers choose their topics |
2.49+
The Topic resubscribed page shows after Resubscribe on the topic unsubscribed page. Its default text names the topic, for example “You’re subscribed to Webinars again”, and its Unsubscribe button turns the topic off again.
Pick a language tab to edit that language’s text; save once for every language. A blank field uses the built-in text for that language, which the field shows as its placeholder. In any language other than the default, each field shows the default language’s text underneath, so you can translate from it. Each tab shows how many fields you have customised in it, and the preview follows the language you are editing.
Text is plain, and line breaks are kept. You can use these variables:
| Variable | Replaced with |
|---|---|
{{ channel_name }} |
The channel’s name |
{{ email }} |
The subscriber’s email address |
{{ first_name }} |
The subscriber’s first name, or nothing if it is not known |
{{ topic_name }} |
On the two topic pages: the topic’s name |
The built-in text already names the channel and the email address, so a subscriber on several lists can see which one they left.
If a link is broken or incomplete, Broadcast cannot tell which channel it came from, so that page always shows the built-in text, in the browser’s language when Broadcast ships it.
Legal links
Add a Privacy policy URL and a Legal notice (Impressum) URL to show those links at the bottom of every unsubscribe page. From Broadcast 2.46.0 they also show at the bottom of every double opt-in Confirmation Pages, and you can set them through the Channel Settings API. Leave them blank to show nothing.
After unsubscribing
By default, subscribers see the unsubscribed page, with a button to resubscribe. To send them to a page on your own site instead, enter a Redirect URL starting with https://. Broadcast records the unsubscribe first, then redirects.
A topic unsubscribe never redirects. The person is still subscribed, and the topic page keeps Unsubscribe from everything one click away. Clicking that button is a full unsubscribe, so it follows the redirect.
A second click on an unsubscribe link changes nothing. The same is true for a topic unsubscribe link from someone who already unsubscribed from everything. The subscriber sees the unsubscribed page with Resubscribe (or goes to your Redirect URL, if you set one), and Broadcast adds no history entry and sends no webhook.
2.49+
With Require confirmation on, a subscriber who is already unsubscribed does not see the confirm page again. The link goes straight to the unsubscribed page, or to your Redirect URL if you set one. On an email sent to a topic, the same is true when the topic is already off: the link goes straight to the topic unsubscribed page.
Email Footer
The email footer is added to the bottom of every broadcast and sequence email. It typically contains your unsubscribe link and physical address (required for CAN-SPAM/GDPR compliance).
Navigate to Settings → Sender Details → Email Footer to configure your email footer.

The footer editor provides: - Enable footer toggle: Turn the footer on or off - HTML Source: Edit the footer HTML directly - Insert Unsubscribe Link: Button to insert the unsubscribe URL variable - Live Preview: See how your footer will appear
Using the Unsubscribe URL
To include an unsubscribe link in your footer, use the {{ unsubscribe_url }} variable:
<a href="{{ unsubscribe_url }}">Unsubscribe from our emails</a>
Broadcast automatically generates a unique, secure unsubscribe URL for each subscriber. The URL is cryptographically signed to prevent tampering.
Server-Specific Unsubscribe Settings
Each email server can have its own unsubscribe settings. Navigate to Settings > Email Servers and select an email server to configure:
Include Unsubscribe Header
When enabled (default), Broadcast adds RFC-standard email headers:
- List-Unsubscribe: Contains the unsubscribe URL
- List-Unsubscribe-Post: Enables one-click unsubscribe
These headers are required by Gmail and Yahoo for bulk senders. Disabling them may affect deliverability.
Include Unsubscribe Link
When enabled (default), the channel’s email footer is included in emails sent through this server. Disable only for servers dedicated to transactional emails where unsubscribe links aren’t appropriate.
Custom Unsubscribe Link
Some email providers (like Postmark) have their own unsubscribe link format. If you don’t use their format, they may inject duplicate links into your emails.
To use a provider-specific format:
- Enable Customize unsubscribe link for the email server
- Enter your custom HTML in the text area
Example for Postmark:
<a href="{{{ pm:unsubscribe }}}">Unsubscribe from our emails</a>
Postmark will recognize this format and use it instead of appending its own link.
Broadcast also accepts near-miss forms of the tag, such as {{pm:unsubscribe}}, {{ pm:unsubscribe }} or {{{pm_unsubscribe}}}, and sends them to Postmark as {{{pm:unsubscribe}}}. If the email goes out through a server that is not Postmark (for example a failover server), the tag becomes Broadcast’s own unsubscribe link, so the link still works. When the email’s unsubscribe link is switched off, the link with the tag is removed.
Email Provider Injected Links
Some email providers automatically inject their own unsubscribe links. When this happens:
- The provider’s unsubscribe page is used instead of Broadcast’s
- Broadcast won’t automatically know when someone unsubscribes through the provider’s page
Solution: Set up webhooks for your email provider so Broadcast receives unsubscribe notifications. See the Email Metrics guide for webhook configuration.
Postmark unsubscribe handling
Broadcasts go out on Postmark’s broadcast message stream. Its unsubscribe handling decides who handles unsubscribes:
| Handling | What happens |
|---|---|
| Custom | Broadcast handles unsubscribes. Postmark adds nothing. This is what Broadcast asks for. |
| Postmark | Postmark adds its own unsubscribe link under Broadcast’s link, unless the email has {{{pm:unsubscribe}}}, and it replaces the List-Unsubscribe header, so the unsubscribe button in Gmail and Apple Mail goes to Postmark. |
When you connect a Postmark server, or change its token, Broadcast reads the handling of the broadcast stream. If it is Postmark, Broadcast asks Postmark to switch it to Custom. Postmark allows Custom only for approved accounts, so it can refuse. The email server page (Settings > Email Servers, select the server, Unsubscribe handling) shows the result, and Check now reads it again.
While the stream has Postmark handling:
- The email server page explains the second link and has a support request ready to copy. Send it to Postmark support to ask for Custom handling.
- The broadcast editor, the send dialog and the schedule dialog warn you, and say when the email has no
{{{pm:unsubscribe}}}. A sequence step whose sequence uses thebroadcaststream shows the same warning, on the step form and in the design window. - While Sync Postmark unsubscribes is on, a block email’s Footer block needs no tag. Its unsubscribe link goes out as
{{{pm:unsubscribe}}}, so Postmark does not add a second link, and Postmark fills it in (in the plain-text part too). The link opens Postmark’s page, which unsubscribes the reader from the stream with no topic choice. The sync records the unsubscribe in Broadcast. For a server you set up by hand, also turn on the Subscription Change webhook in Postmark. The footer block’s preference page link still opens Broadcast’s preference page. - With the sync off, or in an email sent with its unsubscribe link off, the footer block keeps Broadcast’s link, and Postmark adds its own.
- Broadcast keeps its own unsubscribe link everywhere else (topics, the preference page and your brand need it): the channel footer, and a link to
{{ unsubscribe_url }}that you add yourself. With Custom handling, on theoutboundstream, and on other providers, the footer block keeps Broadcast’s link too.
Subscription sync
Sync Postmark unsubscribes is on the same section of the email server page. It is on by default.
- When someone unsubscribes through Postmark’s link or the Gmail or Apple Mail button, Postmark sends a
SubscriptionChangewebhook. Broadcast unsubscribes that subscriber too (the history says “Unsubscribed [Postmark, Recipient]”). A suppression that you add yourself in Postmark counts too (OriginCustomer). - Broadcast ignores suppressions made by Postmark staff, bounces and spam complaints (they have their own events), suppressions on the transactional
outboundstream, and reactivations in Postmark. A resubscribe needs the subscriber’s consent in Broadcast. - When a subscriber resubscribes in Broadcast (in the app, through the API, with an opt-in form or with the resubscribe link), Broadcast removes their Postmark suppression on the
broadcaststream. This runs in the background and is tried again if Postmark does not answer, so it never stops the resubscribe. - If you set up the server with your Postmark account token, Broadcast adds the
SubscriptionChangetrigger to its webhooks, and changing the setting updates them. For a server you set up by hand, turn on Subscription Change in the Postmark webhook of thebroadcaststream yourself.
Disabling Unsubscribe Features
You can disable unsubscribe links and headers for specific email servers. This is useful for servers that only send transactional emails (password resets, order confirmations, etc.).
Navigate to Settings > Email Servers, select the server, and in the Custom Unsubscribe Settings section:
- Uncheck Include unsubscribe link to remove the footer
- Uncheck Include unsubscribe header to remove the email headers
Warning: Disabling these features for marketing emails may violate email regulations and negatively impact deliverability. Only disable for servers dedicated to transactional emails.
Confirmation Emails (Double Opt-In)
By default, double opt-in confirmation emails include the unsubscribe link and footer just like other emails. However, this can be confusing: the subscriber hasn’t confirmed yet, so an “unsubscribe” link doesn’t make much sense.
You can suppress the unsubscribe link in confirmation emails in two ways:
Opt-In Form Setting
Open your opt-in form and click Settings. Under Automation, turn on Double opt-in, then uncheck Include unsubscribe link in confirmation email and click Save. The option shows only while double opt-in is on. This affects all confirmation emails sent through that form.
API Setting
When creating a subscriber with double opt-in via the Subscribers API, pass include_unsubscribe_link: false inside the double_opt_in object:
{ "subscriber": { "email": "user@example.com" }, "double_opt_in": { "include_unsubscribe_link": false } }
When suppressed, the following are all removed from the confirmation email:
- The email footer (unsubscribe link)
- The List-Unsubscribe and List-Unsubscribe-Post headers
- The {{ unsubscribe_url }} Liquid variable (renders as empty). A link you wrote to it is removed with its text, and a footer block leaves its unsubscribe link out (2.46.0 or later)
The API value takes precedence over the opt-in form setting. If neither is set, the unsubscribe link is included by default for backward compatibility.
Best Practices
- Always include an unsubscribe link in marketing emails (broadcasts and sequences)
- Require unsubscribe confirmation if you experience accidental unsubscribes from link scanners
- Keep unsubscribe headers enabled for better deliverability with Gmail and Yahoo
- Include your physical address in the email footer for CAN-SPAM/GDPR compliance
- Set up webhooks to sync unsubscribes from email providers back to Broadcast