← Blog

Web push for WooCommerce: the complete guide

How-to · 25 September 2026

An online store spends most of its energy getting people onto the site. Ads, content, social, search. Then the visitor looks at two products, closes the tab and disappears. If they did not leave an email address and do not follow you anywhere, the only way to see them again is to pay to bring them back.

Web push notifications change that math. The visitor allows notifications once, with a single click, and from then on you can reach them directly in their browser, on desktop or on an Android phone, even when your site is closed. No email to ask for, no algorithm in the middle deciding whether your message gets shown.

This guide is for people who run a WooCommerce store. We will cover why push makes sense for ecommerce, how to set it up, what is worth sending and what is not, how to split subscribers into groups, how many notifications to send and how to tell whether they work. We will also be clear about what you do by hand, because that is the part most guides quietly skip.

Why web push for an online store

A store has a problem a blog does not: most visitors do not buy on their first visit. They browse, compare, put it off. The real question is not "how do I get more traffic" but "how do I bring back the people who already came by".

That is exactly what push is good at. A few situations where a notification earns its place:

Compared with email, push has two useful traits. It is immediate: it lands on the screen, not in an inbox someone has to open. And it is low effort to join: no form to fill in, so far more people say yes. The flip side is that it is just as easy to turn off, which is why a good chunk of this guide is about what not to send.

If you are starting from scratch and want to understand the technology first, the basics are in what web push notifications are.

Setting it up on WooCommerce with the plugin

WooCommerce runs on WordPress, so setup is the same as on any WordPress site. Technically you need two things: a JavaScript snippet on every page and a service worker file at the root of your domain, which is the piece the browser uses to receive notifications while your site is closed. The site has to be on HTTPS, but any store taking payments already is.

With Natom, the easiest route is the Natom Push plugin. You download it from the dashboard and it is available on every plan, free included. The plugin installs the snippet and the service worker for you, so you do not have to touch your theme or upload anything over FTP. If you would rather do it by hand, the step by step version is in the WordPress web push guide.

Turn on products in the settings

This is the step a store actually cares about. The plugin lets you send a push straight from the content editor, using the featured image as the notification image. Out of the box it works on posts, but it can work on any public content type you pick in the plugin settings.

So: open the plugin settings, enable the WooCommerce "product" content type, save. From then on, when you open a product in the editor, you get a panel to send a push for that product: title, text, featured image and a link to the product page. It is the fastest way to announce a new arrival without copying and pasting anything into a separate dashboard.

Check that it works

Open your store in a normal browser window, allow notifications and check that the subscriber count reads 1. Then send yourself a test push. If it arrives, the whole chain is working.

What to send (and what not to)

The general rule is simple: every push needs a reason to be opened right now. Not tomorrow, not "at some point". Now.

Pushes that work for a store

New arrivals. The most natural fit. One push for a new product, or for a whole collection, with the right image. If you enabled products in the plugin, you send it from the product editor as soon as you publish.

Sales and time limited offers. Here the deadline is the message. "Free shipping until Sunday" works because it says what you get and for how long. You can write the push ahead of time and schedule it for the exact moment the promotion starts (scheduling comes with the Starter plan and up).

Restocks, announced by hand. A popular product is back? Send a push. The point to be clear about is that you send it, when you notice or when your inventory tells you: it does not fire on its own when stock changes in WooCommerce.

Content from the store blog. A buying guide, a comparison of two models, a gift idea. These pushes matter because they teach subscribers to expect something useful, not just sales pitches. If the blog has an RSS feed you can connect it and turn every new post into a push, either sent automatically or saved as a draft for you to review (Starter plan and up).

Recurring slots. If you have a regular ritual, say "the Friday deal", you can set up a recurring push on the same day and time, in the right time zone.

Pushes to avoid

The permanent sale. If every push says "amazing deals", three weeks in nobody believes it. A promotion works when it is rare.

The random product. "Check out this item" with no reason attached (new, discounted, back in stock) is noise.

Promises the page does not keep. "50% off" when it applies to one item. The customer clicks, sees the catch, and unsubscribes next time. For titles that get clicks without burning subscribers, there are twenty examples (including some from stores) in how to write push titles people click.

Audiences: the right push for the right people

A clothing store that sends the men's collection to people who only buy womenswear wastes a push and risks a subscriber. Splitting subscribers into groups, called audiences, is the most effective way to lift clicks and cut unsubscribes.

By country

If you sell in more than one country, a country audience is the first one to use. A promotion that is only valid in the UK should not reach a customer in Germany, and a push in the wrong language is almost worse than no push at all.

By blog category

The plugin automatically creates an audience for every category and every tag of your blog posts. Right after allowing notifications, readers can also pick the topics they care about and change them whenever they like from a "Manage notifications" link. Anyone who does not pick gets everything.

It is worth being precise here: the automatic audiences come from the categories and tags of your posts, not from your WooCommerce product categories. If your blog categories mirror your catalog (say "Running", "Hiking", "Kids"), you effectively get interest based segments already. If you do not have a blog, or the categories do not line up, you need the next step.

Custom tags with natom.tag (if you have a developer)

Say you want to reach people who visited the "Trail running shoes" product category. You do that with a custom tag: one line of JavaScript, natom.tag, that your developer adds to the product category template. When a subscriber visits that page they get the tag; you then build an audience from it and send that group its own push.

It is simple, but it does mean editing your theme code: it is not a checkbox. Syntax and examples are in the audience documentation. Custom audiences come with the Pro plan and up.

A note on privacy: Natom does not track what visitors browse. It stores the subscription token, browser, device, country and the topics the reader chose. A custom tag only exists if you set it, with your own code, so think about how you describe it in your privacy policy. For the European rules in more depth, see the guide to web push and GDPR.

Frequency and timing

There is no single right number, but there is a principle: subscribers do not judge one push, they judge how often you interrupt them. A store is not a newspaper. It does not have ten stories a day and should not pretend to.

As a cautious rule of thumb, most stores should think in pushes per week, not per day. In busy periods (sales, holidays, big launches) you can step it up for a few days, then go back to your normal pace. If unsubscribes climb after a send, that is the clearest sign you overdid it.

For timing, think about when your customers actually have a moment to look at a product: lunch break, the evening after dinner, weekend mornings. A push sent at 3 a.m. still arrives, but it ends up buried under everything the phone collects overnight. With scheduling you can write the push when it suits you and send it when it suits the customer.

There is a longer discussion in the guide on how many pushes to send per day.

The popup: when to ask in a store

Notification permission is precious: if a visitor blocks it in the browser prompt, getting it back is very hard. That is why you show your own popup first, with your own words, and only trigger the system prompt after they click.

In a store, timing matters even more. A few practical pointers:

In Natom the popup is customizable: text, position (set separately for desktop and mobile) and size, with a "later" button and a cooldown before it shows again. You can also turn on a welcome push for new subscribers, which is the right place to tell them what they will get and how often.

One limit to know about: on iPhone, web push only works if the site has been added to the Home Screen (iOS 16.4 and later). On Android, Chrome, Edge, Firefox and Safari on Mac it works normally. If a lot of your customers are on iPhone, read the guide to web push on iPhone.

Measuring: CTR and clicks

Push is easy to measure, and it pays to do it from day one. In the stats, for every campaign you see how many notifications were sent, the impressions (how many were actually displayed), the clicks and the CTR, which is clicks as a share of displayed notifications. At account level you see subscriber growth, the popup opt-in rate and a breakdown by country, browser and device.

How to use those numbers in a store:

Frequently asked questions

Can I send abandoned cart pushes? Not automatically. Natom does not have automated abandoned cart flows or triggers tied to WooCommerce events (orders, carts, price or stock changes). The alternatives are manual: a scheduled push to all subscribers with a time limited perk ("free shipping until Sunday") that nudges people with a forgotten cart to come back, or, if your developer sets a custom tag with natom.tag on certain pages, a dedicated push to that audience, written and sent by you.

Do pushes go out on their own when a product is back in stock or drops in price? No. You announce restocks and price drops yourself, for example by sending the push from the product editor after updating the listing. It is a bit more work, but you stay in control of what actually deserves a notification.

Do I need a separate plugin for WooCommerce? No, it is the same Natom Push plugin for WordPress. Just enable the "product" content type in the settings to send pushes from the product page.

Are audiences created from product categories? The plugin creates audiences automatically from the categories and tags of your blog posts, not from product categories. To segment by product categories visited, you need a custom tag with one line of JavaScript, as explained in the docs.

How much does it cost? With Natom, pushes are unlimited on every plan: you pay by number of subscribers, not by sends. The Free plan covers up to 1,000 subscribers with no credit card, Starter is €19 a month for 10,000 subscribers, Pro is €59 a month for 50,000. Prices exclude VAT.

Does web push work on iPhone? Yes, but only if the customer has added your site to the Home Screen, on iOS 16.4 or later. On Android and desktop browsers it works with no extra steps.

Try Natom for free

Free up to 1,000 subscribers, unlimited pushes, live in 5 minutes.

Start for free

Related articles

🛠️
How-to
How to add web push notifications to WordPress (2026 guide)

The complete guide to enabling push notifications on a WordPress site in 10 minutes, with no heavy plugins: snippet, service worker, opt-in prompt and your first campaign.