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

Notification Channel Trade-offs: Push vs SMS vs Email

Channel Trade-off Matrix:
📱 Push
Cost: ~$0.001/1K
Latency: Variable (Doze delays)
Best for: Real-time UX updates
💬 SMS
Cost: $0.01-0.05/msg
Latency: Seconds (guaranteed)
Best for: OTPs, fraud alerts
📧 Email
Cost: $0.10-1/1K
Latency: Minutes-hours
Best for: Receipts, summaries
Push Notifications: Lowest marginal cost and richest device integration (images, actions, deep links). However, delivery unpredictable under low-power modes—Android Doze can defer normal-priority messages for minutes/hours, iOS applies collapse semantics. Best for chat messages, feed refreshes where occasional delays are acceptable. SMS: Highest reliability and fastest device wake-up (seconds even when apps closed). Carriers maintain separate infrastructure bypassing app-layer throttling. Costs 50-1000× more than push—use exclusively for high-value, time-sensitive notifications where guaranteed wake-up justifies cost. Layered Approach: Combine channels per urgency tier. Example: ride-sharing app sends push when driver arrives (immediate, low cost), SMS backup if push fails within 30 seconds (guaranteed wake), email receipt after completion (durable record).
💡 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.
📌 Interview Tips
1Uber 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).
2Banking 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).
3Amazon 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