Global unsubscribes
UpdatedA person’s global subscription status applies to email, push, SMS, and WhatsApp. When people click unsubscribe links in your messages, they unsubscribe from those message channels. Customer.io tracks messages that cause people to unsubscribe so you can better understand your message and campaign performance.
Check out our subscription center!
This article covers global unsubscribes. Visit our subscription center documentation to learn how to give customers more granular control over the messages they receive.
Our subscription functionality doesn’t apply to in-app messages; rather, you’ll want to learn how to target the right people with in-app messages.
Learn more about how people can unsubscribe from SMS, WhatsApp, or push notifications as channels.
How it works
In your emails, you need to add 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 an unsubscribe link for your customers. Other channels have their own unsubscribe mechanisms, but unsubscribing from links in emails will also unsubscribe people from SMS, WhatsApp, and push notifications.
When you create an email with our drag-and-drop editor, we automatically add a block with {% unsubscribe %}.


When a person clicks this link, we send them to a page where they can unsubscribe:


After they click Unsubscribe, we update their profile. We track subscription status through the unsubscribed attribute.


The field takes a boolean value where true means that a person is unsubscribed from email, SMS, WhatsApp, and push notifications. The value false means a person is globally subscribed, or if you have subscription center topics, it means they will receive messages based on their topic preferences.
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]
A person who is globally unsubscribed will not receive email, SMS, WhatsApp, and push (unless you change the default settings on a campaign, broadcast, or message). If you want to send messages to unsubscribed people, make sure it’s a transactional use case and you respect your audience’s local laws.
Then you can track which messages and workflows people unsubscribe from in our metrics dashboards.
- In campaigns and API-triggered broadcasts, go to Delivery Metrics.
- In newsletter broadcasts, go to Overview.
Set unsubscribed attributes
You can set global unsubscribed attributes manually in your workspace or programmatically through our Javascript snippet, API, and integrations.
We recommend using a boolean (true/false) to manage subscription status, but the unsubscribed field will take string and integer values like True, "true" , "True", 1, and "1" too. If the value is false, absent, or any value not considered “true”, a person is globally subscribed, or if you enabled a subscription center, a person will receive messages based on their cio_subscription_preferences.
unsubscribed anycasing of 'true' or 1?} c-->|yes|f[Person does not receive
email, 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 a person
On a person’s profile, click Unsubscribe from the dropdown:


Under Attributes, you’ll see the unsubscribed attribute update to true. You can also track these changes under Activity.
Resubscribe a person
If a person accidentally unsubscribes, they have the option to resubscribe.


If they click the resubscribe button, we set the unsubscribed attribute to false and confirm that they are subscribed once again.
Reference the unsubscribed attribute in liquid logic
If you’re referencing this field in liquid logic, keep in mind that attribute values are case sensitive. For instance, you could create an if statement with the unsubscribed attribute in a message:
{% if customer.unsubscribed == "true" %}
You're unsubscribed from messages; you're only receiving this because you completed a transaction.
{% else %}
You're receving this because you completed a transaction.
{% endif %}
If your values have a different casing like “True”, then the else statement would render.
If you want to normalize your data so all values have the same casing, you can use Create or update person actions in campaigns to set the attributes to the recommended true or false values.
Override sending settings in your workspace
We do not send email, SMS, and push to people who are unsubscribed. By default, both campaign and broadcast settings, as well as their individual messages’ settings, are set to send to “All subscribed.” However, you can choose to send to unsubscribed if it’s absolutely necessary. You should not send to unsubscribed people unless the message is transactional in nature, like a password reset.
For campaigns, you can change the subscription preference in Messages > Subscription preferences:


For API-triggered broadcasts, you can change the subscription preference in the Settings tab:


For Newsletters, you’ll see a dropdown in the Recipients tab under Sending options:


An individual message uses your campaign or broadcast settings by default. You can change it by selecting it in your workflow and going to Subscription Preference in the panel:


Review more information on sending behaviour and subscription statuses.
Respect anti-spam laws
Remember that emailing someone who has unsubscribed could breach anti-spam laws in your country. We reserve the right to terminate your account if you continue to breach these laws.
