Opens in a new tab
Store Operations

Back-in-stock notifications in WooCommerce: the practical way to set them up (without annoying customers)

Most WooCommerce stores I look after hit the same snag sooner or later: a product sells out, customers keep checking back, and you end up answering the same “when will it be back?” email over and over. A proper woocommerce back in stock notification setup fixes that — but only if it’s implemented sensibly (and…

Back-in-stock notifications in WooCommerce: the practical way to set them up (without annoying customers)

Most WooCommerce stores I look after hit the same snag sooner or later: a product sells out, customers keep checking back, and you end up answering the same “when will it be back?” email over and over. A proper woocommerce back in stock notification setup fixes that — but only if it’s implemented sensibly (and doesn’t turn into accidental marketing spam).

What “back in stock” should (and shouldn’t) be

At its simplest, a back-in-stock notification is a one-off transactional message: “The item you asked about is available again.” That’s it.

Where stores get into trouble is when they bolt marketing onto the same email (“Here are some other products you might like…” / “Use code RESTOCK10…”). If you’re sending anything beyond the notification itself, you need to think about consent and whether you’re still in “service message” territory or you’ve wandered into marketing emails.

I’m not a solicitor, so treat this as practical guidance rather than legal advice. The ICO’s guidance is the place to start for UK rules on email marketing and consent, including the PECR soft opt-in concept and opt-out requirements: ICO guidance on PECR electronic mail marketing rules. And remember UK GDPR/Data Protection Act obligations around direct marketing and the right to object: ICO guidance on other considerations (UK GDPR etc.).

Your main options (honest pros/cons)

There are a few common approaches I see in the wild:

  • Use a dedicated WooCommerce stock notification extension. This is usually the cleanest route: customers subscribe on the product page, and an email goes out when stock returns.
  • Use your email marketing platform (e.g. Mailchimp) as the sender. People try this because they already pay for it. In practice it can get messy: automation triggers are harder, deliverability for “transactional-ish” messages can be worse, and you risk mixing marketing consent with service notifications.
  • Build a custom setup. Sometimes justified (unusual stock rules, multi-warehouse, ERP integrations), but you’ll still want to send via WooCommerce’s own mailer so you’re not reinventing email templates, headers, unsubscribe handling, logging, and so on.

If you want the quick practical takeaway: send restock emails via WooCommerce’s email system, and use your marketing tool for list-building only (newsletter signups, campaigns, segmentation). That split avoids a lot of pain later.

Using the official WooCommerce extension (what it actually does)

WooCommerce core doesn’t include a built-in waitlist/back-in-stock feature. WooCommerce sell an official extension called “Back In Stock Notifications” which adds signup forms on out-of-stock products (including variations) for logged-in customers and guests. It places the form after the product’s “Out of stock” availability message and sends an automated email when the product becomes available again. See: Back In Stock Notifications documentation.

It’s not the only approach out there, but it’s a good reference point because its behaviour is clearly documented and it’s designed to work with WooCommerce stock status.

Step 1: Install and activate

The documented install route is the normal “upload ZIP” workflow in wp-admin:

  1. Download the extension ZIP from your WooCommerce account.
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin.
  3. Upload the ZIP, install, then activate.

This is described in the store owner guide: Back In Stock Notifications – Store Owner’s Guide.

Step 2: Make sure customers can still reach out-of-stock products

This catches people out all the time. If your shop is hiding out-of-stock items, customers can’t get to the product page to subscribe.

In WooCommerce → Settings → Products → Inventory, keep Hide out of stock items from the catalog disabled if you want customers to view sold-out items and join the list. This is called out in the extension docs: Back In Stock Notifications documentation.

In practice, I often see stores choose a middle ground: don’t show out-of-stock items in category loops, but keep the product page accessible via direct link (and make sure internal search can still find it). How you do that depends on your theme and catalogue approach — the key point is: if there’s no page view, there’s no signup.

Step 3: Control where the signup form appears

The extension offers a few modes for the form: Disabled, Enabled (Shortcode only) or Enabled – Show Form Automatically. That’s useful if you’ve got a bespoke product template and need full control. See: Smart Stock Notifications documentation.

As a rule of thumb:

  • Show automatically is fine for standard themes/templates.
  • Shortcode-only is safer when you’ve got a page builder template or heavy customisations.

Step 4: Disable the form for specific products when it doesn’t make sense

Not every out-of-stock product should have a waitlist. Examples: discontinued lines, made-to-order products that shouldn’t promise anything, or items with compliance constraints.

The extension allows disabling the registration form at product level (in the product’s Product data → Inventory tab). That behaviour is documented here: Back In Stock Notifications FAQ.

Step 5: Manage and export subscriptions

On real stores, you’ll eventually need to answer questions like: “How many people are waiting for this variation?” or “Can we export the list for internal planning?”

Subscriptions can be managed under WooCommerce → Stock Notifications → Notifications, and you can filter by email, product or variation, and export to CSV. This is covered in the docs: Back In Stock Notifications documentation.

Architecture: keep restock emails in WooCommerce, keep Mailchimp for marketing

I’ll say this plainly because it saves headaches: use WooCommerce (or your transactional email provider) for back-in-stock notifications, and use Mailchimp (or similar) for newsletter signups and campaigns.

Why?

  • Restock notifications are triggered by stock changes. WooCommerce already “owns” that state (stock quantity, stock status, variation availability). Hooking the trigger into WooCommerce is straightforward and less fragile.
  • They behave more like transactional messages than marketing campaigns. You want them to go out quickly and reliably. WooCommerce’s mailer is designed for order and account emails; restock notifications fit that pattern.
  • It keeps consent clean. People asking to be notified about one product aren’t necessarily signing up to receive general marketing.

That doesn’t mean you can’t also invite someone to join your newsletter. It just means you should do it as a separate, clear opt-in (separate checkbox, separate language, separate list). Don’t bundle it into the same “notify me” action unless you’re confident you’ve met the rules for marketing consent. For UK guidance on consent/soft opt-in and opt-outs, see: ICO PECR email marketing guidance.

Deliverability: make sure the emails actually land

A back-in-stock system is only as good as its deliverability. If the email ends up in spam (or never gets sent because wp-cron didn’t run), customers will assume you didn’t bother notifying them.

Practical checks I run through on stores:

  • Use a proper SMTP / transactional sending setup rather than relying on basic PHP mail.
  • Check your “From” name/address is consistent with the domain and recognisable.
  • Send a test notification end-to-end and verify it arrives in Gmail/Outlook/iCloud, not just one mailbox.

I’m deliberately not naming specific SMTP services here, because the “best” option depends on your host, domain setup, volume and budget. The principle is what matters: treat these as important operational emails, not “nice to have”.

What to test (the bits that usually break)

Whenever I add or adjust back-in-stock notifications, I test the whole workflow, not just “does the form show”. You’re looking for edge cases that cause support tickets later.

Here’s the checklist I use:

  1. Out-of-stock state: Confirm the product/variation is definitely out of stock and shows the correct availability text.
  2. Form display: Confirm the signup form appears in the right place on both desktop and mobile. (Themes can do odd things with hooks.)
  3. Subscription flow: Submit an email address and confirm the subscription is saved.
  4. Confirmation behaviour: If your setup includes any confirmation step, make sure it’s clear and works reliably.
  5. Restock trigger: Put stock back in (or change stock status) and confirm the notification sends.
  6. Duplicate subscriptions: Try subscribing twice with the same email and see what happens.
  7. Unsubscribe handling: Make sure there’s a working opt-out method and it actually stops future notifications for that person.

The official extension docs explicitly mention managing notifications and workflow behaviour (including that customers enter an email and select “Notify me”, then get an automated notification when the product becomes available again): Back In Stock Notifications documentation.

Data protection and consent: keep it boring and compliant

Back-in-stock lists are personal data (email addresses tied to a buying interest). Even if you’re using them for a service notification, you still need to handle them responsibly.

In practical terms, I recommend:

  • Collect only what you need. An email address is usually enough.
  • Be clear what it’s for. “We’ll email you once when this item is back in stock.”
  • Set a retention approach. Don’t keep old waitlists forever “just in case”.
  • Secure the data. Limit access in wp-admin and keep the site maintained.
  • Don’t silently reuse it for marketing. If you want newsletter opt-ins, collect them separately and clearly.

The ICO guidance is clear that people can object to direct marketing and you must stop using their data for that purpose, and that you need to consider UK GDPR alongside PECR: ICO guidance on other considerations.

If you’re adding any marketing content to a restock email, read the PECR email marketing guidance and make sure you’re confident you’ve got a valid basis (consent or soft opt-in where it applies), and that every message identifies the sender and includes a simple opt-out: ICO PECR email marketing guidance.

Common gotchas on real WooCommerce stores

  • Variations behave differently: If you stock at variation level, make sure people subscribe to the correct variation (size/colour) and the email triggers on that variation’s stock, not the parent product.
  • “In stock” isn’t always “purchasable”: Some stores use backorders, preorder plugins, or conditional purchasing rules. Decide what “notify me” means in your context.
  • Caching and page builders can hide the form: If the out-of-stock page is cached aggressively, the form may not reflect the real stock state. Test with cache cleared and as a logged-out user.
  • Hiding out-of-stock items kills signups: If you hide sold-out products globally, you’re relying on customers finding a dead-end category page. That’s rarely what you want.

Key takeaway

A solid woocommerce back in stock notification setup isn’t about fancy marketing automation — it’s about operational email that customers trust. Keep the notification email transactional and reliable (use WooCommerce’s mailer and a decent sending setup), and keep Mailchimp or other marketing tools for opt-in newsletters and campaigns.

If you get stuck — especially with theme templates, variation stock edge cases, or deliverability — you can always drop me a line and I’ll point you in the right direction.

Dan Cotugno-Cregin
Written byDan Cotugno-Cregin

The developer behind Baltic Digital. Building and running WordPress and WooCommerce stores since 2009, and writing the plugins they need.

More about me →
On this page
Baltic Digital

Plugins that do one job properly.

Lightweight WordPress and WooCommerce plugins, tested on real client stores.

Browse plugins

More from the blog

WordPress keeps crashing when you upload lots of images: what’s really happening (and what to change)
Media ManagementOctober 13, 2026

WordPress keeps crashing when you upload lots of images: what’s really happening (and what to change)

I see this a lot on WooCommerce stores: you try to upload a batch of product photos, the browser spins,…

Read article →
Why WordPress falls over on big image uploads (and what I do about it)
Media ManagementOctober 3, 2026

Why WordPress falls over on big image uploads (and what I do about it)

I see the same pattern on WooCommerce sites: a store manager tries to upload a folder of product photos (often…

Read article →