Why silent push exists

The main job of a silent push is to remove the delay when the app opens. With no background sync,
the app makes a server request at launch and shows content only once the response arrives. With a
silent push the data is already cached: the home screen with personalized recommendations, or the
promotions catalogue, loads instantly.

In e-commerce it is used for:

  • Preloading a personalized feed — current recommendations are ready by the moment the app opens
  • Refreshing stock levels — availability is accurate without an explicit request
  • Syncing remote config — new personalization parameters apply before the next session
  • Updating the cart — when the person added items on the website

Technical limits

Platform Mechanism Limit
iOS (APNs) content-available: 1 Throttled by the system; ~30 seconds to process
Android (FCM) data-only message The app must be in the background, not terminated

Important: iOS may ignore a silent push in Low Power Mode, or when the app has not been opened
for several days. Do not rely on silent push for important updates — use it only as a UX
optimisation.

How it differs from Background Fetch

A silent push wakes the app on the server’s initiative. Background Fetch is a scheduled
background load on the operating system’s initiative: iOS decides when to grant processor time.
Use a silent push when data must be refreshed at a specific moment; use Background Fetch for
regular background sync where exact timing does not matter.

Silent push and personalization analytics

One nuance matters: a silent push is never displayed as a notification, so it does not appear in
push delivery rate or open rate metrics. If part of your personalization pipeline runs on silent
pushes — refreshing the user profile before the app opens, for example — make sure that step is
recorded in your own application logs. Standard push channel metrics will not show it.