Skip to content
ChangelogBook a demoSign up

Subscriptions and consent

AudienceMarketers, lifecycle and CRM teams, compliance

Subscription topics let recipients choose which email they receive. Hightouch enforces those choices on every send and records each change in your warehouse.

Subscription topics

A topic is a category a recipient can subscribe to or leave, such as a weekly newsletter or promotions. Every marketing message is sent under one topic. Leaving Promotions doesn't stop the newsletter.

Add topics under Settings → Channels. Each topic has a policy:

PolicyDefault state for a new recipient
Opt-outSubscribed. They receive the topic until they unsubscribe.
Opt-inNot subscribed. They receive nothing until they subscribe.
Double opt-inNot subscribed. They must confirm from a message before you can send.

A recipient can also unsubscribe from email altogether. A channel unsubscribe stops all marketing email regardless of topic.

Marketing and transactional messages

Each message is either marketing or transactional, and the classification decides who can opt out of it.

Marketing messages honor topic and channel preferences.

Transactional messages are ones a recipient needs, such as a receipt, a password reset, or a policy update. They skip topic subscriptions and channel unsubscribes, reaching recipients who have opted out of marketing email.

When email can't be delivered

A bounce or a spam complaint stops future email to that address. This is separate from subscription preferences and from suppression lists:

  • Their topic and channel subscriptions are untouched.
  • Nothing is added to your suppression lists.
  • It applies to that address on that channel only, so a bounced email address doesn't affect the same person's SMS or a different address on their profile.

This check is always enforced and can't be overridden, including for transactional messages. Once an address is recorded as undeliverable, contact your Hightouch team to clear it.

How recipients unsubscribe

Every marketing email carries two paths, and both apply to the topic the message was sent under:

  • The unsubscribe link in your footer, which opens a preference page where the recipient can manage topics.
  • The unsubscribe button the mail client renders itself, from the List-Unsubscribe header.

Add {{ unsubscribe_url }} to your footer and Hightouch generates a per-recipient link. Configure the preference page and the links shown on it under Settings → Consent.

Hightouch generates the unsubscribe link for each recipient at send time. Write one of these variables into your email footer, email body, or SMS text, and choose it by what the recipient should leave:

VariableWhat the link does
{{ topic_unsubscribe_url }}Unsubscribes the recipient from the topic the message was sent under. Other topics are untouched.
{{ channel_unsubscribe_url }}Unsubscribes the recipient from the whole channel: all marketing email, or all SMS.

A topic link opens a page that names the topic and asks the recipient to confirm, with a link to manage their other subscriptions. A channel link asks them to confirm leaving the channel instead.

A transactional message has no topic to leave, so all three variables produce a channel link on it. For email, the recipient stops receiving marketing on that channel and still receives transactional messages. For SMS, a channel unsubscribe stops all SMS communications, the same as if the recipient had replied STOP.

You can use more than one in a message. A footer can offer "Unsubscribe from this newsletter" with the topic link and "Unsubscribe from all email" with the channel link.

In an SMS, Hightouch replaces the variable with a shortened link. Hightouch fills these variables in for you, so they don't appear in the message's personalization variables and you don't need to supply values for them in an API-triggered send.

If you manage preferences in a third-party consent tool, you don't have to move off it. Both unsubscribe paths can point at your platform instead of the Hightouch preference page: the footer link and the header your mail client reads.

That means building a URL that identifies the recipient, usually from a token or identifier on their profile, which you can write as a variable in your footer. Consent changes then need to reach your warehouse so Hightouch honors them on the next send.

Reach out to your Hightouch contact to set this up. They'll work through the URL format and how consent flows back.

Double opt-in

A double opt-in topic requires the recipient to confirm before you can send to it. They stay unmarketable on that topic until they confirm, so a recipient who never confirms receives nothing.

You start the flow with an API call. When someone signs up, call the double opt-in endpoint with their address and the topic, and Hightouch sends the confirmation message and records their status.

curl -X POST 'https://api.hightouch.com/api/v1/profiles/subscriptions/double-opt-in' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "handle": "[email protected]",
    "channel": "email",
    "topicId": "..."
  }'

Identify the topic with either its topicId or the external identifier you gave it. On email the recipient clicks a confirmation link. On SMS they reply, and one reply confirms every pending SMS topic.

Some jurisdictions require double opt-in. Once enabled for a channel, it can't be turned off.

Suppression lists

Suppression lists are your own exclusions, expressed as audience conditions: hold back this group on this topic, whatever their preferences. Use them for legal holds, regional exclusions, or recipients still managed by another platform during a migration.

They attach to subscription topics and apply when a campaign builds its audience. See Suppression lists.

What recipients can't do

  • Keep separate preferences on a shared address. Topic preferences belong to the email address. Two profiles sharing an address share its preferences.
  • Carry preferences to a new address. A recipient who changes address starts at each topic's default. Opt-in topics need a fresh opt-in.

SMS consent has stricter rules. Recipients opt in before you can send, and a STOP reply applies across your whole workspace.

Topics are always opt-in

Every SMS topic is opt-in. A recipient receives nothing on a topic until they subscribe to it, and SMS topics have no policy to choose.

STOP and START

ReplyWhat happens
STOPUnsubscribes from the SMS channel and from every SMS topic in your workspace.
STARTResubscribes to the channel only.

A recipient who replied STOP receives no further SMS, including transactional messages like receipts and password resets. Plan to reach them on another channel.

Next steps

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service