Overview
Confirmed Delivery tracks when a device actually receives a push notification sent through OneSignal. In your OneSignal Dashboard, this appears in the Message Report as Confirmed (or Received).
Confirmed Deliveries Flow
- iOS & Safari: Apple Push Notification Service (APNs)
- Android & Chrome: Google Firebase Cloud Messaging (FCM)
- Huawei devices: Huawei Messaging Service (HMS)
- Amazon devices: Amazon Device Messaging (ADM)
- Windows devices: Microsoft Push Notification Service (MPNS)
- The notification ID
- The device’s Subscription ID
Requirements
- Available only on paid plans. Compare plans.
- Complete Mobile SDK Setup, including:
- iOS Notification Service Extension
- App Group configuration
- Confirmed Delivery only works if the device has the OneSignal SDK installed.
- Not supported for subscriptions created via API only.
Platform-specific limitations
iOS
- Requires both the Notification Service Extension and App Group setup.
- APNs keeps only one message per app when offline. If multiple pushes are sent while offline, only the latest is delivered.
Huawei
- Supported only for the
data
Huawei message type. - For the
message
type, Huawei provides receipt data only in their own dashboard.
Web
- Safari does not support Confirmed Delivery.
FAQ
Why are my Confirmed Delivery numbers low or missing?
Common causes:- Many inactive or abandoned devices. See Handling inactive devices.
- Platform limitations (Huawei, Safari).
- Setup issues — especially common with iOS. See Troubleshooting Confirmed Delivery.
- Android devices may force quit your app, stopping SDK events. Some device manufacturers treat swiping the app away as a force quit. See Mobile push not shown guide.
Handling inactive devices
Devices that are offline won’t receive push notifications or send Confirmed Delivery events. This is common when users replace or abandon devices. Tips to re-engage inactive users:- Use Audience Activity to resend to users who did not Confirm Delivery.
- Create Segments based on Last Session (e.g., inactive for 90+ days).
- Combine with a Re-engagement Journey to win them back.
- Periodically target inactive users to prune unreachable devices.
See When do push Subscription statuses update? for more details.
Why does it show Confirmed but not appear on my device?
A Confirmed Delivery event means the device received the push. Rarely, the device may not display it. Check for:- You may have missed it. Try sending yourself a test push to see if it appears.
- Focus Mode on iOS: Pushes are delayed or grouped differently when “Do Not Disturb,” “Sleep,” or other Focus modes are active. Dismissing grouped notifications may cause you to miss it.
- Custom app code suppressing display:
event.preventDefault()
in the foreground lifecycle listener or Notification Service Extension- Notification APIs that remove messages:
- Push payload settings:
- Make sure
priority
is set to high. See Push priority. - Be careful with
collapse_id
— it replaces older pushes with newer ones using the same ID.
- Make sure
- Wrong device targeted: Use Find and set Test Subscriptions to confirm.
Troubleshooting Confirmed Delivery
General
- Device offline: Pushes can be delayed up to 3 days (default). Adjust with Time To Live.
- Unstable network: Notification may be received but the confirmation fails if the app crashes or has no network. This is rare.
iOS
Most common issue: misconfigured Notification Service Extension or App Groups. Checklist:- Add the
OneSignalNotificationServiceExtension
target in Xcode. - Double-check steps 3–6 in the iOS SDK Setup. Make sure to use the same App Group name for both app and extension:
- ✅
group.your-main-app-target-bundle-id.onesignal
- ❌
group.your-bundle-id.OneSignalNotificationServiceExtension.onesignal
- If you use your own App Group name, you need to update your
Info.plist
files for both the main app and the Notification Service Extension to tell our SDK which App Group to use.
- ✅
- Ensure
mutable-content: 1
is present in the payload (set automatically unless overridden).
Android
- If notifications are not displaying: see Mobile push troubleshooting.
- If notifications show but Confirmed Delivery is missing: a custom Android Service Extension may be blocking it. Check our Android Service Extension guide.
Web
- Safari is not supported.
- For other browsers, ensure migration to v16 SDK is complete:
- Correct SDK init:
- Correct Service Worker reference:
- Correct SDK init:
Need help?Chat with our Support team or email
support@onesignal.com
Please include:- Details of the issue you’re experiencing and steps to reproduce if available
- Your OneSignal App ID
- The External ID or Subscription ID if applicable
- The URL to the message you tested in the OneSignal Dashboard if applicable
- Any relevant logs or error messages