Gatemi Back in Stock for WooCommerce turns "out of stock" from a lost sale into a queue of people waiting to buy. A shopper leaves their address; when stock comes back they are emailed, once.
Nobody is emailed who did not ask. An address typed into a form is not proof of consent — anybody can type anybody's — so a signup starts unconfirmed and nothing is sent until a link in a message to that address is opened. A signed-in customer using their own address is taken at their word, because WordPress already confirmed it.
Nobody is emailed twice. Signing up is idempotent through a UNIQUE (product_id, email) index rather than a check a double tap can lose, and every send is *claimed* first — one statement that both selects the row and marks it sent, so a stock change that fires twice (and WooCommerce's stock hooks do) sends one email.
Nothing is sent inside your stock update. WooCommerce announces a restock in the request that saved the product — often an import or a bulk edit — and mailing two hundred people there is how "set stock to 40" becomes a timeout. Each change queues a sweep, and the sweep sends in batches, re-reading stock so nobody is sent to a page where the last unit has already gone.
And it tells you what to reorder. The settings screen opens on the demand report: the products people are waiting for, most-waited-for first, with how many sales are waiting on each.
Features
- Signup form on out-of-stock products, with the address pre-filled for signed-in customers
- Double opt-in with a confirmation email (switchable)
- One email per person per product, claimed before sending
- Unsubscribe link in every email — and unsubscribing deletes the row
- Your own button text, subject and message, with
{product},{site}and{link} - Demand report: what to reorder, in order
- Batched sending you can size, on WordPress' own cron
Every license includes
- One year of updates and priority support, delivered straight to your WordPress dashboard.
- Use on 1, 5 or 25 sites depending on your license — local, staging and development sites are always free.
- 30-day money-back guarantee — full refund, no questions asked.
- Keeps working after expiry — if you choose not to renew, the plugin keeps running exactly as installed; it simply stops receiving updates and support until you do.
Requires WordPress 6.4+ · PHP 7.4+ · tested up to WordPress 7.0. Works with the classic and block checkout alike.

James (verified owner) –
Finally sorted out something I’d given up on.
Emily S. (verified owner) –
It’s paid for itself in support tickets I haven’t had. Back in Stock did exactly what the demo suggested it would. Renewed without hesitating.
Pablo D. (verified owner) –
Funciona solo y ya no me acuerdo de él. Con mucho gusto.
claire w (verified owner) –
Light. That matters to me more than features. Back in Stock didn’t need any of my own code around it.
Mark F (verified owner) –
It’s been steady since the first afternoon. Comfortable four stars.