Skip to main content
Push message reports help you track the performance of individual push message sends, including delivery outcomes, user engagement (CTR), device-level confirmations, and error diagnostics.

Delivery metrics

OneSignal sends push notifications to push services (Google FCM, Apple APNs, Huawei HMS) which deliver them to your users’ devices (Subscriptions). The Delivered, Unsubscribed, and Failed metrics come from these push services. The Confirmed Delivery and Clicked metrics come from the OneSignal SDK on the device.
MetricDefinition
SentThe number of messages successfully sent from OneSignal to the provider.
Total AttemptedThe number of messages we attempted to send. This includes messages successfully sent to the push provider and failures. This is a derived metric and is a sum of successes, failures and errors while attempting to send to the provider.
AudienceThe number of subscriptions in the targeted segment(s).
DeliveredThe number of push subscriptions to which the push service (FCM, APNs, HMS) reported delivering the notification. This is distinct from Confirmed Delivery, which is verified by the OneSignal SDK on the device.
UnsubscribedThe number of push subscriptions that did not receive the message because they uninstalled the app, cleared browser data, or opted out of push and have not opened the app since. We will not attempt to send to these subscriptions in future messages.
FailedThe number of push subscriptions that did not receive a notification because of an error. We will attempt to send to these subscriptions in future messages.
ClickedThe number of clicks on a notification.
Frequency CappedThe number of push subscriptions that the notification was not sent to due to frequency cap settings.
The following metrics are specific to push message reports:
MetricDefinition
Confirmed DeliveryThe number of push Subscriptions that confirmed receiving the message.
RemainingThe number of notifications still queued on the OneSignal side for sending.
Click-Through RateCalculated as (Clicks / Delivered) * 100%.
Confirmed CTRCalculated as (Clicks / Confirmed Delivered) * 100%.
Influenced OpensThe number of app opens that occurred after receiving the notification, without clicking. Based on time window set in Settings > Push & In-App > Influenced Opens.
For detailed metric definitions across all channels, see the Metrics Glossary.

Failure message troubleshooting

These errors prevented OneSignal from delivering the message to the push provider:
ErrorTypeTroubleshooting Steps
401 UnauthorizedWebWeb push server gave an unclear 401 error. Retry cautiously — it may cause duplicate sends.
404 Not FoundWebInvalid push subscription endpoint (bad token).
Authentication ErrorFCMCheck your FCM credentials, re-upload the service account file, and try again.
DeviceTokenNotForTopicAPNsToken’s Bundle ID does not match your APNs key or certificate. Fix in p8 token or p12 setup.
Expired CertificateAPNsYour p12 certificate has expired. See certificate setup.
FcmV1InvalidToken / Not FoundFCMInvalid push token. Check Firebase credentials. Devices must reopen app to refresh tokens.
None / MissingFCMFirebase Cloud Messaging API may not be enabled in your project. Activate in the Firebase Console and retry.
Permission DeniedFCMCheck the full error message for which permission is missing. Update the permission for the Service Account file and re-upload it to OneSignal.
SenderIdMismatchFCMFCM v1 Sender ID mismatch. Verify Firebase credentials. Users must reopen the app for updated tokens.
TopicDisallowedAPNsAPNs token mismatch. Check your Team ID, Key ID, and Bundle ID in p8 config.

Delivery status

StatusDescription
DeliveredPush service has reported delivery of the message to recipients.
ScheduledMessage is scheduled for future delivery.
SendingMessage is actively being sent.
QueuedMessage is waiting to be sent.
CanceledMessage was manually canceled. See Cancel push notifications.
No RecipientsNo valid audience at send time (e.g. unsubscribed or out of segment).
FailedOneSignal could not send the message due to errors.

Conversions

Coming soonConversion metrics will be available on message reports. Once available, you will see attributed and influenced conversions for each message directly in its report. See Conversion metrics for details on the attribution model and setup instructions.

Message statistics

The message statistics graph tracks clicks, sessions, and custom outcomes over the 30 days following a send. Use it to see whether engagement occurred immediately after delivery or continued over time.

Custom outcomes (legacy)

Track actions like purchases or sign-ups from push and in-app messages. Being replaced by Conversion metrics.
Messages sent via the OneSignal API are only retained for 30 days. Use Template Analytics to track performance over time, or export your data for offline analysis.

Audience activity

The Audience activity report shows how each Subscription interacted with a specific message. Results are grouped into categories so you can diagnose delivery issues, measure engagement, identify unsubscribes tied to a specific message, and segment audiences for retargeting or export.
Audience activity screenshot
CategoryDescription
SentMessage was sent to the device.
Confirmed DeliveryDelivery was confirmed by the device.
Did Not Confirm DeliveryDelivery confirmation was not received.
ClickedUser clicked the notification.
Did Not ClickUser did not click the notification.
FailedDelivery failed.
UnsubscribedThe subscription unsubscribed after receiving the message.
Each tab displays the number of recipients in that category and lets you drill into the individual subscription records.
Audience activity data is only available for 30 days from the time the message is sent. Export results if you need to retain them longer.

Retargeting audiences

From the Audience activity view, you can send a Retargeted Message directly to any category (for example, all users who did not click). This makes it easy to follow up with users who didn’t engage, re-engage those who churned, or reinforce success with users who confirmed delivery.

Exporting results

You can download audience data with the Export menu:
  • Selected activity – exports only the currently viewed tab (for example, all users who failed delivery).
  • All activities – exports the full report across every category.
Exports let you analyze results offline, share with other teams, or merge with your CRM and analytics tools.

Exporting data

Export message and user data to CSV for offline analysis.

Message settings

This section shows the message configuration details and a visual summary of how the message was set up before delivery.
  • Audience - Details of the audience including:
    • Total number of recipients - How many Subscriptions were sent the message
    • How the message was sent: Targeting filters or segments used
  • Schedule - When the message started sending and per-user delivery options selected, if any.
  • Throttling - Any throttling, frequency caps, or channel overrides
  • Message - The message content.
    • Platforms targeted (Android, iOS, specific browsers)
  • Advanced Settings - Like Priority, Time to live, and Collapse ID.
  • Additional Data - Any custom data added to the message.

FAQ

When do push subscription statuses update?

Push subscription statuses update through two mechanisms: 1. When the user opens your app or site The OneSignal SDK checks whether the push token is valid and whether notification permissions are still granted, then updates the subscription status immediately. For example, if a user disables push notifications in their device settings and then reopens your app, the SDK detects the change and marks the subscription as Unsubscribed right away. You can capture these changes with the SDK’s Subscription Observer (mobile | web) to sync status to your own database. 2. When you send push notifications If a user uninstalls your app, clears browser data, or disables push and never returns, OneSignal cannot detect the change until you send a notification. The push service (FCM, APNs, HMS) reports the token as invalid, and OneSignal marks the subscription as Unsubscribed. This detection typically takes 2 or more messages because the push service does not immediately reject an invalid token:
SendWhat happens
Message 1Delivered to device. User then unsubscribes in device settings or uninstalls the app.
Message 2Push service accepts the message but the device does not receive it. OneSignal reports “Delivered” because the push service has not rejected the token yet.
Message 3Push service rejects the token. OneSignal marks the subscription as Unsubscribed.
Message 4+OneSignal does not attempt delivery to this subscription.
Use Event Streams to detect unsubscribes in real time when sending messages.
If you go long periods without sending to all users, unsubscribes accumulate silently and appear as a large spike when you resume sending. Send to all users at least once or twice a month to detect unsubscribes gradually. See FCM expired token FAQ for more on unsubscribe spikes.
Apple delays unsubscribe reporting by 14+ days. To protect user privacy, Apple does not immediately report uninstalls or permission revocations. If a user opens your app after disabling push, OneSignal detects the change instantly via the SDK. If the user never opens the app again, it may take several weeks for Apple to report the invalid token after you send notifications.See Apple Forum and Technical Note for details. Use the dashboard or API to delete old subscriptions to keep your audience clean.