Mobile web push

On this page 7

Mobile web push is the delivery of system-level notifications from a website or progressive web app (PWA) to a smartphone or tablet through the browser, without a native app. In the mobile web it relies on three web standards working together: the Push API, the Notifications API and a service worker that wakes up in the background to receive messages and display them, even when the site is not open.

On Android, mobile web push has worked in Chrome and other browsers for years. On iPhone and iPad, Safari supports it from iOS 16.4 onward, but only for web apps the user has added to the home screen. This difference shapes how teams design notification strategies for the mobile web.

How mobile web push works

Mobile web push follows a subscription and delivery chain. The site registers a service worker, asks for notification permission after a user gesture, and creates a push subscription through the browser. The subscription contains an endpoint URL at the browser vendor’s push service and encryption keys unique to that user and device.

To send a message, the site’s server encrypts the payload, signs the request with its VAPID keys to prove its identity, and posts it to the endpoint. The push service delivers it to the device, where the operating system wakes the browser and the service worker’s push event shows the notification. Payloads are limited to about 4 KB, so messages usually carry a title, text and a link rather than content.

ComponentWhere it runsRole
Service workerBrowser on the deviceReceives push events, shows notifications
Push APIBrowserCreates and manages subscriptions
Notifications APIBrowser and operating systemDisplays and handles notification clicks
Push serviceBrowser vendor infrastructureQueues and delivers encrypted messages
Application serverSite operatorStores subscriptions, encrypts and sends messages
Components involved in mobile web push

Platform support and requirements

Support for mobile web push is not uniform, and the iOS model differs most. Safari on iOS and iPadOS delivers web push only to a site installed as a home screen web app with a valid web app manifest, and the permission prompt must follow a direct user action such as tapping a button.

PlatformRequirementNotes
Android, Chromium browsersHTTPS site with service workerWorks in the browser tab and installed PWAs
Android, FirefoxHTTPS site with service workerUses Mozilla’s push service
iOS and iPadOS 16.4 or laterWeb app added to home screenNo push for regular Safari tabs
In-app browsersUsually unsupportedEmbedded web views lack push
All platformsSecure context and user consentPermission can be revoked at any time
Mobile web push support by platform

Browsers also enforce quiet permission UI for sites with poor acceptance rates, and they may reduce visibility of prompts that appear on page load. A request shown without context is therefore not only bad practice but often technically suppressed.

Mobile web push compared with native and other channels

Mobile web push gives web teams a re-engagement channel without an app store, but it does not match native push in every respect. Native apps use APNs or Firebase Cloud Messaging directly and gain richer features, while email and SMS reach users who never granted notification permission.

ChannelInstall neededRich featuresMain limitation
Mobile web pushNo on Android, home screen on iOSTitle, body, icon, actionsLower opt-in and feature set
Native app pushApp from a storeRich media, categories, critical alertsRequires app install
EmailNoLong contentSlow attention, spam filters
SMSNoPlain textCost per message, strict consent rules
Mobile web push compared with neighboring notification channels

For many publishers and online shops, mobile web push works best as a complement to email: it is immediate and short-lived, so it suits time-sensitive events like order status, price drops or breaking news.

Implementing mobile web push well

Successful implementations treat permission as something earned through value. The site first explains what notifications will contain, then asks only when the user shows interest, for example after placing an order or following a topic.

  1. Serve the site over HTTPS and register a service worker with a clear scope.
  2. Provide a web app manifest so the site can be installed, which iOS requires.
  3. Ask after a meaningful action, using an in-page explanation before the browser prompt.
  4. Store subscriptions securely and delete them when the push service reports them as expired.
  5. Offer preferences for topics and frequency, and an easy way to unsubscribe.

Sending should respect frequency limits and time zones. Users who receive irrelevant or excessive notifications revoke permission quickly, and that permission is very hard to regain, because browsers do not let sites ask again once it is blocked.

Limitations and common mistakes

Most failures of mobile web push come from misunderstanding platform rules or from treating notifications as a marketing megaphone.

MistakeConsequenceRemedy
Prompt on first page loadLow opt-in, quiet prompt UIAsk after user intent is clear
Expecting push in iOS Safari tabsNo subscription possibleGuide users to add to home screen
Ignoring expired subscriptionsFailed sends, wasted resourcesRemove endpoints returning gone status
Sensitive data in payloadsExposure on the lock screenSend neutral text, show details in app
Too many messagesPermission revoked permanentlySet frequency caps and topic choices
Mobile web push mistakes and their remedies

Explained without jargon

Mobile web push lets a website send alerts to your phone, just like an app does. You might get a message that your parcel has shipped or that a news story has broken, even though you never installed an app.

The website must ask first, and you can say no or switch it off later. On iPhones there is one extra step: you add the website to your home screen before it can send alerts. After that, the alerts appear in the same notification list as messages from regular apps.

A typical use case

A regional public transport operator runs a PWA for timetables and disruption alerts, but has no native app. Commuters can follow their usual lines, and after they tap Follow on a line, the site explains that it will send only disruption alerts for that line and then shows the browser permission prompt.

On Android, commuters subscribe directly from the browser. On iPhones, the site first shows short instructions for adding it to the home screen, then offers the same option inside the installed web app. When a line is suspended, the server sends a short alert to subscribers within seconds, and the operator avoids the cost of building and maintaining two separate native apps.