Preferences allow users to opt out of notification categories, choose their preferred communication channels, and set the frequency of notifications. Providing granular preferences significantly reduces the likelihood of users disabling all notifications from your platform.

In SuprSend, you have access to ready-made UI and APIs that facilitate simple to complex multi-tenant preference use cases. This includes allowing admins to set preferences for internal teams and managing notifications for enterprise customers, where companies, customers, and end users, all have different preferences.

How preferences work?

Every user will have a preference set within SuprSend and users get notifications in the category and channel they haven’t opted-out from. If user preferences are not set for a category, it falls back to default preferences.

Preference set contains three level of preferences: channel_preferences (for channel-level opt-outs), categories, and opt_out_channels within each category. In the below example, user has opted out of email, invoice-ready category and slack channel in payment-reminder category.

{
  "channel_preferences": [
    {
      "channel": "email",
      "is_restricted": true
    }
  ],
  "categories": [
    {
      "category": "invoice-ready",
      "preference": "opt_out"
    },
    {
      "category": "payment-reminder",
      "preference": "opt_in",
      "opt_out_channels": [
        "slack"
      ]
    }
  ]
}

Set up preference categories in SuprSend

Create notification category

To setup notification preferences, you first have to create notification categories. While you can create one category for each trigger, we recommend grouping similar notifications to make categories more user-friendly. You can also add sections to organize your categories better.

Do not add too many categories as it can drive users to use channel level opt-outs.

Creating Billing section

Adding categories in Billing section

You can update notification categories from Developers -> Preference categories page. Categories are added within 3 predefined root categories:

  • System: For critical system notifications like OTPs, verification, and authentication. Users cannot opt out of this category.
  • Transactional: Notifications related to user transactions on your platform, such as payment confirmations, delivery statuses, comments. Default preference in this category is opt-in, can be changed at individual category level.
  • Promotional: Marketing notifications like newsletter, announcements, deals and discounts. Default preference is opt-out in this category, can be changed at individual category level.

Set default preferences

If user has not set preferences in a category, notifications are sent based on default preferences. Default preferences are configured in notification category. Tenant can override default preference for their users. The same can be set using tenant preference API or from tenant details page.

You can set following default preferences at category level:

  1. **On **: opt-in on all channels
  2. **Off **: opt-out on all channels
  3. **Can’t Unsubscribe **: use this to prevent users from completely opting out of critical notification categories, such as anomaly alerts or important transactions (e.g., completed trades, payments). Channel opt-out of does not block notifications from mandatory channels in this category.

Map category to notifications

Once set, publish your preference categories to see the latest categories in workflow. You can then map these categories when configuring your workflow for preferences to take effect.

Capture user preferences

You can capture user preference choice using an out-of-the-box hosted subscription page or by embedding a preference center within your product.

Hosted Preference Page

Once you publish preference categories, SuprSend automatically generates a dedicated webpage for collecting out-of-the-box user preferences. Users can set channel-specific preferences from the hosted page. For example, if you add it in your email, it will display only the relevant preference categories for email, and user selections will also be saved for email. Include it in your templates using {{$hosted_preference_url}}.

This page is currently hosted on the SuprSend domain, but you can contact us if you’d like it hosted on your own domain.

Embed in your product

You can load the preference interface inside your product using our ready UI code. SDKs are available in below languages. You can update your product preference page link on tenant page and render it in templates using {{$embedded_preference_url}}.

Channel specific unsubscription options

In addition to the preference center within SuprSend, communication channels provide their own opt-out options, which SuprSend manages internally.

Controlling what categories to show on UI

In a multi-tenant system, tenants can manage which notifications are visible to their end users. For example, a company admin might want to set notification preferences for their team, ensuring that team members only see categories relevant to them or those they are opted into by the admin. This behavior can be controlled by setting visible_to_subscriber to false in the default tenant preferences.

The same can be controlled for your tenants by turning off category preference from SuprSend console. For instance, if you operate a SaaS platform where customers access different services or products based on their pricing plans, you can ensure that users only see the categories available to them.

Preference evaluation

When a workflow is triggered, preference is evaluated for each recipient before each delivery node.

Evaluating Recipient preferences

If recipient preferences are not set, default preference setting is picked. Once user preference is set in a category, any changes in the default preference of existing categories will not effect recipient preferences.

Factoring in tenant preferences

If you are triggering notification for a tenant, tenant default preference setting takes precedence over default preference set at category level.

Resolving preference conflicts

The order of precedence is always user > tenant > org (set in notification category settings). However, if you turn off notifications in a category from the tenant page, users will not receive notifications in that category.

Debugging preference evaluation in workflow runs

User preferences can change over time and when checking a workflow run, you need to know what was user’s preferences at that time. You can view this using the step-by-step debugger in workflow executions.

You can also track when user updated their preference by filtering on Subscriber preference update in request logs.

Tenant Preference

In multi-tenant B2B and B2B2C products, you can use tenant preference to allow company admins setting preference for their internal team / departments or your enterprise customers setting preference for their end users.


Frequently asked questions