Troubleshoot Common Push Errors

Push Notifications can fail for various reasons- the token might have expired or the push message may have been too large for the Push service to process, and so on. Here are the most frequently occurring errors and their reasons.

Internal Errors

There are a few errors that are generated by our internal system and are applicable to pushes sent to all the platforms.

Error Description
Personalization Failed Occurs when Push Personalization fails and no Fallback Message was set. The system will not send the notification to the user and will generate the Personalization Failed error.
Removed due to Minimum Delay Occurs when notifications were not sent to a few devices because they were breaching minimum delay settings for Push Notifications. Marketers can use Ignore Minimum Delay setting in the campaign to avoid this failure.
Push Amp+ targets were invalid

Occurs when the Push Amp+ tokens are not valid or not found while sending the notifications.
Occurs when Push amp + notifications are sent through a different token. The token is different from the FCM token and not generated by the SDK.

When the token is invalid or not found MoEngage cannot reach the users using Push Amp+.

Platform Errors

MoEngage sends Android and iOS Notifications using FCM and APNS services respectively. If errors are encountered while using these services, notifications may not be sent. Here is a list of common errors for reference.

  1. Android - GCM/FCM
  2. iOS

Android - Google Cloud Messaging / Firebase Cloud Messaging Errors

Error Description
Invalid Registration If you are handling GCM yourself, you may have passed an Invalid token
Not Registered

An existing registration token may cease to be valid in a number of scenarios, including:

  • If the registration token expires (for example, Google might decide to refresh registration tokens, or the APNS token has expired for iOS devices).
  • If the client app is updated but the new version is not configured to receive messages.
  • The device is uninstalled.

FCM Message rate exceeded

(May also appear as error starting with "Quotaexceededforquotametric...")

Sending speed is exceeding the service capacity for your FCM account. Requests beyond serving capacity are rejected to limit the ingress flow rate. This happens because of multiple campaigns being triggered at the same time at high speeds. Consider spacing out campaigns or reducing request limits in the campaign delivery control.

To learn more, refer to Changes in Sending Speed with Private Key Configuration

Google Authentication Error (GAE) Check the sender ID on the MoEngage dashboard. If you are handling push yourself, you have sent the wrong token to MoEngage. Read this FAQ doc.
Mismatch Sender Id The GCM/FCM Server Key provided to MoEngage & the one with which the token was registered do not match. Update the Android Server Key saved with MoEngage at MoEngage Dashboard > Channel > Push > Mobile Push
Invalid JSON Check that the JSON message is properly formatted and contains valid fields in the Name-Value pairs you are passing
Message Too Big Check that the total size of the payload data included in a message does not exceed GCM limits: 4096 bytes. You may need to reduce the number of Name-Value pairs you are passing
Invalid DataKey Check that the name-value pairs you provided in the data do not contain a key (such as from, GCM, or any value prefixed by google) that is used internally by GCM. Note that some words (such as collapse_key) are also used by GCM but are allowed in the payload, in which case the payload value will be overridden by the GCM value.
Device Message Rate Exceeded The rate of messages to a particular user is too high.
Push Amp+ targets were invalid

The Push Amp+ tokens are not valid or not found at the time of sending the notifications.

For the next run, we update these tokens with the new valid ones sent to us in the callbacks or remove them from our system.

 iOS - Apple Push Notification Service Errors

Error String Description
Processing error There was an issue at APNS’s end
Others Usually a network outage between MoEngage & APNS
Invalid token The token for the users has expired
Invalid payload size Check that the total size of the payload data included in a message does not exceed APNS limits: 4096 bytes. You may need to reduce the number of key-value pairs you are passing
Invalid token size The token provided to MoEngage was not correct
BadCollapseId The collapse identifier exceeds the maximum allowed size
BadDeviceToken The specified device token was bad. Verify that the request contains a valid token and that the token matches the environment
BadExpirationDate The apns-expiration value is incorrect
BadMessageId The apns-id value is incorrect
BadPriority The apns-priority value is incorrect
BadTopic The apns-topic was invalid
DeviceTokenNotForTopic The device token does not match the specified topic
DuplicateHeaders One or more headers were repeated
IdleTimeout Idle time out
MissingDeviceToken The device token is not specified in the request: path. Verify that the: path header contains the device token
MissingTopic The apns-topic header of the request was not specified and was required. The apns-topic header is mandatory when the client is connected using a certificate that supports multiple topics
PayloadEmpty The message payload was empty
TopicDisallowed Pushing to this topic is not allowed
BadCertificate The certificate was bad
BadCertificateEnvironment The client certificate was for the wrong environment
ExpiredProviderToken The provider token is stale and a new token should be generated
Forbidden The specified action is not allowed
InvalidProviderToken The provider token is not valid or the token signature could not be verified
MissingProviderToken No provider certificate was used to connect to APNs and Authorization header was missing or no provider token was specified
BadPath The request contained a bad: path value
MethodNotAllowed The specified: method was not POST
Unregistered The device token is inactive for the specified topic. The expected HTTP/2 status code is 410; see Table 8-6
PayloadTooLarge The message payload was too large. See The Remote Notification Payload for details on the maximum payload size
TooManyProviderTokenUpdates The provider token is being updated too often
TooManyRequests Too many requests were made consecutively to the same device token
InternalServerError An internal server error occurred
ServiceUnavailable The service is unavailable
Shutdown The server is shutting down



Was this article helpful?
11 out of 59 found this helpful

How can we improve this article?