Dennis walks you through troubleshooting
failed SNS push notification deliveries


What’s the best way to confirm delivery status of Amazon SNS push notifications, and how do I determine why some notifications fail?

Enabling Amazon SNS delivery status logs your push notification transactions to Amazon CloudWatch Logs, logging both successful and failed deliveries.

You can enable delivery status for Amazon SNS platform applications by using the AWS Management Console, AWS SDKs, or the AWS CLI.

To enable delivery status for a platform application through the AWS management console, complete the following steps:

  1. Open the Amazon SNS console.
  2. Choose Applications.
  3. Select the platform application for which to enable delivery status.
  4. For Actions, choose Delivery status.
  5. Choose Create IAM roles. This redirects you to the IAM console.
  6. In the requesting permission page, choose Allow.
  7. Choose Save configuration.

To view your logs, open the Amazon CloudWatch console and choose Logs from the navigation pane on the left. Depending on which application type you’re using, you might see two log groups for your platform application; generally, one is for successful notifications and the other is for failed notifications. Note: The logs are not visible in the console until messages have been published to an endpoint.

The format of the GCM and APNS logs for SNS Platform Applications is similar to the following:


“Failed” is appended to the log entry if the delivery was unsuccessful.

The logs provide the time taken (dwellTimeMs), message ID, destination endpoint, the response from the provider, and a status code. For push notifications, a successful publication occurs when Amazon SNS hands off the message to the provider; it does not guarantee that the notification was delivered to the device.

Troubleshoot message failure by looking up the status code with the provider; providerResponse is the exact response message from Apple (APNS) or Google (GCM).

Did this page help you? Yes | No

Back to the AWS Support Knowledge Center

Need help? Visit the AWS Support Center

Published: 2016-08-24