In this article · 11 sections
- What web push notifications are and how they work
- Which browsers support web push notifications
- Do web push notifications work on iPhone?
- How to ask for notification permission without burning the request
- How to switch on Web Push in CloudCart
- When web push notifications bring orders: 5 use cases
- How to write a push notification people open
- How often to send push notifications
- How to measure web push results
- Mistakes that lose subscribers
- Frequently asked questions
Web push notifications are short browser messages that a shopper sees on their computer or phone even when your store is closed. They need no email address or phone number, only the shopper's permission in the browser. They work in Chrome, Edge, Firefox and Safari, and on iPhone from iOS 16.4, but only after the shopper adds your site to the Home Screen.
This guide is for online stores selling anywhere in Europe that want one more way to bring shoppers back next to email and SMS. The admin paths are from CloudCart, where Web Push is a built-in campaign channel. Most push tools for WooCommerce, Magento or Shopify are separate services with their own subscriber lists and billing; in CloudCart the push subscribers sit in the same list and campaigns as your email subscribers.
What web push notifications are and how they work
A web push notification is a message your site sends through the browser's push service (run by Google, Mozilla or Apple), and the browser shows it on the device. Technically this is the Push API: the site registers a service worker (a small script the browser runs in the background), and the browser hands back a unique subscription address plus encryption keys (MDN, Push API). The message arrives even if the shopper has not opened your store in days.
The difference from email and SMS is what the subscriber is tied to. An email address belongs to a person, while a push subscription belongs to one browser on one device. A shopper who allowed notifications in Chrome on their laptop will not get them in Safari on their phone until they allow them there as well.
That makes web push a channel for fast reminders to people who have already visited your store and said yes. Push helps where speed decides the purchase: a sold-out product that is back, a sale that ends tonight, a parcel that has just left your warehouse.
Which browsers support web push notifications
All major browsers support web push, and the Push API has worked across them since March 2023 (MDN). What differs is when the browser shows your permission request and where the site has to be opened.
| Browser and device | Web push? | Condition |
|---|---|---|
| Chrome, Edge, Opera on desktop | Yes | The shopper allows it. If they turned on Chrome's quieter messaging, they see only a bell icon in the address bar instead of a pop-up. |
| Chrome on Android | Yes | The shopper allows it; notifications arrive like any other on the phone. |
| Firefox | Yes | Since Firefox 72 the request appears only after a shopper action, such as a button click; otherwise there is only an icon in the address bar. |
| Safari on Mac | Yes | Safari 16.1 on macOS 13 Ventura or later; subscribing needs an explicit action from the shopper. |
| Safari on iPhone and iPad | Yes, from iOS and iPadOS 16.4 | The site is added to the Home Screen and opened from there; permission is requested after a tap on a button. |
| In-app browsers of Instagram, Facebook and TikTok | No | The shopper has to open your store in the phone's regular browser. |
Important: Google announced in October 2025 that Chrome on desktop and Android removes notification permission on its own from sites that send many notifications while the user barely interacts with them. Installed web apps are excluded. Google also reports that less than 1% of all notifications get any interaction from users (Google, Chrome automatic notification permission). A store that sends often while shoppers do not click loses its subscribers.
Do web push notifications work on iPhone?
Yes. Web push works on iPhone and iPad from iOS and iPadOS 16.4, but only for a site added to the Home Screen. In a regular Safari tab on iPhone, the site cannot ask for permission at all. The shopper taps Share, adds the site to the Home Screen, opens the store from that icon and only then sees the request, and only after tapping a subscribe button (WebKit, Web Push for Web Apps on iOS and iPadOS). From then on, your notifications behave like app notifications: on the lock screen, in Notification Center and according to Focus modes.
So you will have fewer iPhone subscribers than Android and desktop ones, because the path has two extra steps. Also, shoppers who arrive from an Instagram or Facebook ad browse inside the app's own browser and cannot subscribe there. For them, email and SMS remain the channels (more on the ads themselves: Meta Ads for an online store). When an installed store app is worth it compared with a web app on the Home Screen is in mobile app or PWA for an online store.
How to ask for notification permission without burning the request
The safest approach is a two-step request: first your own pop-up that states the benefit, and the browser's native request only for people who said yes to it. The reason is that the native request is close to one-shot. If the shopper clicks Block, the browser does not show it again until they change the site setting themselves.
Mozilla's data shows how much timing matters. In Firefox about 99% of notification requests were not accepted and 48% were actively denied. When the request appeared after a user action, 24% of existing users and 56% of new users accepted the first one (Mozilla, restricting notification permission prompts).
In CloudCart the request has two steps by default. First comes the store's own pop-up with your text, an accept button, a decline button and an image, and the browser's native request appears only if the shopper clicks accept. Declining the store pop-up does not burn the native request, so the pop-up can show again later. There is also a checkbox that shows the request only on the page after a successful purchase.
When to show the request
- After a purchase. The buyer has just trusted you and has a reason to want notifications: the status of their order. This is the cleanest list, even if it grows more slowly.
- Across the whole site. Works for stores with frequent new arrivals and sales, where visitors want to hear first. Say exactly what they will receive.
- Never at the same moment as another pop-up. If you run an email pop-up with a discount, keep the two apart. How to build the email one: pop-ups for an online store.
What the request should say
The text says what the shopper gains and how often you will write. Weak: "Do you want to receive notifications?". Strong: "We'll only notify you when a saved product is back in stock or drops in price. Never more than once a week." The accept button is a verb ("Notify me") and the decline button is polite ("Not now"). If you sell in several countries, write the request in the language of the shopper's store, because a German or Polish visitor will not accept a request they cannot read.
What EU privacy law expects
The browser's permission request is an explicit opt-in, and it is the shopper's own action. Two EU rules still shape how you use it. The ePrivacy Directive requires consent before a site stores or reads information on the user's device, unless that is strictly necessary for the service the user asked for (Directive 2002/58/EC, Article 5(3)). The GDPR gives every person the right to object to direct marketing, and once they object, their data can no longer be used for it (Regulation (EU) 2016/679, Article 21). In practice: describe the notifications honestly in the request, mention them in your privacy policy, and keep your promise about what you send. Revoking permission in the browser is always one click away for the shopper.
How to switch on Web Push in CloudCart
In CloudCart, Web Push is a built-in campaign channel, and the pricing page lists Web push notifications as "Unlimited" on all four plans. The channel is not installed by default; you switch it on in the admin, with no keys to generate and no code in your theme.
- Accept the anti-spam policy. The first time you open Marketing → Channels, the admin shows the rules and an "Accept" button. Without it, Campaigns and Channels do not open.
- Install and activate the channel. In Marketing → Channels → Channel settings, find the "Web Push" card, install it and activate it.
- Set up the request. In the card's Settings you set the pop-up text, the accept and decline button labels, the image (80 × 80 px) and the caption shown above the browser's native request. The checkbox for showing the request only after a successful purchase is here too.
- Switch on order notifications. In the same card's System messages you turn on the two automatic notifications: when the order status changes and when the fulfillment status changes. The editor shows a preview of how the notification will look in the browser.
- Check your subscribers. In Marketing → Subscribers every subscriber has a separate row per channel. People who allowed notifications have a Web Push row. If the customer was logged in when they allowed notifications and the email channel is installed, the push subscription is linked to their email as well.
- Build a segment and a campaign. In Marketing → Segments the channel condition picks out Web Push subscribers, and in Marketing → Campaigns you add a "Web push notification" step to a one-time or automated campaign.
Connecting the other channels is covered in SMS, Viber, email and Web Push campaigns for an EU online store.
When web push notifications bring orders: 5 use cases
Web push sells when the message is about something the shopper already wants and when timing matters. The sample texts below fit the channel limits: a title of up to 63 characters and a body of up to 128.
| Use case | How to set it up in CloudCart | Sample notification |
|---|---|---|
| Price drop on a wishlisted product | A segment with the wishlist condition (product or category) and a one-time campaign with a Web Push step | "Your saved jacket is now 20% off" / "The price holds until Sunday. Popular sizes go first." |
| Back in stock | Products → Missing products → "Create a campaign"; an automated campaign with an email step followed by a Web Push step | "Back in stock: the vitamin C serum" / "Limited quantity again. Order before it sells out." |
| Abandoned cart | An automated segment with the Cart abandoned condition and an automated campaign: email with the personal link, then Web Push | "{$subscriber_first_name}, your cart is saved" / "Complete your order before the items sell out." |
| Order status | The channel's system messages: order status change and fulfillment status change | "Your order has shipped" / "Your parcel is on its way. Thank you for shopping at {$shop_name}." |
| Flash sale or new collection | A segment of Web Push subscribers (for example, with an order in the category) and a one-time campaign | "The spring collection is here" / "The first 50 orders get a gift. See the styles." |
Price drop on a product the shopper likes
A price drop works best on the people who have already shown interest in the product. In CloudCart, Products → Favorite products shows which products shoppers have added to their wishlist and how many people are waiting on each. When you lower the price of one of them, build a segment with the wishlist condition for that product (or its category) and send a one-time campaign with a Web Push step. There is no automatic "price dropped" trigger: you send the campaign yourself when you change the price. If you need a discount code, create it in Marketing → Discounts, but web push cannot insert a personal code into the text, so the code has to be shared or the discount has to be in the price. In the EU, a notification that announces a price reduction must also state the prior price, which is the lowest price of the previous 30 days, so check the product page before you send.
A product coming back in stock
Shoppers who clicked "Notify me when in stock" are your surest buyers, because they asked for exactly this product. The button appears when the sold-out product's status has the back-in-stock subscription action (Products → Product statuses), and the shopper leaves an email address. The waiting list is in Products → Missing products, separately for each variant. Once you restock, the row's button becomes "Create a campaign". The notification does not go out on its own: you have to send the campaign. A one-time campaign in CloudCart has a single step, so for email plus push pick an automated campaign (up to 5 steps): the email reaches everyone waiting, and the Web Push step reaches those of them who also allowed browser notifications.
Abandoned cart
For an abandoned cart, web push is a good second or third step, and email stays the first. The reason is technical: web push has only three merge tags (first name, last name and store name), and the link is the same for every recipient. The personal cart recovery link that the email carries cannot go into a push notification. A working flow in CloudCart: email one hour after the cart is abandoned, then a "link clicked" condition, and on "no" a Web Push 24 hours later pointing to the cart or the product, with an exit on order. More on the report and the automatic email: abandoned cart recovery in CloudCart, and the feature itself: abandoned carts.
Order status
Order notifications are the most useful ones for the shopper, because they answer the question the shopper is asking anyway. In CloudCart the Web Push system messages are two: order status change and fulfillment status change. Each has its own text and image.
Flash sale and new collection
A notification to all subscribers makes sense when the news is big and has a deadline: Black Friday, a new collection, the last day to order before a holiday. The rest of the time, send to smaller segments: bought from the category, viewed the product, inactive for 60 days. How to win back inactive customers across several channels: retention marketing for ecommerce.
How to write a push notification people open
A notification gets opened when the title carries the news and the body says what to do. In CloudCart the title is up to 63 characters and the body up to 128, plus a small icon, a large image and a link. The admin checks the limits before it saves the step.
- News in the title. "Back in stock: the sneakers in size 42" beats "We have news for you". On a locked phone screen, often only the title is visible.
- One action in the body. "Order by 6 pm for delivery tomorrow." No lists and no stacked offers.
- The name, when you have it.
{$subscriber_first_name}inserts the subscriber's first name. Subscribers from the notification pop-up often have no name, so write a text that reads well without it. - A product image. Use the product photo for the large image, never a banner with text, because text inside an image is tiny on a phone.
- A link straight to the product. The link goes to the product or the filtered category, never the home page. CloudCart adds
utm_medium=web_pushto the link, so orders from notifications show up separately in Google Analytics (UTM tracking for an online store).
How often to send push notifications
Send as often as shoppers keep clicking, and stop at the first drop. There is no fixed number, but there is a clear limit: Chrome removes permission from sites with many notifications and very little interaction. A shopper who blocked notifications will not see your request again until they change the browser setting themselves.
- Send order and back-in-stock notifications whenever there is a reason, because the shopper asked for them.
- Send promotional notifications to a segment instead of everyone, and no more than one every few days to the same person.
- Do not send a push and an SMS about the same thing in the same hour. Pick one channel per step.
How to measure web push results
Measure web push by clicks and the orders that follow, because browsers do not reliably report whether a notification was seen. That is why the only condition after a Web Push step in CloudCart campaigns is "link clicked" or "not clicked". The "read" condition exists for email and Viber.
| What you measure | Where in CloudCart | What you decide |
|---|---|---|
| Notifications sent against the limit | "Usage" on the Web Push card in Channel settings | How actively you use the channel |
| Status of each notification | "Logs" on the Web Push card | Which notifications were not delivered and why |
| Clicks and revenue per step | The campaign statistics | Which step in the flow sells |
| Orders from notifications | Google Analytics with utm_medium=web_push | How much revenue the channel brings compared with email and ads |
Orders that come from notifications carry no commission: CloudCart takes a 0% commission on sales, so you pay no percentage of the revenue the channel brings in.
When the browser reports a subscription as expired (the shopper revoked permission or cleared the site's data), CloudCart marks it as bounced and stops sending to it until the shopper subscribes again.
Mistakes that lose subscribers
- The native request the moment someone lands. The visitor does not yet know why they should agree and clicks Block for good.
- A promise you do not keep. The request says "only when it's back in stock", and then a notification arrives every day. Shoppers stop clicking, and Chrome removes permission from sites with many notifications and almost no interaction.
- Web push as your only channel. iPhone users and shoppers from social media ads subscribe rarely; email remains the main channel.
- A link to the home page. The shopper looks for the product from the notification and cannot find it; the link has to go straight to it.
Frequently asked questions
Push notifications are short messages that appear on a computer or phone without the user having the site or app open. Web push notifications come from a website through the browser, after the visitor has allowed them. They need no email address or phone number.
Yes, from iOS and iPadOS 16.4, but only when the site has been added to the Home Screen and is opened from there. Permission is requested after a tap on a button. In a regular Safari tab on iPhone, a site cannot show a notification request.
It depends most on when you ask. According to Mozilla, about 99% of notification requests in Firefox were not accepted, but when the request followed a user action, 24% of existing and 56% of new users accepted the first one. A request with a clear reason, for example after a purchase, is accepted far more often.
Yes, with the shopper's permission. The browser asks for explicit consent before any notification, and the shopper can revoke it at any time. Under the GDPR people can object to direct marketing, and you then have to stop. Describe the notifications honestly in the request and in your privacy policy.
Yes, as a step in an automated campaign for a segment with the Cart abandoned condition. Web push cannot carry the personal cart link, so the first step is the email with the link, and the notification is a reminder after it if the link was not clicked. With an exit on order, the flow stops as soon as the shopper buys.
The pricing page lists Web push notifications as "Unlimited" on all four plans, with no charge per message. The number of subscribers in Marketing Suite has a limit per plan (50, 100, 500 and 1,000). A new store pays €1/month for the first 3 months on any plan. Check plans and limits on the pricing page.
Have a question about notifications or campaigns in your store? Write to us at support@cloudcart.com.
Sources
- MDN, Push APIdeveloper.mozilla.org
- Google, Chrome automatic notification permissionblog.google
- WebKit, Web Push for Web Apps on iOS and iPadOSwebkit.org
- Mozilla, restricting notification permission promptsblog.mozilla.org
- Directive 2002/58/EC, Article 5(3)eur-lex.europa.eu
- Regulation (EU) 2016/679, Article 21eur-lex.europa.eu
