← Blog · July 24, 2026
If you send push notifications through Firebase Cloud Messaging directly, you've probably run into this: delivery rates creep down over time, and there's no single place that tells you why. A common cause is stale registration tokens — FCM tokens tied to devices that reinstalled the app, cleared local storage, or haven't opened it in months.
Firebase doesn't proactively tell you a token has gone bad. You usually find out from the send response: a messaging/registration-token-not-registered or messaging/invalid-registration-token error code on that specific token, returned only at send time.
Prune on send, not on a schedule — a token only proves itself invalid when you try to use it. After every send, drop any token that came back with one of the two error codes above so your next send doesn't pay for it again. Pushbrain does this automatically after every broadcast and surfaces the pruned count alongside sent/failed in your notification history, so a slowly-declining device count is visible instead of silent.