Skip to main content

Overview

The Hosted Preference Center provides a turnkey solution for user preference management without any development effort required. Courier hosts and maintains the preference interface, handling user authentication, preference updates, and data persistence while you focus on your core application. Users access their preferences through a branded, responsive interface that seamlessly integrates with your notification workflow.
Hosted Preference Center

Hosted Preference Center

Key Features

  • Zero Development Required - Fully hosted solution with automatic updates and maintenance
  • Custom Branding - Match your brand colors, logos, and styling for consistent user experience
  • Subscription Management - Users can opt in/out of notification topics you’ve configured
  • Channel Selection - Enterprise customers can enable user choice of delivery channels (email, SMS, push, chat)
  • Unsubscribe Handling - Built-in compliance with one-click unsubscribe and confirmation pages
  • Mobile Responsive - Optimized interface that works across all devices and screen sizes

Core Components

Preference Center URLs

Insert preference center URL variables in your notification templates to provide users with secure, auto-generated links to their preference management interface. Variable Format by Context:
  • Content Blocks (Text, Markdown, Quote, List): {$.urls.preferences}
  • Handlebars Templates (Template blocks, Email templates, Brand templates): {{var "urls.preferences"}}
  • Elemental JSON (Action buttons, link elements): "href": "{$.urls.preferences}"
Elemental Example:
{
  "type": "action",
  "content": "Manage Preferences",
  "href": "{$.urls.preferences}",
  "style": "button"
}
User ID Required: Include to.user_id in your Send request for preference links to work correctly. The user ID maps recipients to their preference profiles.Variable Context Matters: Using the wrong format will prevent the URL from rendering correctly. For comprehensive variable documentation, see Inserting Variables.

Implementation Options

In Notification Content Add preference links directly within notification body content for contextual access to settings.
Preference Link in Notification

Preference Link in Notification

In Brand Footer Include preference links in your brand footer for consistent access across all notifications.
Preference Link in Brand Footer

Preference Link in Brand Footer

Preview Behavior: Preview emails show mock URLs instead of functional preference links since they’re not sent to actual users.

Unsubscribe Management

Provide users with one-click unsubscribe functionality using unsubscribe URL variables. This link removes users from the specific subscription topic associated with the notification. Variable Format by Context:
  • Content Blocks (Text, Markdown, Quote, List): {$.urls.unsubscribe}
  • Handlebars Templates (Template blocks, Email templates, Brand templates): {{var "urls.unsubscribe"}}
  • Elemental JSON (Action buttons, link elements): "href": "{$.urls.unsubscribe}"
Elemental Example:
{
  "type": "action",
  "content": "Unsubscribe",
  "href": "{$.urls.unsubscribe}",
  "style": "link"
}
Variable Context Matters: Using the wrong format will prevent the URL from rendering correctly. For comprehensive variable documentation, see Inserting Variables.
Unsubscribe Link

Unsubscribe Link

Unsubscribe Confirmation

Users who click unsubscribe links are redirected to a confirmation page that clearly indicates their subscription status and provides options for preference management.
Unsubscribe Confirmation Page

Unsubscribe Confirmation Page

Scope: Unsubscribe links remove users from the entire subscription topic, including all associated notification templates and delivery channels.

Customization Options

Brand Integration

The hosted preference center automatically applies your brand styling including logos, colors, and typography from your default brand configuration.

Channel Selection

Availability: Delivery Channel customization is available for Enterprise customers. Contact Courier Support for access or Request a Demo to learn more about how Courier could help you.
Enterprise customers can enable users to select their preferred delivery channels for each subscription topic. User selections are reflected in the custom_routing array when querying the Preferences API.
{
  "topic": {
    "custom_routing": [
      "email"
    ],
    "has_custom_routing": true,
    "default_status": "OPTED_IN",
    "section_id": "_ysuowndfnousd",
    "section_name": "Notifications",
    "status": "OPTED_IN",
    "topic_id": "TOPIC_ID",
    "topic_name": "Tips and Tricks"
  }
}
Channel Conditions: Template-level send conditions will not override user custom_routing preferences. Use variable guardrails to disable channels when required data is missing.

Implementation Workflow

Setup and Configuration

  1. Configure Subscription Topics - Use the Preferences Editor to create notification categories
  2. Map Templates - Associate notification templates with subscription topics for automatic preference enforcement
  3. Add Preference Links - Insert {$.urls.preferences} variables in templates or brand footers
  4. Test User Flow - Preview the preference center and verify user experience

Preview and Testing

Preview your hosted preference center before deploying:
Preference Center Preview

Preference Center Preview

Access preview functionality through the Preferences Editor to validate styling, content, and user workflow.
Best Practice: Test preference changes with real user data to ensure notifications respect user choices and custom routing works as expected.

Next Steps