The Subscription Center

A subscription center helps you differentiate between the different types of messages you send, and lets your audience decide what kinds of campaigns and messages they want to receive.

How it works

You’ll set up the topicsA category of message, set within your workspace’s subscription center, that people can subscribe to or unsubscribe from. Topics let your audience determine the kinds of messages they want to get from you. that your audience can subscribe to (or unsubscribe from) in your workspace settings. When you setup a campaign, broadcast, etc, you’ll decide which message topic your campaign sends.

People with the appropriate topic preferences will receive messages from the campaign; people who have opted out of the topic (or have not opted into the topic) can still move through the campaign, but they won’t receive messages.

When people receive a message, they can use the unsubscribe link to unsubscribe from an individual topic. Or, they can open a page where they can set preferences for multiple topics or unsubscribe globally.

flowchart LR a[person matches
campaign trigger]-->b{is unsubscribe true?} b-->|no|d{is the person
subscribed to the topic?} d-->|yes|e[person receives
messages from campaign] b-.->|yes|f[person does not
receive messages] d-.->|no|h[person does not
receive messages]

Topics are either opt-in or opt-out

By default, people must opt-out of topics they don’t want to subscribe to. You can set up topics that either require people to opt-in or opt-out.

  • Opt-in: people must explicitly opt-in before they’ll receive messages
  • Opt-out: people receive messages by default and must opt-out if they don’t want messages

When you create a topic, you can change the People are subscribed by default setting, determining whether people are opted in or out of a topic by default. If you disable this setting, people must subscribe to a topic before they’ll receive messages belonging to that topic.

People will receive messages until they opt outPeople won't receive messages until they opt in
A topic that people will get by default
A topic that people will get by default
A topic people must opt into
A topic people must opt into

Globally unsubscribing vs unsubscribing from topics

A person can either unsubscribe from all messages or unsubscribe from individual topics.

When someone clicks the Unsubscribe link in messages, they’ll see a screen where they can click Unsubscribe again, or go to their subscription preferences. If they click the unsubscribe button on this page, they’ll only be unsubscribed from the topic associated with that message.

When a person goes to the subscription center, they can change their subscription preferences or click Unsubscribe. In the subscription center, the Unsubscribe button is global, and removes the person from all topics.

flowchart LR a[person clicks unsubscribe]-->b{"Do they click
unsubscribe or not?"} b-.->|person clicks
unsubscribe|c[person is
unsubscribed from topic] b-->|person goes to
subscription center|d{What preferences
do they change?} d-.->|person clicks
Save Preferences|f[person's subscription
preferences are updated] d-.->|person clicks
Unsubscribe|g[Person is globally
unsubscribed from all messages]

If you set a person’s unsubscribed attribute to true, which might happen outside the subscription center, that person won’t receive messages (unless you use the Send to all subscribed and unsubscribed setting). But, if you change that attribute back to false, we’ll preserve that person’s preferences, so they pick up where they left off.

The subscription preferences URL

You can expose the subscription preferences page, without requiring your customers to click Unsubscribe, by adding {% manage_subscription_preferences_url %} somewhere in your message. You might do this when you announce a change to preferences, for instance.

What people see when they click Unsubscribe

After you enable the subscription center, the unsubscribe links in your emails will send people to a page where they can unsubscribe from the topic the message belongs to. From there, they can go to the subscription preferences page and subscribe to, or unsubscribe from, any topic.

You can preview the subscription preferences page in Settings > Workspace Settings > Subscription Center by clicking Preview.

When people click unsubscribe, they can unsubscribe from the topic:When people click "here" to manage preferences, they can check/uncheck their preferences:
the unsubscribe prompt
the unsubscribe prompt
the unsubscribe prompt
the unsubscribe prompt

Set up your subscription center

To take advantage of the subscription center, you must determine the topic or Audience for running campaigns and broadcasts; you can’t enable the subscription center until you’ve applied the Audience setting to active workflows. So, to enable the subscription center, you’ll need to:

  1. Customize your subscription center language.
  2. Add topics.
  3. Change the header text and description as you see fit.
  4. Add branding to your subscription preferences page
  5. Apply topics to your campaigns and broadcasts.

     Map out your topics before you start

    You need to apply topics to campaigns and broadcasts before you can enable the subscription center. It may help to map out and/or tag campaigns and broadcasts before you create topics to help you get a handle on the topics you want to create and the things they apply to.

  6. Translate your topics and other custom copy to fit your audiences’ needs.
  7. (Optional) Backfill your audience’s subscription preferences using the cio_subscription_preferences attribute.
  8. Enable the subscription center.
the subscription center page
the subscription center page

Add topics and custom headers

When you add a topic, you can determine whether your audience must opt into it or opt out of it. By default, a new topic requires people to opt out; workflows using a new topic with default settings will send messages to everybody (who isn’t globally unsubscribed) until they opt out-of the topic.

After you add at least one topic, you can set your subscription center’s brand color and logo and translate your topics.

  1. In Customer.io, go Settings > Workspace Settings.
  2. Go to Subscription Center, and click Edit. If this is your first topic, click Get Started. Then click Add.
    A topic people must opt into
    A topic people must opt into
  3. Set a Name and a Description. The name is how you’ll select your topic in the Audience setting. Your audience will see both the Name and Description when they set their subscription preferences.
  4. Determine whether People are subscribed by default.
    • Off: People must opt-into the topic to get messages.
    • On: (Default) People will get messages for this topic unless they change their subscription preferences to opt out. Before you use the On setting, make sure that you have your audience’s consent or won’t otherwise violate their message preferences and send them messages that they might consider spam!
  5. Click Save.

Now you can set your topic in the Audience setting for your campaigns and broadcasts.

From this page, you can also customize the header and description of your subscription preferences page. You can translate this from the same area you localize topics.

Order topics

You can change the order of topics on the subscription preferences page through Workspace Settings > Subscription center > Edit on the Topics table.

Drag and drop each topic in the desired order.

Hover your mouse over the left hand side of a topic, click and hold, then drag the topic up or down depending on where you want to place it. Drop it over the purple line.

Preview your changes on the right panel. After you save, the topics table and Preview URL will reflect your changes.

The next time your customers open the subscription preferences page, they will see the new order.

Edit a topic

You can update the Name or Description for your topic. This does not affect your Audience settings or people’s subscription preferences. It only affects what people see when they change preferences using the subscription center.

  1. In Customer.io, go Settings > Workspace Settings.
  2. Go to Subscription Center, click Edit, and select the topic you want to change.
  3. Change the Name or Description for your topic.
  4. When you’re done, click Save.

Delete a topic

You can’t delete a topic that’s in use. You’ll need to change the Audience setting for any running campaigns and broadcasts that use the topic you want to delete before you can delete it. You don’t need to worry about draft or stopped workflows.

  1. In Customer.io, go to Settings > Workspace Settings.
  2. Go to Subscription Center and hover over the topic you want to delete. On the right, you’ll see a trash can icon appear. Click this to delete the topic.

Set a topic in a campaign

In your campaign’s Settings step, you’ll use the Audience dropdown to select the topic for your campaign. People subscribed to this topic will receive messages from the campaign.

set the topic for a campaign
set the topic for a campaign

Set a topic in a broadcast

In the Recipients step when you create a broadcast, you’ll answer the question, Who should receive this newsletter? After you answer that question, you’ll select the topic for your newsletter or broadcast using the Audience dropdown. People subscribed to the selected topic are eligible to receive your newsletter or messages in your broadcast.

set the topic for a broadcast
set the topic for a broadcast

Enable the subscription center

Before you can enable the subscription center, you must have created at least one topic, and applied topics to the Audience setting for all your active campaigns, scheduled newsletters, and API-triggered broadcasts. You may also want to backfill or migrate existing subscription preferences. When you enable the subscription center, your audience’s Unsubscribe link in your messages also lets people set their topic preferences.

To enable your subscription center:

  1. Go to Settings > Workspace Settings.
  2. Click Subscription Center and then click Enable.
the subscription center page
the subscription center page

Set subscription topic preferences

You can record your customers’ subscription preferences in Customer.io by migrating their existing preferences from another service, sending out a campaign requesting they update their preferences, or tracking their preferences outside of the subscription center.

You have the option to set preferences for some subscription topics, while preserving those set for others, using JSON dot notation.

Backfill or migrate preferences

Before you turn on your subscription center, you might want to set or migrate your audience’s subscription preferences. You’ll almost certainly need to do this if you set your topics up as “opt-in” by default.

You can set your audience’s subscription preferences using the reserved cio_subscription_preferences attributeA key-value pair that you associate with a person or an object—like a person’s name, the date they were created in your workspace, or a company’s billing date etc. Use attributes to target people and personalize messages.. Each topic in the attribute is numbered, based on the ID that you see in the UI—topic_1 corresponds to ID 1 in the left-column in your Subscription Center setup page. We set subscription preferences by topic ID rather than the topic Name, so that you can change the name of a topic without affecting your audience’s preferences. For each topic, true means that a person is subscribed to a topic; false means they’re unsubscribed.

You’ll set this attribute—either through the API, a CSV upload, a Create or Update Person action, or Database sync—to apply preferences to a person.

{
   "cio_subscription_preferences": {
      "topics": {
         "topic_1": true,
         "topic_2": false
      }
   }
}
Within Workspace Settings, this subscription center has a table wih 3 topics. Each topic has an ID followed by a name and the default status - not subscribed or subscribed.
Within Workspace Settings, this subscription center has a table wih 3 topics. Each topic has an ID followed by a name and the default status - not subscribed or subscribed.

 Check your payload

Applying subscription preferences incorrectly prevents us from observing your audience’s preferences, and can result in extra, misapplied attributes that clutter your workspace.

Create a campaign to record preferences

Once your subscription center is enabled, you can send a campaignA series of actions that you perform for each person who matches criteria. Campaigns typically send people a series of messages, but you can also use campaigns to send webhooks, update attributes, etc. to customers to show them they now have the option to subscribe to topics. You can prompt them to manage their preferences in the message.

Set preferences outside of the subscription center

You can send subscription preferences to your workspace based on actions your customers take outside of Customer.io’s messaging. For instance, you may want to track and send preferences upon account sign-up. This ensures your marketing platform is up-to-date with your other systems of record.

Find people’s subscription preferences

After you enable topics, you’ll find people’s subscription preferences when you select them on the People page.

find your audience's attributes
find your audience's attributes

Subscription preferences in the API

When you look up a person using our API, or export a person, we include a person’s subscription preferences and their computed subscription preferences.

The cio_subscription_preferences attribute contains preferences that a person set through the subscription center—or attributes you otherwise applied to a person. However, a person might not have set preferences, or you may have changed topics since the last time a person set their preferences.

For these cases, we also include a _cio_subscription_preferences_computed attribute containing all of a person’s subscription preferences, including defaults for topics a person hasn’t set preferences for yet. For example, if you have an opt-in topic that a person hasn’t set a preference for, that topic would show false—even though a person doesn’t have that attribute on their profile.

This is an example of what we show when you look up a person’s attributes.

 Use reporting webhooks to track preference changes

If you capture your audience’s attributes in an external CRM or another system, you can use reporting webhooks to get real-time events when people change their subscription preferences.

{
  "customer": {
    "id": "1",
    "attributes": {
      "_last_emailed": "1528932553",
      "created_at": "1489014595",
      "email": "test@example.com",
      "id": "1",
      "cio_id": "03000001",
      "cio_subscription_preferences": "{\"topics\":{\"topic_7\":false,\"topic_8\":false}}",
      "_cio_subscription_preferences_computed": "{\"topics\":{\"topic_6\":false,\"topic_7\":false,\"topic_8\":false}}"
    },
    "timestamps": {
      "cio_id": 1489014595,
      "_last_emailed": 1528932553,
      "created_at": 1489014595,
      "email": 1508932553,
      "id": 1489014595,
      "_cio_subscription_preferences_computed": 0,
      "cio_subscription_preferences": 1673987303
    },
    "unsubscribed": false,
  }
}

Filter or segment by subscription preferences

On the People page, you can filter by subscription preferences.

To find all people who are subscribed to a topic, you have to take into account both default and manually set preferences. Filter by conditions at the top. Enter cio_subscription_preferences.topics.topic_[#] in the attribute field. Set this as NOT equal to the value false.

Under the header and above the People table, you can filter by subscription status.
Under the header and above the People table, you can filter by subscription status.

This searches for people whose topic preference is not manually set to unsubscribe. Phrased another way, it searches for people who have not manually unsubscribed from the topic AND those who’ve been opted-in if the default status of the topic is true.

To find all people who are unsubscribed from a topic, use the same condition but set the value to true.

You can use these conditions to segmentA segment is a group of people in your audience that you want to target with campaigns, messages, etc. You can join groups of people manually, or by attribues and event data. users, as well.

Subscription preferences in data-out integrations

You can use our reporting webhooks to send information on whether a person is subscribed or unsubscribed from messaging and whether the status of any of their subscription preferences has changed.

An admin selected all customer events for Subscribed, Unsubscribed, and Subscription preferences changed. On the right hand side, they also chose to send everytime the event occurs and checked the box for include body content.
An admin selected all customer events for Subscribed, Unsubscribed, and Subscription preferences changed. On the right hand side, they also chose to send everytime the event occurs and checked the box for include body content.

In order to send the specific values of people’s preferences, check “Include body content and headers in all Sent events” to the right of the event checklist.

Subscription preferences aren’t part of our data warehouse and other data-out integrations today. If you need to capture subscription preferences in another integration, let us know!

Copied to clipboard!