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.