A message has a lifecycle
A notification moves through states: queued, sent to a provider, delivered to the device, and sometimes read or clicked. Tracking these states gives debugging, analytics, and user facing read receipts.
Where states come from
- Queued and sent are known internally when the service hands off to a provider.
- Delivered comes from gateway receipts or webhooks.
- Read comes from the client app reporting back.
Storage
Each notification has a record updated as events arrive. Because updates are out of order and may be delayed, the store uses idempotent state transitions that never move backward.
Using the data
Aggregated status feeds deliverability dashboards, alerts on a provider going dark, and per user history. Timeouts between sent and delivered hint at gateway trouble.
Key idea
Status tracking records each notification through queued sent delivered and read so you get debugging analytics and receipts.