Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Subscription Groups


FREE x
TEAM x
BUSINESS
ADDON
(information)

Engage Premier End of Life

Engage Premier features, including Channels, Broadcasts, content templates, and Subscriptions, will no longer be available after December 15, 2025.

Subscription groups let your users choose the emails they want to receive from you. This page introduces subscription groups and explains how you can use them with Engage email campaigns.


About subscription groups

about-subscription-groups page anchor

A subscription group lets you send email campaigns to specific groups of users. Subscription groups also give your customers the ability to manage their email preferences, ensuring they only get emails they want to receive.

For example, you may want to create a subscription group that will receive only promotional email campaigns. Should a customer decide to opt out of your promotional campaigns, they'll still be able to receive email campaigns from other subscription groups you've created and to which they've subscribed.

What your users experience

what-your-users-experience page anchor

With subscription groups, your customers can opt in and out of groups on an individual basis instead of unsubscribing from all your campaigns.

Your customers will have the chance to opt in and out of subscription groups on both a subscription preferences page and on the landing page that launches when they unsubscribe.

Customers can access these pages through the unsubscribe and manage preference links that you include in your email templates.

The subscription preferences page users see when opting in and out of subscription groups.

Using subscription groups

using-subscription-groups page anchor

To use a subscription group, you'll need to first create the group, add subscribers, then create a new email template.

Create a subscription group

create-a-subscription-group page anchor

Follow these steps to create a subscription group:

  1. Navigate to Engage > Engage settings > Subscriptions.
  2. Click +Create subscription group.
  3. Add a name and description for the group, then click Next.
  4. (Optional:) Add subscribers to your group with a CSV file upload, then click Next.
  5. Review your new subscription group, then click Create Subscription Group.

In addition to adding group subscribers when you first create a subscription group, you can also add subscribers to existing groups with a CSV file upload with these steps:

  1. Navigate to Engage > Engage settings > Subscriptions.
  2. From the Subscription groups table, select the more options icon, then click Add group subscribers.
  3. Download the template CSV file, then fill it out by entering email addresses and subscription groups. The subscription group should follow the format [group_name]_subscription_status.
  4. Upload the CSV file, then click Add Subscribers.

The following table lists validation errors you may run into with your CSV upload:

ErrorError Message
Invalid file typesYou can upload only .csv files. Change your file format, then try again.
Empty filesThis file contains no data. Add data to your CSV, then try again.
CSV parsing errorWe encountered an issue while parsing your CSV file. Validate the CSV file and try again.
Unexpected/fallbackSomething went wrong. Try again later.
Empty header rowThis file contains empty header(s). Remove the empty header(s), then try again.
File exceeds one million rowsToo many rows. You can upload up to 1000000 rows.
File exceeds 100 MBFiles can be up to 100 MB.
Extraneous columns/column name typosThis file has columns that do not match the identifiers in your identity resolution configuration.

Use the Update History page to view CSV file uploads in your workspace over the last 30 days.

To view the Update History page:

  1. Navigate to Unify > Profile explorer or Engage > Engage settings > Subscriptions.
  2. From the Subscription groups table, click the three dots icon, then click View update history.
  3. From the Upload history table, click the file name link to download the error reports.

Engage uses the following error codes on the report:

Error codeDescription
INVALID_EMAILThe email address isn't formatted correctly.
INVALID_PHONEThe phone number is invalid.
INVALID_SUBSCRIPTION_STATUSThe subscription status is invalid. Check the status or leave it blank.
CONFIGURATION_ERRORYour SendGrid settings are not configured correctly. Contact Segment support(link takes you to an external page) for help.
SYSTEM_ERRORSomething went wrong. Please try again.
UNABLE_TO_SUBSCRIBEYou can't update the subscription status for this phone number because the user unsubscribed by replying STOP. The user must reply START to resubscribe.
GLOBAL_STATE_NOT_SUBSCRIBEDGlobal state isn't subscribed or set, so Segment can't update subscription states.

Subscription group CSV upload limits

subscription-group-csv-upload-limits page anchor

Please note the following limits as you upload CSV files to Twilio Engage:

  • You can only upload .csv files.
  • Files can't be empty and must have at least one header and one row.
  • You can't have multiple columns with the same header.
  • Upload CSV files with up to 1 million rows (plus one header row).
  • You can only upload one file at a time.
  • The CSV file size can't exceed 100 MB.
  • If you upload the same email or phone number with different subscription states in a single CSV file, Engage doesn't guarantee the subscription status result.
  • The phone and email identifiers must be valid phone numbers and email addresses, otherwise they'll process as errors.
  • The subscription group CSV uploader only honors group subscriptions, so sms_subscription_status, whatsapp_subscription_status, and email_subscription_status aren't allowed.
  • Other than [group_name]_subscription_status, you should set up all columns in your identity resolution configuration.

Create a new email template and send an email

create-a-new-email-template-and-send-an-email page anchor
(information)

Info

To use subscription groups, you'll need to create a new email template with new unsubscribe and manage preference links.

Once you've created a subscription group and added subscribers to it, follow these steps to send to the group:

  1. Build a new email template. The template should include both unsubscribe and manage preferences links. For more on special links, view Add unsubscribe links.
  2. During email setup, select the subscription group you want to send to from the Which subscription states should receive this message? dropdown, then finish setting up and publishing your campaign.

Set subscription group status with the Identify call

set-subscription-group-status-with-the-identify-call page anchor

Segment supports subscription groups for email. You can send statuses for email subscription groups using the Identify call.

To set susbcription groups with the Identify call, you'll need to include a key-value pair of "type": "EMAIL" and the groups object, like in the following sample payload:

1
{
2
"userId": "12aBCDeFg4hIjKlM5OPq67RS8Tu",
3
"context": {
4
"messaging_subscriptions": [
5
{
6
"key": "(123) 555-5555",
7
"type": "SMS",
8
"status": "SUBSCRIBED" | "UNSUBSCRIBED" | "DID_NOT_SUBSCRIBE"
9
},
10
{
11
"key": "(123) 555-5555",
12
"type": "WhatsApp",
13
"status": "SUBSCRIBED" | "UNSUBSCRIBED" | "DID_NOT_SUBSCRIBE"
14
},
15
{
16
"key": "test@example.com",
17
"type": "EMAIL",
18
"status": "SUBSCRIBED" | "UNSUBSCRIBED" | "DID_NOT_SUBSCRIBE",
19
"groups": [
20
{
21
"name": "newsletter",
22
"status": "SUBSCRIBED" | "UNSUBSCRIBED" | "DID_NOT_SUBSCRIBE"
23
},
24
{
25
"name": "marketing updates",
26
"status": "SUBSCRIBED" | "UNSUBSCRIBED" | "DID_NOT_SUBSCRIBE"
27
}
28
]
29
}
30
],
31
"externalIds": [
32
{
33
"id": "(123) 555-5555",
34
"type": "phone",
35
"collection": "users",
36
"encoding": "none"
37
}
38
],
39
"traits": {
40
"email": "test@example.com"
41
}
42
},
43
"integrations": {},
44
"traits": {}
45
}

How many subscription groups can I have?

how-many-subscription-groups-can-i-have page anchor

Your Engage space includes up to 25 subscription groups.

Can I use subscription groups with templates I've already built?

can-i-use-subscription-groups-with-templates-ive-already-built page anchor

No. Templates you've previously created aren't compatible with subscription groups. To use subscription groups, you'll need to create new templates that include new unsubscribe and manage preference links.

What happens if I delete a subscription group?

what-happens-if-i-delete-a-subscription-group page anchor

If you delete a subscription group, Engage will still maintain the preferences of the group's end users.

What subscription group events does the Engage Channels Source send?

what-subscription-group-events-does-the-engage-channels-source-send page anchor

The Engage Events Source tracks four subscription group events: Email Unsubscribed, Email Group Unsubscribed, Channel Subscription Updated, and Group Subscription Updated.

How can users opt back in if they've unsubscribed from all groups?

how-can-users-opt-back-in-if-theyve-unsubscribed-from-all-groups page anchor

If a user unsubscribes from all of your subscription groups, they'll need to re-subscribe by explicitly opting back in to each group.

Should I follow any conventions when naming a subscription group?

should-i-follow-any-conventions-when-naming-a-subscription-group page anchor

Yes. Keep the following table in mind when you name a subscription group:


FieldConvention
Group Name Character LimitLimited to 75 characters, including spaces
Group Description Character LimitLimited to 500 characters, including spaces
Spaces in Group NamesSpaces aren't allowed at the beginning and/or end of the Group name
Unsupported characters for Group Names!@#$%^&*()_+\-=\[\]{};':"|,.<>\/?
Unsupported accent characters for Group Namesá, é, í, ó, ú, à, è, ì, ò, ù, ë, ï, ã