Chapter 1 · The scenario
Example: A sneaker restock in Bengaluru
A Bengaluru sneaker label sells out of its trail runner in size 9 within a day, and 1,800 shoppers join the WhatsApp waitlist over the next three weeks. When 120 pairs arrive, the store releases alerts to the oldest 360 subscribers. Ninety-five pairs sell in the first 40 minutes, so it releases the next 75 people for the remaining 25 pairs, then stops when stock hits zero. Everyone else keeps their place for the next restock instead of receiving an alert for shoes that are already gone.
Chapter 2 · What is a back-in-stock alert?
A back-in-stock alert is a one-off message to people who asked to be told when a sold-out product returns. On an out-of-stock product page the store replaces Add to cart with a Notify me on WhatsApp option; the shopper confirms their number and consent and joins a waitlist for that product, usually for a specific size or colour. When inventory is updated, the store messages the waitlist with a link straight to the item.
By the time stock returns the shopper has usually gone quiet, so the alert is a template message. Meta's categorisation guidance files retargeting messages, such as cart reminders, as marketing even when the user requested them, and a restock alert that invites a purchase is judged the same way, so plan for it to be categorised as marketing: charged at ₹0.94 per delivered message in India, sent only with a recorded opt-in, and subject to per-user marketing limits (error 131049 when WhatsApp withholds one).
The craft is in sequencing. If 2,000 people wait for 150 pairs of shoes, alerting everyone at once produces a stampede, a sold-out page and a lot of disappointed customers. Well-run waitlists release alerts in batches sized to the stock left, oldest sign-ups first, and stop when the item sells out. A back-in-stock alert answers a request about a product the shopper could not buy; a replenishment reminder, by contrast, prompts a customer to reorder something they already bought.
Key takeaways
- A back-in-stock alert tells shoppers on a sold-out product's waitlist that the exact item and variant they wanted is available again.
- By the time stock returns the service window has usually closed, so the alert is an approved template, normally marketing.
- Release alerts in batches sized to the remaining stock, oldest sign-ups first, and stop the moment the item sells out.
- A waitlist sign-up covers one product, not a general marketing opt-in: alert once, then remove the subscriber.
- Per-user marketing limits can withhold an alert with error 131049; wait at least 24 hours before retrying.
Chapter 3 · How it unfolds
How does a back-in-stock alert work?
Capture the request on the sold-out page
Offer Notify me on WhatsApp for the exact variant. Store the phone number, the product's SKU or
product_retailer_id, the variant, a timestamp and the consent wording shown: the waitlist is per product, not a general marketing opt-in.Approve a restock template
Create a marketing template with an image header, the product name as a variable and a dynamic URL button ending in the product ID, so every alert opens the right page.
Watch inventory changes
Listen for stock updates from your store or product feed. When a variant goes from zero to a positive count, start a release for that waitlist instead of sending to everyone immediately.
Release in stock-sized batches
Take the oldest subscribers first, in batches sized to the units available (for example two to three times the stock, since not every alert converts; tune it from your own alert-to-purchase rate). Re-check stock before each batch and stop at zero.
Close the loop
Remove each subscriber once alerted, because the request was for one restock, and record delivered, clicked and purchased, plus failures such as 131049, so the next release is sized better.
Chapter 4 · In code
A back-in-stock alert in code
// Release a restock to its waitlist in batches sized to remaining stock.const BATCH_MULTIPLIER = 3; // tune from your alert-to-purchase rateconst PAUSE_MS = 15 * 60 * 1000; // give each batch time to buyasync function releaseRestock(sku) {for (;;) {const stock = await inventory.available(sku);if (stock <= 0) break; // sold out: stopconst batch = await waitlist.oldest(sku, stock * BATCH_MULTIPLIER);if (batch.length === 0) break; // waitlist emptyfor (const sub of batch) {await sendQueue.add("restock-alert", { to: sub.phone, sku, subId: sub.id });}await waitlist.markAlerted(batch.map((s) => s.id)); // one alert per requestawait sleep(PAUSE_MS);}}
Oldest sign-ups first, stock re-checked before every batch, nobody alerted twice.
Chapter 5 · Where it goes wrong
Common mistakes with a back-in-stock alert
Alerting the whole waitlist at once
With limited units, one blast sells out in minutes and sends most people to a sold-out page. Release in batches sized to the remaining stock and re-check inventory between batches.
Treating a waitlist sign-up as a marketing opt-in
The shopper asked about one product. Send that alert and remove them; adding them to every campaign without a separate, clear opt-in invites blocks and reports that drag down your quality rating.
Submitting the alert as utility
Meta treats messages that invite a purchase as marketing, and a restock template filed as utility is likely to be approved as marketing anyway. Plan the budget and per-user limits on that basis.
Ignoring variants
A shopper waiting for size 9 who is alerted because size 11 came back will feel spammed. Key the waitlist to the exact variant and its
product_retailer_id.Linking to a page that may already be sold out
Alerts can reach offline phones late. Shorten the template's time-to-live and make the landing page show live stock with a one-tap option to rejoin the waitlist.
Chapter 6 · The facts
A back-in-stock alert: key facts and limits
| Template category | Plan for marketing, even for requested alerts |
|---|---|
| India rate | ₹0.94 per delivered message |
| Per-user limit error | 131049; wait at least 24 hours before retrying |
| Marketing time-to-live | Default 30 days; can be shortened to 12 hours |
| URL button | Up to 2,000 characters, one variable at the end |
| Default throughput | Up to 80 messages per second per number |
Chapter 7 · Why it matters
Why does a back-in-stock alert matter?
A waitlist is a list of people who have already said which product they want. Alerting them on the channel they read fastest turns a restock into sales within minutes, tells merchandising which variants to reorder and in what quantity, and replaces a weekly new-arrivals blast to everyone with a message only interested buyers receive. Pacing alerts to stock protects the experience: nobody likes tapping an alert to find the item gone again.
Chapter 8 · What good teams do
Best practices for a back-in-stock alert
- Show the waitlist size or queue position on the sold-out page: it sets expectations and signals demand.
- Use the exact variant's photo as the header image; it beats a text-only alert.
- Track alert-to-purchase rate per product to size the next release multiplier.
- Hold releases that would land late at night and start them in the morning instead.
Chapter 9 · Back-in-Stock Alert FAQs
Back-in-Stock Alert FAQs
Is a back-in-stock alert a utility or a marketing message?+
Can I send the alert as a free-form message?+
How is this different from a replenishment reminder?+
What happens to people who were not alerted before it sold out?+
* Per-message rates for India, ex-GST: marketing, utility and authentication effective 1 July 2026; service messages ₹0.145 since 1 October 2026 (they were ₹0 until 30 September 2026). Volume commitments earn discounts — final rate is confirmed on your account; applicable GST extra. Rates for other countries differ (see the international rate table on /pricing).