Key Takeaways

  • WooCommerce stores lose roughly 70–75% of carts to abandonment — and the two channels most stores rely on to recover them, email and nothing, both leave money on the table.
  • Web push notifications carry meaningfully higher open and click rates than email, and they arrive instantly instead of sitting in an inbox for hours.
  • WhoKnew Signal™ ships five distinct WooCommerce triggers — order confirmed, order delivered, refund processed, new product launch, back in stock, and price drop — each with its own timing and audience logic.
  • Guest checkout orders do not receive individual push notifications — this is a real limitation of the account-linking model, not a bug, and it’s worth understanding before you promise something push can’t deliver.
  • Every trigger runs from your own WordPress server, with no Firebase, no per-subscriber SaaS fee, and no vendor sitting between you and your subscriber list.

Somewhere between 7 and 8 out of every 10 WooCommerce carts get abandoned. That’s not a guess — it’s the stable, boring, well-documented reality of ecommerce checkout behavior, and it hasn’t moved much in years no matter how many stores optimize their forms. Most store owners already know this. What fewer store owners have done anything about is the gap between “abandoned cart email” — the default, decade-old answer — and what’s actually possible now that push notifications run natively from a WordPress server with no vendor in the middle.

This article is the reference for how WooCommerce push notifications actually work inside WhoKnew Signal™: what each trigger does, what it costs, what it can’t do, and how to set it up without guessing. Everything below is pulled directly from Signal’s own documentation and product behavior — not a generic push notification explainer with WooCommerce bolted on.

The Real Cost of an Abandoned WooCommerce Cart

WooCommerce stores see cart abandonment in the 70–75% range on average — slightly above the broader ecommerce benchmark, according to WPBeginner’s research compilation on shopping cart abandonment. Across all of ecommerce, that abandonment problem adds up to roughly $260 billion in recoverable revenue in the US and EU alone — money that was already inside a cart, already one click from becoming a sale, and simply walked away.

Email has been the default recovery tool for so long that most store owners never question whether it’s still the right one. It isn’t necessarily wrong — but it’s slow, and slow is exactly the problem when a shopper’s intent is fading by the hour. The alternative isn’t a new idea. It’s a faster, cheaper version of the same idea: reach the shopper on the device that’s already in their hand, the moment the opportunity is still warm.

It helps to know why a plugin is needed for any of this in the first place: WooCommerce doesn’t track abandoned carts on its own. Out of the box, cart data is temporary session data — it isn’t logged anywhere a store owner can see it, and there’s no built-in trigger for “notify someone when a cart sits untouched.” Every recovery method, whether it’s an email plugin or a push notification trigger, is layered on top of WooCommerce rather than built into it. That’s the gap Signal’s abandoned cart trigger fills.

70–75%

of WooCommerce carts are abandoned before checkout completes

$260B

in recoverable cart revenue across US and EU ecommerce annually

30 min

default delay before Signal’s abandoned cart trigger fires — fully configurable

Why Push Notifications Are the Right Tool for This Job

For abandoned cart recovery specifically, push notifications and email aren’t interchangeable — they solve for different moments in the same problem, and the data on which one wins here isn’t close. Analysis of 266 million web push messages by Omnisend found a 34% open rate for promotional push campaigns and 65.1% for automated messages — the kind of automated, triggered message a cart-abandonment or back-in-stock alert actually is. Click-through rates tell a similar story: push notification click rates run as much as seven times higher than typical email marketing click rates, according to industry benchmark data compiled by Business of Apps.

None of this means email is obsolete — email still wins on space, formatting, and information density. But for the specific job of “this person was about to buy something ten minutes ago,” push has the two properties that matter most: it shows up instantly, on the lock screen, without competing against forty other unread messages in a folder.

Email waits for someone to check their inbox. Push shows up while the shopper still remembers what was in the cart.

What “Self-Hosted” Actually Means for Your Store

Most push notification plugins that call themselves self-hosted still route delivery through Firebase and a vendor API — the plugin installs on your WordPress site, but your subscriber list and your campaign delivery live somewhere else. WhoKnew Signal™ delivers directly from your WordPress server to the browser’s push service using the open VAPID web push standard, the same protocol built into Chrome, Firefox, Edge, and Safari. There’s no relay, no Firebase project, and no subscriber data leaving your own database — a distinction covered in more depth in what VAPID actually is and why it matters.

The practical difference shows up in the pricing model as much as the architecture. A typical SaaS push and cart-recovery stack charges per subscriber and scales upward as a list grows — J. Moody’s own account of switching away from a $228-a-year OneSignal bill is the origin story behind Signal existing at all. WooCommerce automation in Signal Pro runs at a flat $80 a year, regardless of whether the subscriber list is 500 people or 50,000.

A hand holding a physical key attached to a USB drive, representing a store owning its subscriber data instead of handing it to a vendor.

The Five WooCommerce Triggers, Explained

WooCommerce automation is a Signal Pro feature, and it requires an active WooCommerce store to configure. Once enabled, five distinct triggers become available, each with its own timing rules and audience logic — this isn’t one generic “send a push about my store” toggle, it’s five separate automations that behave differently depending on the situation.

TriggerTypeWhen It Fires
Order ConfirmedOrder moves to Processing status
Order DeliveredOrder status becomes Completed
Refund ProcessedRefund issued — off by default
New Product LaunchBroadcastNew product is published
Back in StockBroadcastProduct returns to stock
Price DropBroadcastPrice decreases — capped once per product per hour
Abandoned Cart RecoveryLogged-in shopper leaves cart — delay configurable, 30 min default

The split between “account-only” and “broadcast” triggers matters more than it looks like at first glance. Account-only triggers — order confirmed, order delivered, refund processed, abandoned cart — only reach devices that were linked to a specific WordPress account while the shopper was logged in. Broadcast triggers — new product, back in stock, price drop — can go to every subscriber or be restricted to linked accounts only, and that audience choice is set per trigger, not globally.

Each trigger card includes an enable toggle, editable title and message, and a click URL, with placeholders like {order_url}, {order_number}, {product_name}, {product_url}, {cart_url}, and — for price drop specifically — {old_price} and {new_price} that pull live data into the notification text automatically.

The Guest Checkout LimitationGuest checkout orders — orders placed without a WordPress user account — do not receive individual account-only pushes, because there’s no linked device to send them to. If a meaningful share of your checkout traffic is guest checkout, order confirmation and abandoned cart pushes simply won’t reach those shoppers, no matter how well the triggers are configured. This isn’t a workaround-able bug; it’s a structural consequence of how account linking works. Broadcast triggers aren’t affected by this, since they don’t depend on account linking at all.

This isn’t unique to Signal, either — WooCommerce push notification tools generally can’t reach guest checkout customers, because push subscriptions link to a browser and, for account-only triggers, to a logged-in account. There’s no email address or phone number in the equation the way there is for email or SMS recovery, so a guest shopper who never created an account has nothing for the trigger to link to. If guest checkout makes up a large share of your orders, email or SMS recovery still needs to be part of the stack alongside push, not instead of it.

There’s a second limitation worth knowing before launch: Woo events fire once, at the moment they happen. There’s no replay queue. If no device was linked to that customer’s account at the moment their order moved to Processing, that specific push is simply gone — it won’t retry or queue up for later.

How Account Linking Actually Works

Push subscriptions live at the browser level, not the account level — each browser has its own subscription. When a visitor is logged into their WordPress account in a given browser, Signal links that browser’s push subscription to their account, which is what makes account-only triggers possible in the first place. Logging out on that browser removes the link on that specific device only; other devices where the same customer stayed logged in keep working normally.

This matters for how you think about coverage. A customer who always shops from the same phone, stays logged in, and completes checkout as a registered account will reliably get order confirmations and abandoned cart nudges. A customer who browses privately, checks out as a guest, or logs out between sessions is a customer that account-only triggers structurally can’t reach — which is exactly why the broadcast triggers exist as a separate category, unlinked from any individual account.

A laptop, tablet, and phone lined up side by side, representing multiple devices linked to the same WordPress account

Setting Up Your First Trigger

Signal’s own setup guidance is specific about sequencing, and it’s worth following in order rather than turning everything on at once. Enable Order Confirmed and Abandoned Cart Recovery first — these are the two triggers with the clearest, most immediate revenue case, and they’re account-only, so there’s no audience setting to get wrong. Set the broadcast audience choice — all subscribers versus linked accounts only — before turning on any promotional trigger like New Product Launch or Price Drop, since that choice determines how wide a broadcast reaches and it’s easy to forget until after a campaign has already gone out to the wrong group. Once triggers are configured, save the WooCommerce settings tab and test with a registered checkout, not a guest one — guest checkout orders won’t demonstrate account-only triggers at all, which makes testing with a real logged-in account essential rather than optional.

To verify a trigger actually works: log in as a test customer, allow push notifications when prompted, place a real order, and move it through Processing and Completed status manually if needed. For broadcast triggers, publish a test product or drop a price and confirm the notification reaches the audience you configured — not just that it sent.

Why Your WooCommerce Push Notification Might Not Have Sent

Most “it didn’t send” reports trace back to expected behavior around guest checkout, account linking, or broadcast audience settings — not a broken integration. Before assuming something is wrong, run through this in order:

Order Confirmed / Delivered / Refund

  • Is the trigger toggle on, and was “Save WooCommerce Settings” actually clicked?
  • Was this a guest checkout? No WordPress account means no individual push, period.
  • Did the buyer allow push while logged in as that WordPress user on at least one browser?
  • Did they log out on that browser since subscribing? That removes the link on that device only.
  • Is the subscriber row showing Active with a low fail count under the Subscribers tab?

Broadcast Triggers

  • “Linked accounts only” skips anyone who never subscribed while logged in — switch to “All subscribers” if that’s not the intent.
  • Price Drop only fires on an actual price decrease, capped at roughly once per product per hour.
  • Back in Stock requires an actual out-of-stock → in-stock transition, not a manual quantity edit that skips that state.
  • New Product Launch fires on publish, not on a draft save.

One pattern that looks like a bug but isn’t: a push arrives on one device and not another. That’s normal and expected — each browser holds its own separate push subscription, and an account-only Woo push only reaches devices where that specific customer was logged in and had already granted permission. A phone that never subscribed, or was logged out at the moment the order status changed, simply won’t get that particular notification. There’s no catch-up mechanism that re-sends it later.

Segmentation: Sending the Right Trigger to the Right Group

Pro segmentation lets broadcast triggers target more precisely than “everyone” or “everyone who’s logged in.” A store can segment by device type, browser, engagement level, or WooCommerce purchase behavior — which means a Back in Stock alert for a mid-range product can go specifically to subscribers who’ve purchased in that category before, rather than blasting the entire list and burning attention on people who were never going to buy it anyway.

This matters more than it sounds like it should. A New Product Launch broadcast sent to everyone trains subscribers to tune out notifications that aren’t relevant to them — the same fatigue dynamic covered in the frequency and burnout piece. Segmenting by purchase behavior keeps each broadcast relevant to the people most likely to act on it, which protects the subscriber base’s long-term responsiveness rather than spending it all in the first month.

How This Compares to Native WooCommerce Cart Recovery Extensions

WPBeginner counts at least 11 official WooCommerce extensions built specifically for cart recovery — nearly all of them email-only, and most priced as standalone add-ons stacked on top of whatever else a store is already running. None of them send push notifications, because push wasn’t part of the WooCommerce extension ecosystem when most of them were built. Running Signal alongside one of those email tools isn’t redundant — email and push reach the shopper at different moments and through different channels, and a cart recovery sequence that fires both tends to outperform either channel run alone.

Free vs Pro — What’s Actually Behind the Paywall

WooCommerce automation sits entirely on the Pro side of Signal. The free version handles the general push and PWA infrastructure — unlimited subscribers, iOS and Safari support, the welcome notification, manual campaigns, and auto-send when a post publishes — but none of the five WooCommerce-specific triggers exist until Pro is active.

Free Tier

  • Unlimited subscribers across every browser, including iOS Safari
  • Manual campaigns and auto-send on any published post type
  • Welcome notification and full PWA / install shortcode
  • No WooCommerce triggers of any kind

Pro — WooCommerce Automation

  • All five triggers: order confirmed, delivered, refund, new product, back in stock, price drop, abandoned cart
  • Placeholder variables pulling live order and product data into messages
  • Segmentation by device, engagement, or Woo purchase behavior
  • Advanced analytics — click rate, best time to send, campaign comparison

Does Pro Pay for Itself?

WhoKnew Signal™ Pro is $80 a year, flat, regardless of subscriber count. Run the math against a single recovered cart: a WooCommerce store with a $60 average order value that recovers even one abandoned cart a month through a push notification has already covered more than half the annual license cost — and that’s before counting order confirmations, back-in-stock alerts, or any of the other four triggers doing quiet work in the background. Compared against a SaaS stack charging per subscriber, the gap only widens as a list grows, since Signal’s price doesn’t move with it.

A calculator surrounded by receipts and invoices on a desk, representing a store owner working out whether Pro's flat annual cost pays for itself

How This Fits With Everything Else You’re Already Sending

WooCommerce triggers don’t exist in isolation — they’re one channel among several a store is probably already running, and frequency matters more than any individual trigger’s copy. If you haven’t settled on how many notifications is too many, the dedicated breakdown on send frequency and subscriber burnout covers that ground properly rather than repeating it here. And push isn’t a replacement for the social proof layer doing its own separate job on the product page itself — the two work well together, which is covered in how a single view counter changed conversion on a previously dead store.


Further Reading

Five Triggers. One Server. Zero Per-Subscriber Fees.

WhoKnew Signal™ Pro adds WooCommerce automation — abandoned cart recovery, back-in-stock alerts, price drop notifications, and order updates — running entirely from your own WordPress server.

Download Signal Free from WordPress.org
See WooCommerce Automation →

Free version available · Pro from $8/mo or $80/yr · Unlimited subscribers on both tiers

Who knew the cart your customer abandoned ten minutes ago was still recoverable — and that recovering it wouldn’t cost you a cent per subscriber to try.

J. Moody, Founder/CEO

Author J. Moody, Founder/CEO

I build WordPress and WooCommerce plugins to solve problems I've actually hit myself — not theoretical ones. I've done a little bit of everything and built the tools I wished existed along the way.

More posts by J. Moody, Founder/CEO
Share