Overview of subscription options
UpdatedWe provide native unsubscribe functionality for email, SMS, WhatsApp, and push notifications. In this article, you’ll also learn about non-native subscription options for push, SMS, as well as in-app messages.
Native unsubscribe links for emails, SMS, WhatsApp, and push
In Customer.io, you can use our default global unsubscribe functionality or set up a subscription center to manage which messages your customers receive. We recommend you create a subscription center to give your customers the option to receive messages they’re interested in without opting-out of all of your messages.
unsubscribed true?}
c-->|yes|f[Person does not receiveemail, SMS, WhatsApp, or push,
but could receive
in-app or Slack messages] c-->|no|g[Is the subscription center enabled?] g-->|yes|d{Is the person
subscribed to the topic?} d-->|yes|e[Person receives message] d-->|no|h[Person does not receive
email, SMS, WhatsApp, or push,
but could receive
in-app or Slack messages] g-->|no|i[Person receives message]
Unsubscribe globally
Out-of-the-box, Customer.io provides global unsubscribe functionality where your customers can subscribe or unsubscribe from email, SMS, WhatsApp, and push notifications. This is great for getting started, but as you grow, you may want to give your customers more control over the messages they receive with a subscription center.
If you’re only using our global unsubscribe functionality, this is what you’ll see in Workspace Settings > Subscription Center:


Click Preview at the top right of the landing page to see what our global unsubscribe page looks like to anyone who receives your messages:


Read on to learn how to:
Unsubscribe from topics
We recommend you use our subscription center so your customers can specify what kind of information and offers interest them. Then you can filter content appropriately and potentially reduce your global unsubscribe rate. Unsubscribing from a topic means your customers will no longer receive emails, push, or SMS for that topic.
You can set up subscription topics in Workspace Settings > Subscription Center:


Click Preview at the top right of the landing page to see what our subscription center looks like to anyone who receives your messages:


A person can still globally unsubscribe if the subscription center is enabled. They just click Unsubscribe from all or uncheck every preference and click Save.
Read on to learn how to:
Unsubscribe links
You can use the following liquidA syntax that supports variables, letting you personalize messages for your audience. For example, if you want to reference a person’s first name, you might use the variable {{customer.first_name}}. to generate links that unsubscribe people from email, SMS, and push:
{% unsubscribe %}{% unsubscribe_url %}{% manage_subscription_preferences_url %}
{% unsubscribe %} and {% unsubscribe_url %} both work if you’re using our global unsubscribe functionality or subscription topics:
{% unsubscribe %}generates “Unsubscribe” which a person can click to unsubscribe from your messages. If you’re using the subscription center, people can unsubscribe from the specific topic in your message or manage other topics. If not, this page lets your audience unsubscribe from all messages.

{% unsubscribe_url %}generates an unsubscribe link but lets you customize the text your audience sees.
{% manage_subscription_preferences_url %} only works if your subscription center is enabled:
{% manage_subscription_preferences_url %}generates a link to the subscription preferences page. This is where a person can manage their subscription preferences for all topics. With our standard links - the two tags above - we would first prompt a person to unsubscribe from the topic of the message; this link allows your recipients to go straight to the subscription preferences page. You might do this when you announce a change to preferences, for instance.

Subscription attributes
Our unsubscribed attribute tracks a person’s global subscription status when the subscription center is enabled and disabled. We also track subscription topic preferences through profile attributes.
unsubscribed
We track global subscription statuses through a profile attribute named unsubscribed. It’s a field that takes boolean values - true or false. Setting this field to true means the person is unsubscribed from email, SMS, and push. Setting this field to false means the person is subscribed to them.


A person can globally unsubscribe when the subscription center is enabled or disabled. If the subscription center is enabled, a person must go to the subscription preferences page and click Unsubscribe from all or they must uncheck all of their preferences and click Save. If the subscription center is disabled, a person clicks Unsubscribe.
Go to Set unsubscribed attributes to learn more.
Subscription topic preferences
We track subscription topic preferences in their own table within the Overview tab of a person’s profile.


Behind the scenes, the subscription topic values exist within a JSON object called cio_subscription_preferences. This field has an object topics which includes an array of topics with boolean values. Notice how each topic is referred to by its id, not its name.


Go to Set topic preferences to learn more about setting these attributes.
Unsubscribe options for any message type
Our native subscription functionality unsubscribes people from email, SMS, WhatsApp, and push notifications. Below are options available within and outside of Customer.io for all of our message types.
Emails
A person can unsubscribe from emails through global unsubscribes or the subscription center.
If their global unsubscribed attribute is true, they will not receive emails.
Push notification
A person can unsubscribe from push notifications as a channel by going to their device settings and turning off notifications for your app.
A person can unsubscribe from push through global unsubscribes or the subscription center. If a person’s global unsubscribed attribute is true, they will not receive push notifications no matter their device settings.
SMS
A person can unsubscribe from SMS by replying “STOP” to your message, among other keywords. This only unsubscribes them from the sending number. If you use multiple sending numbers, they have to unsubscribe from each.
A person can unsubscribe from SMS through global unsubscribes or the subscription center. If their global unsubscribed attribute is true, they will not receive SMS from any sending number, even if they haven’t replied with an opt-out keyword.
A person can unsubscribe from WhatsApp by replying with opt-out keywords, like Twilio SMS. However, you must enable Advanced Opt-out on your Twilio account first. If this isn’t enabled, then these keywords will not opt them out.
A person can unsubscribe from WhatsApp through global unsubscribes or the subscription center. If their global unsubscribed attribute is true, they will not receive WhatsApp from any sending number, even if they haven’t replied with an opt-out keyword.
In-app message
In-app messages ignore people’s subscription statuses. For more on unsubscribing from in-app, see our in-app FAQs.
Slack message
Slack messages ignore people’s subscription statuses because they’re usually sent for internal purposes. The recipient can manage their notification settings in Slack.
Webhook
Webhooks ignore people’s subscription statuses because they’re usually sent for internal purposes.


