
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.| Metric | Definition |
|---|---|
| Sent | The number of messages successfully sent from OneSignal to the provider. |
| Total Attempted | The 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. |
| Audience | The number of subscriptions in the targeted segment(s). |
| Delivered | The 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. |
| Unsubscribed | The 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. |
| Failed | The 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. |
| Clicked | The number of clicks on a notification. |
| Frequency Capped | The number of push subscriptions that the notification was not sent to due to frequency cap settings. |
| Metric | Definition |
|---|---|
| Confirmed Delivery | The number of push Subscriptions that confirmed receiving the message. |
| Remaining | The number of notifications still queued on the OneSignal side for sending. |
| Click-Through Rate | Calculated as (Clicks / Delivered) * 100%. |
| Confirmed CTR | Calculated as (Clicks / Confirmed Delivered) * 100%. |
| Influenced Opens | The 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:| Error | Type | Troubleshooting Steps |
|---|---|---|
| 401 Unauthorized | Web | Web push server gave an unclear 401 error. Retry cautiously — it may cause duplicate sends. |
| 404 Not Found | Web | Invalid push subscription endpoint (bad token). |
| Authentication Error | FCM | Check your FCM credentials, re-upload the service account file, and try again. |
| DeviceTokenNotForTopic | APNs | Token’s Bundle ID does not match your APNs key or certificate. Fix in p8 token or p12 setup. |
| Expired Certificate | APNs | Your p12 certificate has expired. See certificate setup. |
| FcmV1InvalidToken / Not Found | FCM | Invalid push token. Check Firebase credentials. Devices must reopen app to refresh tokens. |
| None / Missing | FCM | Firebase Cloud Messaging API may not be enabled in your project. Activate in the Firebase Console and retry. |
| Permission Denied | FCM | Check the full error message for which permission is missing. Update the permission for the Service Account file and re-upload it to OneSignal. |
| SenderIdMismatch | FCM | FCM v1 Sender ID mismatch. Verify Firebase credentials. Users must reopen the app for updated tokens. |
| TopicDisallowed | APNs | APNs token mismatch. Check your Team ID, Key ID, and Bundle ID in p8 config. |
Delivery status
| Status | Description |
|---|---|
| Delivered | Push service has reported delivery of the message to recipients. |
| Scheduled | Message is scheduled for future delivery. |
| Sending | Message is actively being sent. |
| Queued | Message is waiting to be sent. |
| Canceled | Message was manually canceled. See Cancel push notifications. |
| No Recipients | No valid audience at send time (e.g. unsubscribed or out of segment). |
| Failed | OneSignal could not send the message due to errors. |
Conversions
Coming soon — Conversion 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 (legacy, being replaced by Conversion metrics) over the 30 days following a send. Use it to see whether engagement occurred immediately after delivery or continued over time.
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.
- Categories
- Table columns
| Category | Description |
|---|---|
| Sent | Message was sent to the device. |
| Confirmed Delivery | Delivery was confirmed by the device. |
| Did Not Confirm Delivery | Delivery confirmation was not received. |
| Clicked | User clicked the notification. |
| Did Not Click | User did not click the notification. |
| Failed | Delivery failed. |
| Unsubscribed | The subscription unsubscribed after receiving the message. |
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.
Exporting data
Export message and user data to CSV for offline analysis.
Message settings
The message settings panel displays the configuration used for the send.- 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:| Send | What happens |
|---|---|
| Message 1 | Delivered to device. User then unsubscribes in device settings or uninstalls the app. |
| Message 2 | Push 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 3 | Push service rejects the token. OneSignal marks the subscription as Unsubscribed. |
| Message 4+ | OneSignal does not attempt delivery to this subscription. |
Why don’t my Delivered numbers match Confirmed Delivery?
Delivered reflects what the push service (FCM, APNs) reported — it accepted the message for delivery. Confirmed Delivery requires the OneSignal SDK on the device to report back, which only happens if the device is online and the app processes the notification. Devices that are offline, have the app force-closed, or lack the SDK will show as Delivered but not Confirmed.How long is audience activity data available?
Audience activity data is retained for 30 days from the time the message is sent. Export your results before this window closes if you need to keep them longer.Related pages
Confirmed Delivery
How device-level delivery confirmation works and what affects confirmation rates.
Metrics Glossary
Definitions for all delivery, engagement, and conversion metrics across channels.
Template Analytics
Track push notification performance across sends using templates.
Push throttling
Control delivery rate to manage server load during high-volume sends.