FCM Expired Token FAQ

Updates on how FCM handles push tokens for inactive devices.

Android devices and Chrome browsers receive push notifications through a technology called Firebase Cloud Messaging (FCM). FCM recently announced that starting May 15, 2024, they will begin to expire tokens for devices that have been inactive for more than 270 days. These devices may be lost, destroyed, or put into storage and forgotten and are considered no longer reachable.

FCM is gradually rolling out changes and has not provided guidance on the timing of when apps will be affected. When your app is included in the rollout, you may see an increase in Android and/or Chrome unsubscribes the next time you send a push notification to those inactive devices.

This is a cleanup exercise from Google–your expected clicks and sessions and the value you get from OneSignal will not change. In addition, you may see some benefits, including:

  • More accurate analytics: your CTR will more accurately reflect your reachable audience and the level of engagement
  • Faster delivery: removing inactive devices results in smaller audiences, and the campaign finishes delivering faster
  • Less manual work: save on time previously spent managing inactive audiences

FAQ

Why did I see an increase in Android and/or Chrome unsubscribes?

Starting May 15, 2024, FCM is expiring tokens for devices that have been inactive for more than 270 days. When the changes roll out to your app, the next time you send a push notification to those inactive devices, their push subscriptions will be unsubscribed, and you will see an increase in unsubscribe counts reflected in your OneSignal dashboard and delivery reports.

Why did I not see an increase in Android and/or Chrome unsubscribes?

FCM is gradually rolling out changes, so your app may not have been included yet. In addition, the unsubscribes are not automatic - your app will only show the corresponding unsubscribes when you try to send a notification to those inactive devices. If you have a highly active user base or you don’t send to inactive users, you may not see an increase in unsubscribes.

What happens after the device token is expired?

After FCM expires the push token, the token will not be valid again. The device will be unsubscribed, but it will continue to exist in OneSignal with the associated data until you choose to delete it. However, that particular token will never be reachable again.

Does this mean that if I haven’t seen a user in 270 days, they will automatically be unsubscribed?

FCM is measuring inactivity on the device level, not on the individual Firebase project level. This means that even if the device hasn’t interacted with your app in the past 270 days, the device could still be active and therefore wouldn’t be deleted. You won’t be able to tell if the device is inactive until you try to send a notification and then see it unsubscribed.

What if an inactive device comes back online?

When the device comes back online, the user will have to open your application again, and the OneSignal SDK will automatically get a new push token that will update on the existing subscription record. The user will keep their subscribed status for push notifications and will not have to opt-in to push again as push permissions are stored on the device side for a given app.

How can I differentiate between an active Android device that unsubscribes and an inactive Android device that is unsubscribed by FCM?

Unfortunately, FCM does not differentiate between the types of unsubscribes, so you will not be able to differentiate.

Do I need to make any code changes?

OneSignal will take care of handling the errors and subscription updates, and no code changes are needed from you.

Is there anything I can do to reach out to those unsubscribed Android devices?

Since that device has not been seen in over 270 days, it likely is not used anymore. So while you can’t reach that specific device anymore, you may still be able to reach the user. If you have added an external ID to unify different subscriptions to a single user, you can continue to communicate with that user in a different channel, such as email or SMS.