8

PricingBlog

Back-in-stock notifications that scale.

Free, MIT-licensed Magento 2 module for batched, throttled back-in-stock notifications. Per-variant subscriptions on configurables, demand heatmap in admin, GraphQL-first for Hyvä and headless storefronts, GDPR-ready guest support.

LUMA

Search entire store…

What's New

Audio

Travel

Gear

Sale

814 WAITING

Aurora 27 Headphones

2 Reviews

Add Your Review

€450.00

SKU#: AUR-27

OUT OF STOCK

Notify me when back in stock

One-click unsubscribe via signed token. We never store your email in plaintext.

ADD TO WISH LIST

ADD TO COMPARE

Throttled batched dispatch — an 800-subscriber restock doesn't blast at once

When `is_in_stock` flips from 0 to 1, Stock Radar queues every matching subscription into `byte8_stock_radar_dispatch` and a cron worker drains the queue with `random_int(0, throttle_window)` per row. A configurable 30-minute spread keeps your mail provider, your inventory, and your add-to-cart endpoint from being dogpiled in the same second. Failed sends retry with exponential backoff up to 3 attempts; subscriptions older than the configured expiry (default 90 days) auto-cancel.

Restock event · 24-MB01

814 subscribers, two delivery strategies

THROTTLE 30 MIN

Without throttling — typical free module

All 814 emails fire in seconds → SMTP rate limit, inventory stampede

BLAST

→ no further activity for 30 min · mail server reels

t=0

+7m

+15m

+22m

+30m

Stock Radar — random_int spread

Sends scattered across the configured window so each row is independent

THROTTLED

t=0

+7m

+15m

+22m

+30m

Configurable per store · cron drains the dispatch queue once a minute

Exponential backoff on failure, max 3 attempts

Demand heatmap in admin — a real merchandiser tool, not a vanity dashboard

Byte8 → Stock Radar → Demand: a sortable grid ranked by pending subscriber count, with first-subscribed and latest-subscribed timestamps per SKU. Click through to the product. This is the page the reorder team opens before placing the next PO — finally a stock-out backlog that maps cleanly to a purchase decision instead of disappearing into a transactional email log.

Byte8 · Stock Radar · Demand

Demand Heatmap

Filters

Columns ▾

Export ▾

6 records found · sorted by Pending subscribers

20 per page

Pending subscribers ↑

SKU

Product

Prod ID

Store

First subscribed

Latest subscribed

Action

814

24-MB01

Joust Duffle Bag

4

1

Apr 28, 09:12

May 18, 10:51

Edit product

412

24-MB03

Crown Summit Backpack

12

1

May 02, 14:48

May 18, 10:43

Edit product

286

24-MB05

Wayfarer Messenger Bag

4

1

May 04, 11:02

May 18, 10:31

Edit product

178

24-WB02

Compete Track Tote

23

1

May 06, 16:12

May 18, 09:58

Edit product

134

24-MB04

Strive Shoulder Pack

8

1

May 09, 08:30

May 18, 09:11

Edit product

92

24-WB04

Push It Messenger Bag

38

1

May 11, 12:00

May 18, 08:14

Edit product

Top SKU

24-MB01 · 814 waiting

Demand backlog

1,916 across 6 SKUs

A merchandiser's reorder priority list — built into the admin

Admin alerts when a single SKU crosses your threshold

Configure a high-demand threshold once. When pending subscribers for any single product first crosses that number, Stock Radar posts a message to the Magento admin notification inbox (the bell at the top-right) via the built-in `NotifierInterface` — zero external dependencies. Optional transactional email to a configurable recipient list, so the buyer hears about a sleeper SKU the moment it heats up.

M

Magento Admin · acmestore.com

3

admin ▾

Dashboard · Stores

Sales overview

Lifetime Sales

£4,283,910

+8.2%

Average Order

£128.40

+1.6%

Last Orders

47 today

+12

Bestsellers

Aurora 27

↑ 814 waiting

Revenue · last 30 days

£

Bestsellers

Most Viewed

New Customers

Product

Price

Qty

Aurora 27 Headphones

OOS

£450.00

42

Crown Summit Backpack

£38.00

29

Overnight Duffle

£45.00

25

Impulse Duffle

£74.00

24

Notifications

Mark all as read

!

Stock Radar — high-demand SKU detected

2 min ago

24-MB01 (Joust Duffle Bag) crossed 800 pending subscribers. Consider expediting reorder.

!

Stock Radar — 24-MB03 above threshold

47 min ago

Crown Summit Backpack: 412 pending subscribers, +127 in last 24h.

!

Stock Radar — dispatch summary

Yesterday

Restock 24-WB04 fan-out complete · 92/92 delivered over 28 min.

See all (3) · Open Demand Heatmap →

Posted via Magento's built-in NotifierInterface — zero external dependencies

THRESHOLD 50

GraphQL-first, Hyvä-ready, GDPR-safe by default

A `byte8StockRadarSubscribe` mutation and `byte8StockRadarSubscriptions` query expose the whole flow to Hyvä, PWA Studio, or any headless storefront — Velafront ships an example consumer. Subscribers are stored as a hashed email + signed one-click unsubscribe token, so right-to-erasure resolves in one indexed lookup. Five admin-toggleable abuse protections (rate limit, honeypot, CAPTCHA, double opt-in, hide-created flag) are all independent — turn on only what your fraud surface needs.

One subscription · two stories

Headless-ready API, GDPR-safe storage

HYVÄ

PWA

VELAFRONT

GraphQL · /graphql

# Hyvä, Velafront, PWA Studio — same API
mutation Subscribe {
byte8StockRadarSubscribe(input: {
sku: "24-MB01",
variant: { color: "blue", size: "M" }
}) {
success
message
}
}
# response
{
"data": {
"byte8StockRadarSubscribe": {
"success": true,
"message": "Subscribed (already)"
}
}
}

D

byte8_stock_radar_subscription

row 8732

id

8732

sku

24-MB01

store_id

1

email

(omitted by default)

Storage opt-in only

email_hash

sha256:a7c8…41f9

O(1) GDPR delete lookup

unsub_token

signed:e3…b21c

HMAC, single-use

consent_ip

203.0.113.4

created_at

2026-05-18 10:51 UTC

status

pending

Subject Access / Right-to-Erasure resolves in one indexed lookup by email_hash

honeypot · rate-limit · double opt-in · CAPTCHA — all admin-toggleable

Free, MIT-licensed, install in five minutes

$composer require byte8/module-stock-radar
$bin/magento module:enable Byte8_StockRadar
$bin/magento setup:upgrade && bin/magento setup:di:compile

Enable in Stores → Configuration → Byte8 → Stock Radar (throttle window + subscription expiry + admin-alert threshold + abuse protections). Make sure Magento's default cron group is active — the dispatch worker runs once a minute by default. The Hyvä companion lives at byte8/module-stock-radar-hyva; the paid Plenty bridge (byte8/module-stock-radar-plenty) layers PlentyONE PO data into the email template for DACH stores.

Frequently asked questions

Is Stock Radar really free, no upsell?

What exactly does the throttling do?

Does it work with configurable products and per-variant subscriptions?

Headless / Hyvä / Velafront — what's the integration story?

How does the GDPR storage work?

What's the admin alert threshold, and what triggers it?

What abuse protection ships out of the box?

Does it integrate with PlentyONE or other ERPs?

What Magento versions are supported?

Stop losing sales to the silent 'out of stock' page

Free, MIT-licensed, five minutes to install. Your reorder team gets a heatmap; your customers get a calm, throttled email when their thing is back.