Skip to main content
Courier tracks every notification from API request through routing, rendering, provider handoff, and delivery. Use message logs to debug individual sends, template analytics to compare channel performance, and audit trails to review workspace changes.

Key Concepts

Message Statuses

Every notification moves through a lifecycle: Enqueued (received by Courier), Routed (channel selected), Sent (handed to provider), Delivered (provider confirmed delivery), Opened/Clicked (user engaged). If something goes wrong, you’ll see Undeliverable or Unroutable with a reason.

Environment Isolation

Logs and analytics are scoped to the environment (Production or Test) of the API key used to send. Sends made with a test key only appear in the Test dashboard, and vice versa.

Retention

Message logs are retained based on your plan tier. Check your plan details or contact support for specific retention windows.

Common Workflows

Debug a failed send: Open Message Logs and filter by recipient, status, or time range. Each log entry shows a timeline of events (enqueued, routed, sent, delivered) plus the rendered content that was sent to the provider. If a send failed, the log tells you exactly where and why. Compare channel performance: Open Template Analytics to see send volume, delivery rates, opens, and clicks broken down by channel and provider. Use this to decide whether to prioritize email over push for a given template, or to spot a provider with an unusually high error rate. Audit workspace changes: The Audit Trail records who changed what and when; API key rotations, user invitations, integration updates, and template publications. Use it for compliance reporting or to trace unexpected configuration changes. Track engagement with custom domains: If you use a custom domain for email tracking links, configure it in Custom Domain Tracking so open and click events resolve to your brand instead of Courier’s default domain.

Next Steps