Introducing Courier Preferences: The Fastest Way to Design the Best Preference Experience
Tags: design
Published: 2023-02-23 16:32:17

Notification preferences are important — especially if you’re building an application that sends dozens of notifications. Users want control over which kind of notifications they receive, and through what channels. That’s why it is essential to provide a well-designed preference experience that’s quick, intuitive, and guaranteed to respect your users’ chosen preferences.

With Courier, you can build great notification infrastructure effortlessly. But until now, preferences were handled separately, requiring engineers to spend a significant amount of time on both the back-end logic and the UI where users could select which notifications they want to receive and how.

As an engineer myself, I’ve had to build workflows like this several times in past projects & companies. But those days are over: we’re excited to announce general availability of Courier Preferences. With Courier Preferences, you can build a full notification Preference Center in no time. The clean interface, which comes with endless options for customization, lets users manage their preferences. Courier’s infrastructure will take care of the rest by integrating them into our core products that trigger sends.
![Preferences Center](//images.ctfassets.net/z7iqk1q8njt4/1zGTehzHW9Zhm9bF9mMJ54/7f165ef31524e36198b437e748075d4a/preferences_center.png)

*(Within the Preference Center, users can comfortably [opt in and out of notifications by topic and channel](https://www.courier.com/blog/pm-guide-to-preference-management/ "The PM’s Guide to Preference Management for Notifications"))*

Whether you want to build a bespoke notification experience with the Preferences API, embed our pre-built UI components, or use the hosted preferences page that Courier provides out of the box for faster time to value, is entirely up to you.

> *"Courier turned something that takes months into days. We were able to unlock the ability for our users to opt in/out of notifications in a customized Preference Center within one day. It was easy."*  
__Guilherme Samora__, Senior Product Manager, [Sastrify](https://www.sastrify.com/)

In this post, we’ll look at how to implement the best preference experience for your users. We’ll talk about how Courier makes it easy to handle preference settings and logs, and how the new Preferences Designer makes preference management a walk in the park. But first, let’s briefly recap why it’s important to implement preferences for your users.
## Notification preferences are a vital feature of any app
Aside from their core functionality of alerting your users to activity in the app that requires their attention, notifications can be used to increase users’ awareness of your product’s features, for marketing and other purposes. 

But getting all these kinds of notifications from different organizations can quickly become annoying for users. To make sure they remain in control of their own notification experience, and to avoid them turning off all notifications from your app, it is vital that you implement notification preferences that are fine-grained and easy to use. And it’s just as important that you respect those preferences and only send your users the notifications they really want.

Building notification preferences for your app from scratch is hard, especially if you use more than one channel to communicate with your users. It requires a significant amount of time and engineering resources — and don’t forget the need for future maintenance. By letting Courier host your preference infrastructure, you can instead use those resources to focus on building your core product. 
![Preferences Infrastructure](//images.ctfassets.net/z7iqk1q8njt4/7F272P2uQSET33IeUXnNv5/ee57c441348aa4e771bd187d6b6fa6ea/preferences-infrastructure.png)

Here at Courier, we have spent quite some time thinking about what the best preference experience looks like. It needs to be clean, customizable, and easy to use for the end users. It also needs to offer sufficient transparency for compliance and record-keeping purposes on the back end. Since these requirements align across products, there is no need for every company to build their own. Instead, Courier Preferences lets you set up the notification experience that you want for your users in just a few hours.

## How to design a good preference experience
You can now use the [Preferences Designer](https://www.courier.com/docs/courier-preferences/preference-center/introduction/#preferences-designer "Intro to Courier's Preferences Designer") in the Courier web interface to design the best preference experience for your users. (As an alternative to the Preferences Designer, you can use the Preferences API for a more native experience within your app — more on that later.)

Since most applications send out many different notifications, it can quickly become cumbersome for users to manually set preferences for every single option. For a better user experience, Courier groups notifications by [subscription topics](https://www.courier.com/docs/courier-preferences/#what-is-a-subscription-topic "What is a subscription topic") (formerly called “categories”). In addition, business tier Courier customers can bundle several topics by sections: as an example, you could set up two topics named “Feature launch” and “Product update” and file them both under a “Product” umbrella section, for even easier preference management.

Turning notifications on and off is not all, however. Notifications can be sent via [different channels](https://www.courier.com/docs/getting-started/courier-concepts/#channels "Getting started with Courier - Channels") in Courier, such as email, SMS, and push notifications. Users can select which channels they prefer for each subscription topic. For instance, they might prefer to be notified via email about a new message or rating on a social media platform, but not about minor interactions such as likes. Conversely, they may want to activate multiple channels — like SMS, email, and Slack — if there’s an emergency, like a security breach.

As a developer, you can turn certain notifications on and off by default for different topics and channels. You can also set certain indispensable notification topics as required. By marking a notification topic as required (for example, "Reset Password"), it prevents your users from disabling notifications for that topic, while reassuring them that they’ll still receive such critical notifications even if they disable everything else.
![Subscription Topics](//images.ctfassets.net/z7iqk1q8njt4/4QZxztLxHb1sx0Lxagztxc/1f489f232c4e074cd88b941715ff3ff6/subscription_topics.gif)

### Voilà: a user-facing Preference Center
In the Preferences Designer, you can preview how your users will see the Preference Center in their browser. The page is designed to be easily navigable: preferences for notification topics and channels can be turned on and off with the click of a mouse. 
![Preferences Center](//images.ctfassets.net/z7iqk1q8njt4/XEsGsLpOZrEmHfXynxBsx/34639f4228816802dd71a29635874a84/user-preferences.gif)

All of these features are available in our free tier. For more functionality, like multiple sections or the ability to remove the Courier watermark from the user-facing Preference Center, use our [Business plan](https://www.courier.com/request-demo "Request a demo of Courier").
### Your preference UI, hosted by Courier
You can now direct users to their personal Preference Center through a hyperlink in your notifications to them. In newer Courier workspaces, your notification templates will include this hyperlink by default. Otherwise, you can [add the link manually](https://www.courier.com/docs/courier-preferences/preference-center/hosted-page/#preference-center-link "How to add a Preference Center link to email").

By following the link, your users will be able to see and update their own notification preferences within the Preference Center. Note that this requires no login: by automatically encoding their __user_id__ in the Preference Center hyperlink, it will be personalized to that user, and their preferences will be saved in their profile in the back end. 
![Preferences architecture diagram](//images.ctfassets.net/z7iqk1q8njt4/7qkwz5ZMzIFWRXjdGoYcHw/49c0ee1ca66838f98efce8e9ffe8325c/Preferences__feature_launch_post_2.png)

And that’s it: the easiest way to create the best customized preference experience, with only a few clicks in the Courier Preferences Designer.    
## Build your own interface via the Preferences API
You don’t have to use the hosted Preference Center — you can build your own, or even integrate notification controls elsewhere in your application. Have a look at the [documentation for the Courier Preferences API](https://www.courier.com/docs/courier-preferences/user-preferences-api/ "Courier User Preferences API Docs") to learn more. 

Finally, you can choose the middle ground and embed [Courier’s prebuilt component](https://www.courier.com/docs/courier-preferences/use-guides/embed-courier-preferences/ "How to Embed Courier Preferences UI Components") in your own preferences UI. 
## A user-friendly unsubscribe experience
Unsubscribing from unwanted notifications should be fast and easy — and you should make sure to respect your users’ preferences to avoid unnecessary frustration. Similar to the preferences hyperlink, you can easily [embed an unsubscribe link](https://www.courier.com/docs/courier-preferences/use-guides/embed-courier-preferences/#unsubscribing-from-notifications "How to Embed Unsubscribe Link in Email Template") in your notification template. By clicking on it, users can unsubscribe from topics that they’re not interested in. 
## Keeping a digital paper trail of your users’ preference history
Keeping [logs of your users’ changes in preference settings](https://www.courier.com/docs/courier-preferences/logs/ "Preferences Log History") is useful for debugging, compliance, and solving issues in customer support. Courier automatically logs all your users’ changes in notification preferences and lets you view them via the API or directly in the Courier web interface. 

Let’s say, for instance, that a user isn’t receiving your notifications, even though they were enabled in their settings. You can now simply check the logs to determine where the error occurred. Conversely, a user might complain that they’re still receiving unwanted notifications after they thought they turned them off. By looking at the preference logs, you can see whether they indeed turned notifications off, or if they accidentally enabled them.
## Get started with Courier Preferences today
Being able to offer users a fine-grained and intuitive preference experience saves companies a lot of time and puts them further ahead on their roadmap. We’re excited to make preference management easy and smooth for businesses.

To learn more and start designing the best preference experience for your audience, take a closer look at [Courier Preferences](https://www.courier.com/features/preferences/ "Courier Preferences") and the [docs](https://www.courier.com/docs/courier-preferences/ "Courier Preferences Docs"). We’re sure your users will love it!