How does a web push notification work?
The flow has three parts. Your page asks for notification permission; if the user accepts, the browser creates a push subscription through the Push API and returns an endpoint on a push service operated by the browser vendor (Google, Mozilla, Apple). Your server sends a payload to that endpoint, signed with your VAPID keys. The browser then wakes your service worker — a script that runs without an open tab — which displays the notification. Nothing is sent before the user opts in, and the permission can be revoked at browser level at any time.
Does web push work on iOS and Safari?
Yes, with a caveat that catches most teams. Since Safari 16.4 (March 2023), iOS and iPadOS deliver web push only to web apps the user has added to the Home Screen — a regular Safari tab cannot subscribe. The permission request must also follow a user gesture, such as a button tap. On macOS, Safari has supported web push in the normal browser since version 16.1. The practical consequence: on iPhone, web push is a channel for your most committed users, not a broad-reach one.
When should a small team use web push?
Web push earns its place when you need to reach users off-site without an email address: trial-expiry nudges, setup reminders, alerts on events a user chose to follow. It pairs naturally with in-app messages — in-app speaks to users while they are in the product, push brings them back when they are not. For how the two channels fit into one program, see the guide to web push and in-app messaging. Tools such as OneSignal and Novu exist largely to manage subscriptions and delivery for you.
What are the limits of web push?
- Permission is fragile: ask too early and users hit deny, which is near-permanent — most teams gate the browser prompt behind their own UI first.
- Delivery is not guaranteed: notifications go through the browser vendor's push service and can be throttled, collapsed, or dropped on unreachable devices.
- No inbox: a dismissed notification is gone, so anything durable also belongs in email or in-app.
- Reach is uneven: desktop Chrome and Android work well; on iPhone, only installed web apps qualify.