Global unsubscribes

Updated

A 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 %}.

A text block with the unsubscribe liquid tag in the drag and drop editor.
A text block with the unsubscribe liquid tag in the drag and drop editor.

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

The subscription landing page reads: Do you want to unsubscribe from our messages? You'll stop receiving messages from us. There is a button labeled Unsubscribe.
The subscription landing page reads: Do you want to unsubscribe from our messages? You'll stop receiving messages from us. There is a button labeled Unsubscribe.

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

A person's profile. The unsubscribed attribute is true.
A person's profile. The unsubscribed attribute is true.

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.

flowchart LR c{Is unsubscribed true?} 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]

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.

flowchart LR c{Is unsubscribed any
casing 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:

image.png
image.png

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.

The subscription landing page reads: You have successfully unsubscribed. Subscribe to receive our messages. You'll start receiving all our messages again. There is a button labeled Subscribe.
The subscription landing page reads: You have successfully unsubscribed. Subscribe to receive our messages. You'll start receiving all our messages again. There is a button labeled Subscribe.

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:

unsubscribes-1-campaign-setting-1.png
unsubscribes-1-campaign-setting-1.png

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

In campaign settings, All subscribed is selected by default in workspaces where the subscription center is not enabled.
In campaign settings, All subscribed is selected by default in workspaces where the subscription center is not enabled.

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

In newsletter settings, All subscribed is selected by default in workspaces where the subscription center is not enabled.
In newsletter settings, All subscribed is selected by default in workspaces where the subscription center is not enabled.

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:

In a campaign, an email is selected on the canvas. On the right hand side, a panel appears. Under Settings, there's a dropdown called subscription preference. The option Use campaign settings is selected.
In a campaign, an email is selected on the canvas. On the right hand side, a panel appears. Under Settings, there's a dropdown called subscription preference. The option Use campaign settings is selected.

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.

Copied to clipboard!
  Contents