Delivery

Users want notifications on multiple channels, and a delivery represents an attempt to send a notification through a specific channel. Each notification can have multiple deliveries, one for each channel configured for the user.

Deliveries have the following characteristics:

  • They are tied to a specific notification and user.
  • They target a single channel such as email, mobile push, web push, or SMS.
  • They track the delivery state and timestamps for actions like delivery, read, and archive.
  • They can contain channel-specific overrides of the notification content.
  • They provide a history of notification delivery attempts across different channels.

Lifecycle

  1. A delivery is created when a notification is ready to be sent on a channel.
  2. Each delivery is processed according to the channel it targets.
  3. Delivery states are updated as the notification progresses (scheduled, delivered, failed).
  4. User interactions with the delivered notifications are tracked through various timestamps.

Best Practices

  • Monitor delivery states to identify channel-specific delivery issues.
  • Use channel-specific overrides to optimize the notification format for each channel.
  • Consider notification preferences when determining which deliveries to create.
  • Track delivery metrics to understand which channels are most effective for your users.
  • Use delivery timestamps to analyze when users engage with different channels.