Restock alerts

Why a “back in stock” alert goes out when the product is still sold out

An inventory webhook reports a quantity. It doesn’t tell you whether the product can be bought. That gap is the difference between an alert that recovers a sale and an email that sends a shopper to a sold-out page — and after that happens twice, they stop opening your list.

See the app → by SlothRocket

how an alert fires (or doesn’t)

INVENTORY WEBHOOKavailable: 3re-verifylive checksendtruly buyableemail sentholdstill sold outno email
The ✕ hold branch is the whole reason the app exists.

Four situations where the quantity lies

A restock alert is a false positive when inventory reads above zero but the item still can’t be bought — wrong location, unpublished product, sold out again, or the wrong variant. Here are the four that bite most often.

  1. 01
    location: warehouse-2

    Stock lands in a location that isn't selling online

    Your warehouse receives units and the count goes up. But if that location isn't enabled for the Online Store, the storefront still can't sell it. The webhook only sees a number that went above zero.

  2. 02
    status: draft

    The product isn't published to the online channel

    A draft product, or one pulled from the Online Store, can still hold inventory. The quantity is real, the page isn't: whoever clicks the email hits a 404 or a product with no buy button.

  3. 03
    available: 3 → 0

    The restock sells out before the email goes out

    Three units come back and two hundred people are waiting. In the time it takes to build and send the queue, the three are gone. Everyone else gets invited to buy something that no longer exists.

  4. 04
    variant: S ≠ M

    A different variant returns than the one they wanted

    The shopper signed up for size M. Size S comes back. If the alert is tied to the product instead of the variant, it fires anyway — technically true, practically useless.

What separates the two behaviors

Send on the webhook

quantity > 0 → send

Fast and simple. It can’t tell any of the four cases above apart: at send time it never looked at anything but a number.

Re-verify before sending

quantity > 0 → queue → live re-check → send, or nothing

At send time it asks the store again: is this variant buyable online right now? If it isn’t, the alert waits for the next real restock.

You don’t have to take anyone’s word for it. Reproduce the bug in two minutes.

  1. 01Pick a sold-out product with someone waiting to be notified.
  2. 02Add one unit in a location that isn't enabled for the Online Store.
  3. 03Watch: if an email goes out while the product page still says "sold out", you’ve reproduced case 01.

That’s exactly the check Back in Stock runs before every send. It isn’t one more feature on a list — it’s the reason the app exists.

Compare Back in Stock with other apps

“It only goes out when the shopper can actually buy. The rest is noise.”

Back in Stock is free to start — flat pricing, no per-subscriber fees.