QR Code Restock Alerts: A Simple System for Small Shops

A customer asks a shop owner to text them when a sold-out item is back. The owner writes the number on a sticky note, loses the note in a week, and the customer never hears back. Multiply that by every regular who wants a heads-up on restocks, drops, or pop-up hours, and a sticky-note system collapses fast. A QR code restock alert fixes this without an email list, a phone number, or an app download: the customer scans a code once, and the shop can now reach them directly. A Pingwire QR channel is a subscribe-by-scan push notification channel — a customer points their phone camera at a printed code, taps Subscribe once, and every message the shop sends to that channel lands on the customer's phone as a push notification.

Funnel stage: decision. This walkthrough is for a shop owner who already knows they want a low-friction way to notify customers and is deciding whether to set one up today.

What problem does a QR code restock alert solve?

It replaces the sign-up sheet, the group text, and the "follow us for updates" social post — all of which lose people at different steps. A sign-up sheet needs someone to type the list into a phone later. A group text requires the customer's number, which many people won't hand over at a counter. A social follow depends on an algorithm deciding to show the post at all. A QR code skips all three: the phone camera reads it directly, and the subscribe step happens on the spot.

How does a QR code notification channel actually work?

The shop creates a channel in a dashboard and gets a printable QR code plus a short subscribe link back. A QR code itself follows the ISO/IEC 18004 standard, encoding a URL that a phone camera decodes without a separate scanner app. When a customer scans it, they land on a one-tap subscribe page — no account, no app install, no phone number collected. From that point, any message sent to the channel fans out as a push notification to every subscriber who is still active.

What a customer actually sees

  1. They open their phone camera and point it at the printed code taped to the counter or window.
  2. A link preview pops up; they tap it.
  3. A page opens asking them to allow notifications; they tap Subscribe once.
  4. From then on, restock or event messages from that shop arrive as push notifications, the same as a text message would.

How do you set up a QR channel for a shop?

The dashboard path needs no code at all. For a shop owner who wants automation later — restock alerts fired from an inventory script, for example — the same channel is reachable over a REST API.

curl -X POST https://pingwire.dev/api/v1/channels.php \
  -H "Authorization: Bearer pw_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{"qr":true,"name":"Downtown Shop Restocks"}'

# Response includes a channel id and a subscribe URL.
# Pull the print-ready image:
curl https://pingwire.dev/api/v1/channels/42/qr.png -o restock-qr.png

Sending an alert to every subscriber once new stock is on the shelf is a single call to the same message endpoint used for every other Pingwire send:

curl -X POST https://pingwire.dev/api/v1/messages.php \
  -H "Authorization: Bearer pw_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{"channel":"downtown-shop-restocks","title":"Back in stock","text":"The blue ceramic mugs just came back. First come, first served."}'

A shop that only wants to send from a phone never needs any of this — the dashboard's quick-send box does the same job with no API key involved. The code path exists for the shop that later wants restocks to trigger automatically from a point-of-sale or inventory system, at the exact moment manual copy-paste sending gets tedious. That is where a QR channel earns its place over a plain group text: the send scales from one tap to one API call without changing how the customer receives it.

QR channel vs. the usual ways shops reach customers

MethodWhat the customer gives upWhere it failsDelivery speed
QR code channelNothing (no account, no number, no email)Customer must keep notification permission onPush, arrives in seconds
Paper sign-up sheetHandwritten name/numberSomeone has to retype it; often never happensManual, hours to days later
Group text / SMS listPhone numberMany people decline to share a number at a counterFast, but opt-in rate is low
Social media followAn account on that platformAlgorithm decides who actually sees the postUnreliable, often never seen

Is this only for events, or does it work at a physical counter?

It works the same either way — the channel does not know or care whether the code is taped to an event table or a shop's front counter. The difference is just cadence: an event channel gets one or two sends around a specific date, while a shop's restock channel gets used whenever new stock lands, which might be weekly or whenever a supplier ships.

Can a shop message its best customers differently from everyone else?

Yes, through subscriber segments. A shop can create a segment — "regulars," "newsletter list," whatever grouping makes sense — and send a message to just that slice of subscribers instead of the whole channel, using POST /api/v1/segments.php with the channel id and a segment name. A limited pre-release drop can go to a segment first, with the full restock announcement going to everyone else the next day.

Where should the code go, and how many does a shop need?

One channel per purpose beats one channel for everything. A shop running both weekly restocks and occasional weekend pop-ups is better off with two channels — a customer who only cares about restocks should not get paged for a pop-up three towns over, and mixing the two trains people to ignore both. Place the printed code somewhere a customer is already standing still: next to the register, on the door at eye level, or on the receipt itself, rather than buried on a wall of other flyers where it competes for attention.

A code with no label is a wasted print. Scan for restock alerts next to the code does more for the subscribe rate than the code's design does.

The QR image itself can also carry a brand color and a center logo rather than the default black-and-white square, and downloads as either a PNG for print or an SVG for anything that needs to scale — a window decal, a receipt printer, or a packaging insert.

What if customers don't bother scanning it?

Some won't, and that is a fair objection to raise before printing anything. The realistic comparison is not "QR code vs. everyone signing up," it's "QR code vs. the sign-up methods above," all of which lose people too. A code taped at eye level near the register, with one line explaining what it does ("Scan for restock alerts"), converts better than an unlabeled code — most of the loss in QR sign-ups is people not understanding what scanning will do, not people refusing to scan. Each channel also tracks scan count against subscribe count, so a shop can see the actual conversion rate instead of guessing.

Getting a QR channel live today

Open Pingwire's QR Channels page, create a channel, and download the QR image as a PNG or SVG. Print it, tape it near the register with a one-line label explaining what it does, and send the first test message to confirm it reaches your own phone before it goes on the counter. From there, sending a restock alert is the same one API call or one dashboard box, every time new stock lands.

For the broader mechanics of how a scan turns into a subscribed device, see notifying a live audience with QR channels and the subscribe-by-scan walkthrough. For sending restock alerts from a script or inventory system instead of a dashboard, the full send API is documented at Pingwire's developer docs.

Frequently asked questions

Do customers need the Pingwire app to get restock alerts?

No. Scanning the QR code and tapping Subscribe registers the customer's browser for web push directly — no app install and no Pingwire account required. They can also open the same channel in the Pingwire app or log in with an account if they already have one, but neither is necessary to receive alerts.

Can I send a different alert to my regulars than to everyone else?

Yes, using subscriber segments. Create a segment for a subgroup of a channel's subscribers and send to just that segment instead of the whole channel — useful for early access to a small regular customer set before a wider restock announcement goes out to everyone.

What happens if a subscriber's phone stops receiving alerts?

If a subscriber's push endpoint expires because their browser was uninstalled or the device is gone, Pingwire's send path detects the resulting 404 or 410 response and deactivates that subscriber automatically. Their scan-to-subscribe count stays accurate without any manual cleanup.

Do I need to know how to code to run a QR channel?

No. Creating a channel, downloading the QR image, and sending messages all work from the dashboard with no code involved. The REST API exists for shops that later want restock alerts to fire automatically from an inventory system or point-of-sale tool.

Can I track how many people actually scanned versus subscribed?

Yes. Each channel records both scan count and subscribe count, so a shop can see its real scan-to-subscribe conversion rate instead of guessing whether the code taped at the counter is working.

Try Pingwire

Send your first alert in under 30 seconds — one HTTP call, straight to a chat and your phone.

Create a free account Read the API docs

More from the blog