Back in Stock Alerts is live on the Shopify App Store. See the listing →
From the blog

Back in stock notification without an app on Shopify

No, Shopify has no built-in restock notification. Here is exactly what you can build for free with Flow and Shopify Email, where it dead-ends, and what the popular forum recipe gets wrong.

08/02/2026

Cream stepping stones crossing a desk toward a sealed envelope, the path stopping short at a missing step

No, Shopify does not have a built-in back in stock notification you can just turn on. What you can build with native tools is a workflow that tags a customer when an item restocks and lets you email that tag as a segment, and it has one real dead end you need to know about before you start.

What actually exists natively

Shopify Flow, the store automation tool, ships a trigger called Product variant back in stock. It starts a workflow when a variant’s inventory goes from 0 or less up to 1 or more. For it to fire, the product’s Inventory tracked setting has to be turned on, otherwise Shopify has no zero to watch for.

Flow itself is free, but it is not on every plan. Shopify’s documentation lists it as available on Basic, Grow, Advanced, and Plus. If you are on Shopify’s Starter plan, this whole native path is not open to you and you can skip straight to an app.

That is the entire native toolkit: a trigger that fires on restock, and a set of actions you can attach to it. The trigger part is solid. What you attach to it is where things get interesting.

The honest step by step

Here is what building this actually looks like, assuming you are on a plan with Flow:

  1. In Shopify Flow, create a new workflow and choose the Product variant back in stock trigger.
  2. Make sure Inventory tracked is on for the products you care about, or the trigger will never fire for them.
  3. Add an action. This is the part where most people’s plan runs into a wall, because the obvious action, sending an email to the customer who asked, is not something Flow can do.

Where it dead ends

Flow has a Send internal email action, and it is tempting to assume that is your notification. It is not built for that job. Shopify’s own documentation says you “can’t use variables to customize the email address to which the message is sent.” In other words, the recipient is fixed when you build the workflow. You cannot pipe in “whoever signed up for this variant” as a variable, because Flow has no concept of a per customer recipient list here.

That same page is direct about what this action is for: “The Send internal email action is best used to send emails to staff. To automate emails to customers, create a marketing automation.” That is the whole story. Flow can tell your team an item is back. It cannot, on its own, tell the customer who asked for it. This is the point where most people building the native path from scratch hit a wall they did not see coming, because everything up to here felt like it was working.

The workaround that does work, and its cost

There is a real path around the dead end, and it uses tools Shopify already gives you. Flow has an Add customer tags action. You can have the back in stock trigger add a tag to the customer’s profile, something like restock-notify-blue-medium-hoodie. customer_tags is a native filter Shopify’s customer segmentation supports, so you can build a segment out of anyone carrying that tag. Then you send that segment an email through Shopify Email.

Shopify Email gives you 10,000 free emails a month on Basic, Grow, Advanced, and Plus, and that allowance does not roll over. If you do not use it, you lose it, but for most stores running this by hand that ceiling is not the limiting factor. The real cost is your own time: you need to build a separate Flow workflow and a separate tag per product variant you want to track, and a separate Shopify Email send (or a filtered segment) each time you actually restock. It works. It is just work, every single time, done by a person.

If you search this question, you will most often find a version of this recipe: capture the customer’s email with Shopify Forms using a hidden field for the variant ID, tag the customer with Flow, then email the segment with Shopify Email, capped at 100 records per run. It is a reasonable-sounding plan and it has three real problems.

First, Shopify Forms has no hidden field type. Its documented custom field types are single line text, dropdown, radio buttons, multi-line text, multiple choice, date, number, and file upload. There is nothing that silently captures a variant ID behind the scenes. If you want the signup tied to a specific variant, that capture has to come from custom theme code, not the Forms app.

Second, the “100 records per run” cap is stated wrong. Shopify’s own guidance says the 100 object cap applies to Get data actions inside a workflow, not to an entire workflow run. A For each loop has its own separate documented limit, 1,000 items, which is a different number for a different part of the workflow. If you are budgeting for a big restock based on “100 per run,” you are working from the wrong ceiling.

Third, and this is the one that actually breaks the plan, the recipe assumes Flow emails the customer directly. It cannot, for the reason above. Skipping the tag-plus-segment step and trying to fire a direct customer email from Flow is the single most common way this build stalls out, because it looks like it should work right up until you go to test it.

The recipe is a genuine attempt at a real problem, and the first two points are close enough to right that they are easy to pass along. The third is the one that costs you an afternoon, because everything looks fine until you go to test it.

When the native path is genuinely the right call

If you have a handful of products, restock once or twice a month, and do not mind building a tag and a segment by hand each time, this is a completely fine answer. You are not leaving anything meaningful on the table by skipping an app. A small catalog with occasional restocks does not need automated variant level tracking or send-by-send auditing, it needs someone to remember to hit send, and that someone is you. There is no shame in that being the whole system. Plenty of stores should just stop here.

When it stops being worth it

The math changes once you have more products, restocks that happen weekly instead of monthly, or variants where a specific size or color matters more than the product as a whole. At that point you are maintaining a separate workflow and tag per variant, remembering which segment maps to which restock, and building the send by hand every time inventory ticks over. And if a customer says they never got their email, you have no record to check against, since the native tools do not give you a per subscriber log of what was sent and when. If adding the notify button is already something you are handling with an app, or you need alerts tracked down to the specific variant rather than the whole product, that is usually the point where doing this by hand costs more time than it saves.

The disclosure

We build Kelso, a back in stock app for Shopify with a free plan. If the native path above covers what you need, genuinely, use it, it costs nothing and it works. If you get to the point where you are maintaining workflows by hand for every restock, you can see what an app-based version looks like at apps.shopify.com/kelso-back-in-stock-alerts.

Back in Stock Alerts

Stop losing restocks

Kelso emails your customers the moment a sold-out product is back. It's live on the Shopify App Store, and free to install.

Free to install. Plans from $0, upgrade only if you outgrow it.

Founding 50

The first 50 stores to install lock today's price for as long as they stay subscribed. No countdown, the count is real.

More from the blog

Keep reading

08/07/2026

Can a B2B buyer approve their own team's orders in Shopify

No. Shopify B2B gives a company contact exactly two permission levels, Ordering only and Location admin, and neither one can approve or edit an order a colleague placed. Here's what the Submit for approval button actually does, and the workarounds merchants use.

08/06/2026

Can a Shopify B2B buyer edit an order after they submit it for review

The honest answer to a question merchants have asked since 2022: once a B2B buyer submits a draft order for review, can they edit it themselves. Plus what Shopify's now-free B2B tools solve and what they still don't.

07/14/2026

Back in stock alerts for a specific size or color, not the whole product

Why a product-level notify-me trains customers to ignore you, how variant-level back in stock alerts work on Shopify, and a five-minute test to check which one you actually have.

07/11/2026

How to test your back in stock alerts before you trust them

Restock alerts fail quietly, and you usually find out from a sales dip, not an error message. Here is a ten-minute self-test any merchant can run on any app to prove alerts actually fire and land before you rely on them.

07/09/2026

4 back in stock email templates you can copy today

Four real back in stock email templates for Shopify, from a basic restock alert to a win-back for something long out of stock, plus what makes a restock subject line actually get opened

07/07/2026

SMS opens faster than email, but that is not the whole back in stock story

A plain comparison of SMS and email restock alerts on Shopify: real open and conversion numbers, actual per-message SMS costs, opt-in law, and when each channel makes sense.

07/05/2026

How to add a back in stock button to your Shopify product pages

Three real routes for adding a notify-me button when a variant sells out: theme code, Shopify's native workarounds, and a purpose-built app block, plus what to check before you trust any of them.

07/05/2026

Stocky is shutting down August 31. Here's what small Shopify stores can do

Stocky's shutdown timeline, what breaks and when, the supplier data you need to export now, and an honest roundup of native, budget, and enterprise alternatives for small Shopify stores.

07/04/2026

Your restock email is late, and that is deciding who gets the sale

How demand decays after a restock, why batch pacing and send speed both matter, and how to audit your back in stock app's actual send latency, timestamp by timestamp.

07/02/2026

Back in stock apps for Shopify: what the pricing actually costs at scale

A line-by-line pricing teardown of Swym, Appikon, Amp, STOQ, Notify!, and Kbite, plus what per-subscriber vs. per-send metering means for your actual monthly bill as your list grows.

06/30/2026

Why restock alert emails fail at the exact moment they matter

The four reasons back in stock alerts go missing or don't help: bad webhooks, burst sends, no audit trail, and Markets mismatches. How to check your own app.

06/28/2026

How to migrate your back in stock waitlist to a new app without losing subscribers

A practical walkthrough for moving a back in stock waitlist between Shopify apps: exporting your data, matching CSV columns, verifying the import, and timing the cutover around a restock.