Managing User Subscriptions

Global Subscription States

Braze has three global subscription states for e-mail users (listed in the chart below), which are the final gatekeeper between your messages and your users. For example, users who are considered unsubscribed will not receive messages targeted at the Global Subscription State of subscribed or opted-in.

State Definition
Opted-in User has explicitly confirmed he/she wants to receive e-mail. We recommend an explicit opt-in process to acquire consent from users to send e-mail.
Subscribed User has neither unsubscribed nor explicitly opted-in to receive e-mails. A user automatically gets set as Subscribed when a valid e-mail address is added to their user profile.
Unsubscribed User has either explicitly unsubscribed from your e-mails.

Changing Subscriptions

Subscription Groups

Subscription Groups are segment filters that can further narrow your audience from the Global Subscription States above. These Groups (maximum of 25 groups per app group) offer the ability to present more granular subscription options to end users.

For example, if you send out multiple categories of email campaigns, you can offer your customers the option to subscribe or unsubscribe from those groups in bulk from a single page, using our Email Preference Center.

Use the Subscription Group REST APIs to programmatically manage the subscription groups that you have stored on the Braze dashboard to the Subscription Group page.

Create a Group

Create a Subscription Group by going to Subscription Groups in the left navigation, then clicking the + Create Subscription Group button. Then, name and describe your group.

Create a Subscription Group

Use that name as a filter when creating your segments to ensure that only those users who have elected into that group receive that email or groups of email. This is great for monthly newsletters, coupons, membership tiers, and more!

Use a Subscription Group

Archiving Groups

Archived Subscription Groups cannot be edited and will no longer appear in Segment Filters. If you attempt to archive a group that is being used as a Segment Filter in any email, campaign, or canvas, you will receive an error message that will prevent you from archiving the Group until you remove all usages of it.

Archive your Group by going to Subscription Groups in the left navigation; then, find your group in the list. Then, click the gear and select Archive from the dropdown menu.

We will not process any state changes for users in these groups. If you archive the Subscription Group A while Susie is considered subscribed to it, she will remain “subscribed” to this group, even though she has clicked an unsubscribe link (this shouldn’t matter to Susie, Subscription Group A is archived and you can’t send any messages using it.)

Export User Subscription State Changes

You can export your users’ subscription state changes via CSV. From the Preference Center page in your account, click User Subscription Data, then CSV Export User Subscription Data from the dropdown.


The past 30 days of state changes across all Subscription Groups are exported by default.

See Subscription Groups in Campaign Analytics

We also offer the ability to see the number of users who changed their Subscription State from a specific email campaign from that campaign’s analytics page.

Scroll down to the Email Message Performance section and click the arrow under Subscription Groups to see the aggregate count of state changes, as submitted by your customers.

Sub Group Performance

Email Preference Center

The Email Preference Center is an easy way to manage which users receive certain groups of newsletters. Each Subscription Group you create is added to the Preference Center list. Click on the name of the Preference Center to see an interactive preview.

To place a link to the Preference Center in your emails, use the Preference Center Liquid tag and place it in the desired place in your email, similar to the way you insert unsubscribe urls.


Please note that the Preference Center is intended to be used strictly within the email channel itself. The preference center links are dynamic based on each user and cannot be hosted externally. You may, however, create and host your own custom preference center and use the Subscription Group REST APIs to keep data in-sync with Braze, see preference center customization below.

Customize Your Preference Center

You can create a fully custom HTML Preference Center, which you will host, then sync using our APIs. Reach out to your Braze representative for more information.

You can edit the logo and header of your Preference Center. Click the gear, then Edit from the menu that appears.

Changing Email Subscriptions

In most cases, your users will manage their email subscription through subscription links that are included in the emails they receive.

You must insert a legally compliant footer with an unsubscribe link at the bottom of every email you send. When users click on the unsubscribe URL in your footer, they should be unsubscribed and taken to a landing page that confirms the change to their subscription.

Braze provides the ability to set an app group-wide custom email footer which you can template into every email using the {{${email_footer}}} attribute. In this way, you do not have to create a new footer for every email template or email campaign you use. Changes you make to your custom footer will be reflected in all new and existing email campaigns. Remember that compliance with the CAN-SPAM Act of 2003 requires you to include a physical address for your company and an unsubscribe link in your emails. It is your responsibility to make sure that your custom footer meets those requirements.

To create or edit your custom footer, go to the Manage App Group page under App Settings, and select the Email Settings tab.

Email Settings

In the Custom Footer section, you can choose to turn on Custom Footers. Once turned on, you will see a window to edit your footer and send a test message.

Custom Footer

You will see the default footer which uses the {{${set_user_to_unsubscribed_url}}} attribute and Braze’s physical mailing address. To comply with CAN-SPAM regulations, your custom footer must include {{${set_user_to_unsubscribed_url}}}; you will not be able to save a custom footer without {{${set_user_to_unsubscribed_url}}}.

If using the default footer which uses the {{${set_user_to_unsubscribed_url}}} attribute, be sure to select “other” for the Protocol as indicated below.

Default Unsub URL Protocol

No Footer-Email Settings

Be very careful to use a template with the custom footer {{${email_footer}}} or {{${set_user_to_unsubscribed_url}}}when composing an email campaign. A warning will pop-up, however, the ultimate decision of whether to send an email without an unsubscribe link lies with you.

No Footer-Campaign Composition

When creating a custom footer, Braze suggests you use attributes for personalization. Here are a few you may find useful:

Attribute Tag
User’s Email Address {{${email_address}}}
User’s Custom Unsubscribe URL {{${set_user_to_unsubscribed_url}}}
User’s Custom Opt-In URL {{${set_user_to_opted_in_url}}}
User’s Custom Subscribe URL {{${set_user_to_subscribed_url}}}

Of course, the full set of default and custom attributes are available to you. As a best practice, Braze recommends including both an unsubscribe link (i.e. {{${set_user_to_unsubscribed_url}}}) and an opt-in link (i.e. {{${set_user_to_opted_in_url}}}) in your custom footer. This way users will be able to both unsubscribe or opt-in and you can passively collect opt-in data for a portion of your users.

You can also choose to set a custom footer for plaintext emails, which follows the same rules as the custom footer for HTML emails. If you choose not to write a plaintext footer, Braze will automatically build one from the HTML footer. When your custom footers are to your liking, press Save at the bottom of the page.

Save Custom Footer

Custom Unsubscribe Landing Page

When a user clicks on an unsubscribe URL in an email, they are taken to a default landing page that confirms the change to their subscription.

Optionally, you may provide HTML for your own custom landing page, which users will be directed to (instead of the default page) upon unsubscribing. This feature is available on the “App Settings - Email” page.

We recommend including a resubscribe link (i.e. {{${set_user_to_subscribed_url}}} ) on this page so that users have the option to resubscribe in case they unsubscribed by accident.

Custom Unsubscribe

Changing Push Subscriptions

Braze’s SDKs provide methods for changing a user’s push message subscription. Please refer to Braze’s technical documentation for your mobile platform for information on configuring these methods:

Manually Changing User Subscriptions

You can manually change the subscription status for any user in his/her individual user profile. You can find individual user profiles by searching for a user’s ID or email address on the “User Search” page. Under the user profile’s “Engagement” tab, you’ll find a user’s current push and email subscription status. Clicking on the “Unsubscribed”, “Subscribed”, or “Opted In” buttons will allow you to change that user’s subscription status. If available, the user profile also displays a timestamp for when the user’s subscription was last changed.

User Profile Subscription UI

Subscriptions and Campaign Targeting

Campaigns with push or email messages are targeted at users who are subscribed or opted-in by default. You can change this targeting preference when editing a campaign by going to the “Target Users” step and clicking “Advanced Options.”

Braze supports three targeting states:

  • Users who are subscribed or opted-in (default).
  • Only users who are opted-in.
  • All users, including those who have unsubscribed.

Campaign Targeting Subscription UI

Segmenting by User Subscriptions

The “Email Subscription Status” and “Push Subscription Status” filters allow you to segment your users by their subscription status.

This can be useful - for example, if you want to target users who have neither opted in nor out and encourage them to explicitly opt-in to email or push. In that case, you would create a segment with a filter for “Email/Push Subscription Status is Subscribed” and campaigns to this segment will go to users who are subscribed but not opted in.

Subscription Filter

New Stuff!