Push notification send performance: why sent and delivered counts can be lower than segment size

Prev Next

Why are push notifications sent or delivered to only part of the segment?

In Mapp Engage, the segment size shows the number of users who match the selected segment criteria for the sendout.

The push statistics then show what happened during the actual delivery process. These statistics include the number of effective sendouts, including messages that were sent, delivered, or bounced.

It is normal for the number of sent or delivered push notifications to be lower than the segment size. A user can match the segment but still be excluded from the effective push sendout if the user does not have a valid and reachable push setup at send time.

How to interpret the statistics

Use the statistics as follows:

  • Segment size: the number of users selected by the segment criteria.

  • Sent: the number of push messages accepted for sending.

  • Delivered: the number of push messages reported as successfully delivered, where delivery confirmation is available.

  • Bounces: messages that could not be delivered after the send attempt.

The difference between Segment size and Sent represents recipients who matched the segment but were not included in the effective sendout. These recipients were not eligible for push delivery at send time.

Mapp Engage does not currently display skipped recipients as a separate statistic.

Common reasons for a lower Sent or Delivered count

Invalid, expired, or missing device token

Push notifications require a valid device token. The token identifies the device or app installation to the push provider.

A user can still match the segment even when their token is no longer usable. This can happen when the token is:

  • expired

  • rotated

  • invalidated

  • deleted after an app reinstall

  • missing

  • associated with an old device

  • overwritten by a newer device token

  • removed after a long period of inactivity

When this happens, the user remains part of the segment, but the message cannot be pushed to that device. If the sendout is not attempted, the recipient is not counted as a bounce.

App uninstall or device cleanup

App uninstalls are not always reported immediately or reliably by the push provider.

A common sequence is:

  • the user deletes the app

  • the stored push token remains in the marketing database

  • the push provider later marks the token as invalid or removes it

  • the user still matches the segment, but the device is no longer reachable

Depending on when the invalid token is detected, the user may be skipped before sending or counted under a bounce category after the send attempt.

Push permissions disabled

A user may have opted in previously, but later disabled notification permissions on the device.

Examples include:

  • iOS notification permissions turned off

  • Android notification permissions revoked

  • Android notification channels disabled

  • app-level notification settings changed by the user

In this case, the user can still match the segment, but the device may not be eligible to receive the push notification.

Temporary states such as Focus mode, Do Not Disturb, or notification summary settings may affect how or when the notification is shown to the user, but they should not be treated as the same as an invalid token or a permanent opt-out.

Long device inactivity

Push providers may eventually invalidate or remove tokens for devices that have not connected for a long time.

For example, if an app installation has not contacted Firebase Cloud Messaging for an extended period, the token can become invalid or be reported as not registered. The same general issue can occur in Apple Push Notification service workflows when an app installation or device token is no longer valid.

When inactive devices are removed or invalidated, they can remain in the segment until the system receives enough information to update their push eligibility.

Why iOS and Android results can differ

Push performance can differ between iOS and Android because the platforms handle permissions, tokens, app lifecycle events, and inactive apps differently.

Common reasons include:

  • iOS requires explicit user permission before standard push notifications can be displayed.

  • Android and iOS use different token lifecycle rules.

  • Uninstall detection is not always immediate or complete.

  • Inactive apps and old installations can leave stale tokens in the database.

  • Device operating systems and push providers may clean up inactive or invalid tokens at different times.

Because of these differences, one platform can show a larger gap between segment size and effective sendouts than the other. This does not necessarily indicate a sendout failure. It usually means that part of the segment is no longer reachable for push delivery at the time of the sendout.

More information

Firebase Cloud Messaging documentation: https://firebase.google.com/docs/cloud-messaging

Apple Push Notification service documentation: https://developer.apple.com/notifications/