All articles
Guide 6 min read

How to Set Up Status Page Monitoring for Push Notification Services in 2026

Push notification outages are silent and hard to detect. Here's how to monitor FCM, APNs, and web push infrastructure and communicate delivery issues before users notice.

L
Livstat Team
·
How to Set Up Status Page Monitoring for Push Notification Services in 2026

TL;DR: Push notification failures are invisible until users complain about missed alerts. Monitor delivery latency, provider API health (FCM, APNs, OneSignal, web push), token registration success rates, and queue backlogs. Set up synthetic push tests, track a public status page component for "Notifications," and alert on delivery rate drops — not just downtime — since push services rarely go fully offline, they just degrade silently.

Push notifications are the quietest point of failure in modern apps. When your API goes down, users get error pages and complain immediately. When push delivery degrades, nothing happens — messages just don't arrive, and you find out days later when engagement metrics tank or support tickets pile up about missed order updates and security codes.

In 2026, push infrastructure spans multiple third-party providers, each with its own uptime quirks. Monitoring it properly requires a different playbook than typical API or web monitoring.

Why Push Notification Monitoring Is Different

Most uptime checks are binary: the endpoint responds or it doesn't. Push notification systems fail in gray areas instead:

  • Delayed delivery — messages arrive 20 minutes late instead of instantly
  • Silent drops — the send API returns success, but the device never receives the payload
  • Partial provider outages — iOS push works fine while Android delivery stalls
  • Token invalidation spikes — a provider-side change causes mass unregistration

A study of mobile engagement platforms found that push delivery success rates below 90% often go undetected for over 48 hours without dedicated monitoring — because the sending API itself reports "200 OK" the entire time.

Map Your Push Notification Stack

Before configuring monitors, document every component in your delivery chain:

  1. Your backend service that queues and triggers sends
  2. Third-party push providers — Firebase Cloud Messaging (FCM), Apple Push Notification service (APNs), OneSignal, Amazon SNS, or Pusher Beams
  3. Device token registry — where you store and validate tokens
  4. Web push endpoints — browser-based push (Chrome, Safari, Firefox all use different services)
  5. Delivery confirmation webhooks, if your provider supports them

Each layer needs its own check. A single "is FCM up" monitor tells you nothing about whether your own queue is backing up.

Step 1: Monitor Provider API Health

FCM, APNs, and OneSignal all publish status pages, but relying on vendor status pages alone is risky — they're often slow to acknowledge partial degradation. Instead:

  • Set up HTTP checks against provider API endpoints (e.g., FCM's /send endpoint) with a low-priority test payload
  • Track response time percentiles (p50, p95, p99), not just success/fail
  • Configure alerts when response times exceed 2x baseline for more than 5 minutes

If you use multiple providers for redundancy (common in cross-platform apps), monitor each independently so a Google-side FCM issue doesn't get masked by a healthy APNs check.

Step 2: Run Synthetic Push Delivery Tests

The most reliable signal is an actual end-to-end test:

  1. Register a dedicated test device or headless client for each platform (iOS, Android, web)
  2. Send a scheduled test notification every 5-10 minutes
  3. Confirm receipt via a lightweight acknowledgment endpoint the test client calls back
  4. Measure the full round-trip time from send to confirmed receipt

This catches the failure mode that matters most: your API says "sent" but nothing arrives. Without synthetic delivery tests, you're monitoring intent, not outcome.

Step 3: Track Delivery Rate, Not Just Uptime

Set up a dashboard metric for delivery success rate over rolling windows:

  • Healthy baseline: 95%+ delivery within 60 seconds
  • Degraded: 80-95% delivery or delays over 5 minutes
  • Critical: below 80% delivery or delays over 15 minutes

Alert on rate-of-change, not just thresholds. A drop from 98% to 91% in 10 minutes is more urgent than a slow decline over a week, even though the raw number looks less alarming.

Step 4: Monitor the Queue and Backend Pipeline

If you batch or queue notifications before sending, monitor:

  • Queue depth — a growing backlog signals a downstream bottleneck
  • Processing latency — time from enqueue to dispatch
  • Retry rate — spikes indicate provider-side rejection or rate limiting
  • Dead letter queue size — messages that failed permanently after retries

A queue depth that climbs steadily for 30+ minutes without recovering is often the earliest warning sign, appearing before your delivery rate metrics even dip.

Step 5: Watch Token Health

Device tokens expire, rotate, and get invalidated constantly. Monitor:

  • Invalid token rate — a sudden spike often means a provider changed token formats or your app has a registration bug
  • Re-registration success rate — confirms your app can recover tokens after invalidation
  • Stale token percentage — tokens not refreshed in 30+ days, which inflates your "sent" counts with undeliverable targets

Step 6: Build a Public Status Page Component

Users and internal teams both need visibility into push health without digging through logs. Create a dedicated "Push Notifications" component on your status page with sub-components for:

  • iOS push delivery
  • Android push delivery
  • Web push delivery
  • Email/SMS fallback (if your system degrades to these channels during push outages)

With Livstat, you can wire these components to your synthetic delivery test results, so the public page automatically flips to "Degraded Performance" when delivery rates or latency cross your defined thresholds — no manual updates needed during an incident.

Step 7: Configure Fallback and Escalation Alerts

Define what happens when push degrades:

  • Tier 1 (delivery >95%): no action, log only
  • Tier 2 (delivery 80-95%): alert on-call engineer via Slack, post internal status update
  • Tier 3 (delivery <80%): page on-call, trigger public incident on status page, consider fallback to SMS/email for critical notifications (2FA codes, payment alerts)

For time-sensitive notifications like authentication codes, build automatic fallback logic so a push outage doesn't lock users out of security-critical flows.

Common Mistakes to Avoid

  • Trusting the send API response alone. A 200 status from FCM or APNs only confirms the message was accepted, not delivered.
  • Ignoring platform-specific failures. iOS and Android push infrastructure fail independently — monitor them separately.
  • No baseline for "normal." Without historical delivery rate data, you can't tell degraded from healthy.
  • Treating push like a website check. Uptime pings every 60 seconds won't catch delivery delays that unfold over minutes.

Key Takeaway

Push notification outages rarely look like outages — they look like silence. The teams that catch these issues early are the ones measuring delivery rate, latency, and queue health as first-class metrics, not just pinging an API endpoint and calling it done.

Set up synthetic delivery tests across every platform you support, track rate-of-change on delivery metrics, and give your team and users a clear status page component that reflects real delivery health. When push infrastructure degrades at 2am, you want to know from your dashboard — not from a support ticket asking why nobody got their order confirmation.

push notificationsstatus page monitoringFCMAPNsincident management

Need a status page?

Set up monitoring and a public status page in 2 minutes. Free forever.

Get Started Free

More articles