Message Queues & StreamingNotification System Design (Push Notifications)Medium⏱️ ~2 min

Notification Channel Trade-offs: Push vs SMS vs Email

Choosing the right notification channel requires understanding concrete trade-offs in cost, latency, and reliability. Push notifications have the lowest marginal cost (fractions of a cent per thousand) and richest device integration with support for images, actions, and deep links. However, delivery is unpredictable under low power modes. Android Doze can defer normal priority messages for minutes or hours, and iOS applies collapse semantics that coalesce updates. Push works best for real time user experience updates like chat messages or feed refreshes where occasional delays are acceptable. Short Message Service (SMS) provides the highest reliability and fastest device wake up, typically delivering within seconds even when apps are closed or devices are in power saving modes. Carriers maintain separate delivery infrastructure that bypasses application layer throttling. However, SMS costs 50 to 1000 times more than push (roughly $0.01 to $0.05 per message depending on region and carrier) and is subject to carrier specific restrictions and regulatory compliance. Use SMS exclusively for high value, time sensitive notifications like one time passwords, fraud alerts, or delivery confirmations where guaranteed wake up justifies the cost. Email occupies the middle ground with low cost at scale (roughly $0.10 to $1.00 per thousand messages) but tolerance for minutes to hours of latency. Email excels for content rich notifications like weekly summaries, receipts, or newsletters where users expect to consume in batches rather than immediately. Major providers like Amazon Simple Email Service (SES) or SendGrid handle deliverability concerns including Sender Policy Framework (SPF), DomainKeys Identified Mail (DKIM), and Domain-based Message Authentication, Reporting, and Conformance (DMARC) authentication, but you still need to manage reputation and bounce rates to maintain inbox placement. In practice, systems use multiple channels in combination. A ride sharing app might send a push notification when a driver arrives (immediate, low cost), an SMS backup if the push fails to deliver within 30 seconds (guaranteed wake), and an email receipt after trip completion (durable record). This layered approach balances cost against reliability for different urgency tiers.
💡 Key Takeaways
Push notifications cost fractions of a cent per thousand messages but suffer from unpredictable delivery under power saving modes. Android Doze can defer normal priority by minutes; iOS collapses updates by identifier.
SMS costs $0.01 to $0.05 per message (50 to 1000 times more expensive than push) but provides guaranteed device wake and sub 5 second delivery even with apps closed. Reserve for one time passwords and fraud alerts only.
Email costs $0.10 to $1.00 per thousand messages and tolerates minutes to hours latency. Ideal for receipts, summaries, and marketing where batch consumption is expected and durable records are valuable.
Channel selection impacts system design: push requires managing device token lifecycle and provider throttling; SMS needs carrier routing and regional compliance; email demands reputation management and bounce handling.
Layered delivery strategies combine channels by urgency: send push first, fallback to SMS after 30 second timeout for critical notifications, and always send email for durable record keeping regardless of real time delivery.
📌 Examples
Uber sends push when driver is 2 minutes away (immediate, low cost), SMS if push undelivered after 30 seconds (guaranteed wake for pickup), and email receipt post ride (permanent record with fare breakdown).
Banking apps use push for transaction notifications (immediate fraud detection), SMS for one time password during login (guaranteed delivery despite app state), and email for monthly statements (batch consumption, archival).
Amazon uses push for delivery updates and deal alerts (high volume, immediate), SMS for delivery exceptions requiring user action (critical, guaranteed), and email for order confirmations and shipping details (durable reference).
← Back to Notification System Design (Push Notifications) Overview
Notification Channel Trade-offs: Push vs SMS vs Email | Notification System Design (Push Notifications) - System Overflow