Install Klaviyo's Shopify integration, add a back in stock sign-up form to sold-out product pages, then build a flow triggered by the "Subscribed to Back in Stock" metric with a Back in stock delay, a stock check and one email. AI can draft that email; you supply the real stock facts and measure orders against a holdout.
The flow is simple to build and easy to get subtly wrong. Klaviyo does not track inventory itself; it reads stock from Shopify, so a catalogue that is out of step makes the flow silent or, worse, mails people about a product you've sold out again. Below: the build in order, a prompt for the copy with an honest way to say "low stock", and a measurement method that tells you whether the emails earn orders you wouldn't have got anyway.
Before you build: four Shopify settings that decide whether it works
Do these checks first, on the products you expect to sell out. A troubleshooting checklist on Klaviyo's community forum starts with the same list when a flow never fires.
- Track quantity is on for each variant in Shopify, so there's a number to go from zero to above zero.
- Continue selling when out of stock is off. If it's on, the product never reads as sold out to the catalogue, so no sign-up form appears and no restock event happens. (If you take pre-orders on purpose, that's a different design; see the pre-order tutorial.)
- The product is published to the online store.
- The Klaviyo integration is connected and its catalogue sync is running in real time. Klaviyo's integration settings page is where a re-sync can be forced if Shopify and Klaviyo disagree.
Also note a detail Klaviyo's help page states for stores that use Shopify point of sale as well as the web shop: the flow counts stock in your physical shop and your warehouse together, so a unit sitting in the shop can trigger a notification for an item you can't ship online. If that's you, decide whether shop stock should count before you go live.
Build the sign-up form and the flow, step by step
These are the steps from Klaviyo's help centre for Shopify, as checked in November 2026. Menu names move now and then, so treat the labels as a guide.
- Create the sign-up. For Shopify, Klaviyo's form builder makes the back in stock form (stores on other platforms add a code snippet to the theme instead). The form appears behind a "Notify me" button on sold-out items, collects an email address and logs a "Subscribed to Back in Stock" event on the shopper's profile. You can add an optional, separate tick box for marketing emails. If you build a custom form instead, a community checklist on Klaviyo's forum lists five product details it must capture so the email shows the right item: variant ID, product name, product URL, image URL and price.
- Wait for the first sign-up. The Back in stock settings tab only appears in Klaviyo after at least one "Subscribed to Back in Stock" event exists. Use a test email address on a sold-out product to create it.
- Create the flow. Go to Flows, choose Create flow, and either pick a back in stock template from the library or Build your own. The trigger must be the Klaviyo metric called "Subscribed to Back in Stock". Custom metrics won't work, and Klaviyo advises against trigger filters or profile filters.
- Add the Back in stock delay immediately after the trigger. This holds each subscriber until the item they asked about is restocked. Don't add other time delays.
- Add the email (or an SMS if you've set up SMS) and turn Smart Sending off for it. Without that, a subscriber who received a marketing email an hour earlier may not get the message they specifically requested.
- Set it live. A flow left in draft sends nothing. Use Review and turn on, or Update Status, and confirm the status reads Live.
The restock minimum and batching
Two settings deal with the case where fewer units arrive than people are waiting. The Restock minimum is the number of units that must be in stock before any notifications go, found under Settings, Other, Back in stock settings, and it applies to every back in stock flow on the account. Under the delay's Notification quantity, Advanced options let you notify some subscribers per unit restocked ("number of subscribers to notify for each restock item") and wait between batches ("notification frequency for each restock item"). The oldest sign-ups go first, and batches continue until stock falls below the minimum.
An illustrative case: a shop gets 60 units of a sold-out item with 140 people waiting. With the default, all 140 are told at once and the first 60 buyers get it while 80 click through to a sold-out page and feel let down. With a notification quantity of 2 per unit and a wait of a few hours between batches, the first 120 subscribers hear first, the oldest ahead of the newest, and the slow ones don't find an empty page. The setting that suits you depends on how fast the stock sells, so start cautious on scarce items.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowA stock check inside the flow
A community checklist from Klaviyo's own forum recommends adding a conditional split before the email that checks the item is still available, and flow filters that exclude people who have bought it since subscribing or received a back in stock email in the last seven days. This is worth doing. The delay can release hundreds of subscribers at the moment stock arrives, and a product with five units can be gone before the later emails land. A split that says "if the variant is not in stock, do not send" turns that mistake into a silent skip. One caveat noted in that thread: if you exclude recent purchasers, allow time for order data to sync, because on a busy restock day a purchase may not register before the email goes out.
If you want the broader picture of how Klaviyo compares with Shopify's own email tool for a store of this size, see Klaviyo vs Shopify Email. Klaviyo's list prices depend on the number of active profiles: the free plan covers up to 250 active profiles and 500 email sends a month, and paid email plans rise with your profile count, so check the pricing page's calculator for your own total, which Klaviyo may show in your local currency.
Draft the email with AI, with the facts supplied
A back in stock email has one job: tell the person the thing they asked for is available and make buying it one click. It needs a subject line, one line of preview text, two or three sentences of body and a button. AI is good at it as long as it only uses facts you give it.
Draft a back in stock email for an online shop.
Facts you may use:
- Product: [name], [variant]
- What it is, in one plain sentence: [description]
- Price: [price]
- Stock position (only use this if it says CONFIRMED): [CONFIRMED: 12 units / UNKNOWN]
- Next restock: [date / none planned]
- Tone: friendly, brief, no hype, no exclamation marks
Write:
1. Five subject lines under 45 characters. No all-capitals, no "last chance", no countdowns.
2. One preview text line under 90 characters.
3. A body of 40 to 60 words. Address the reader as [first name]. Say they asked to be told.
4. A button label of 2 to 4 words.
Do not claim any number of items left unless the stock position above says CONFIRMED, and then use the exact number. Do not mention other customers.
Illustrative output for a stoneware mug that sold out and returned:
Subject: The speckled mug is back
Preview: You asked us to tell you. It's in stock now.
Hi [first name], the 350 ml speckled mug you asked about is back in the shop at $18. We've put a small batch up, so we can't promise how long it will last, but it's ready to order today.
Button: See the mug
What to fix in a draft like this: "so we can't promise how long it will last" is honest, but check it against the facts. If stock is 200 units it is misleading in the other direction. Match the line to the real number, which the next section covers.
Low-stock wording that stays true
Scarcity wording is where AI-drafted copy does the most damage, because "only a few left" is common in the text it learned from. Build rules instead of hoping.
- Say a number only if a live value supplies it. If your email can show the current stock, use "Only 6 left" when stock is 6 and not otherwise. If it can't, write nothing about quantity.
- Use a threshold. Show a low-stock line only below a number you've set, such as ten, and write the fallback line for everything above it.
- No invented deadlines. "Back for 24 hours only" is false if the product stays in stock.
- Say when the next restock is, if you know. "Next batch expected in about six weeks" is useful and verifiable. If you don't know, say nothing.
- Don't suggest other people are waiting unless you're counting them. "140 people are waiting" is only true if you have the count and it's current.
A bookshop selling a reprinted hardback might use a different shape: "The reprint arrived today. We have 8 copies on the shelf and no date for a further printing." That's low stock stated as a fact with its consequence, nothing manufactured. Contrast "Selling fast!", which asserts something you can't evidence. Consumer law in at least one major market lists falsely claiming that a product is available only for a very limited time among practices that are always unfair; ask your adviser if you sell widely.
The sign-up form is copy too
Most stores spend an afternoon on the email and thirty seconds on the form, yet the form decides how many people ever enter the flow. The default button says something like "Notify me when available". AI can offer variants, but only test one change at a time, and keep the promise exact: if the form says "We'll email you the moment it's back", the flow must really send straight away, with no batching delay on that product.
Three form wordings, illustrative, with what each promises:
- "Email me when it's back": plain, promises one email, and the flow delivers it.
- "Tell me when the 500 ml size returns": names the variant, which reduces wrong-size confusion for products with sizes; make sure the form passes the variant ID.
- "Join the waiting list": sounds exclusive, but implies a queue or reservation. Don't use it unless you really hold stock for people in order.
Add one line under the field saying what you will and won't do with the address: "We'll send one email about this item. We won't add you to our newsletter." If you do want newsletter permission, ask for it with a separate, unticked box. Mixing the two risks complaints and consent problems, and a short sign-up with a clear promise tends to feel safer to the person typing their address.
For clothing or any product with sizes, check what happens when only some variants restock. A subscriber who asked about a medium shouldn't hear about a large. In the test restock, change one variant at a time and confirm only its subscribers receive anything.
Check the draft against the email QA list
Before turning the flow on, send yourself a test restock: set a sold-out variant to a positive quantity in a test product, let the flow run, and read the email as a customer. Check the product image, price and variant (the right size and colour), the link goes to the exact variant, the unsubscribe link works, and the preview text isn't a leftover default. The general pre-send routine is in the email QA checklist, and for approval steps around AI-drafted messages see the content approval workflow tutorial.
A second message, and when to skip it
One message does the main job. A second message 36 to 48 hours later, only for subscribers who haven't bought and only if the item is still in stock, can recover people who missed the first. Use the stock-check split again before it. Don't add a third unless the product is in stock for weeks and you've seen the second one earn. Klaviyo's own advice is to keep the flow to between one and three messages.
The second message needs different copy, not the same email again. A prompt that works: "Write a short reminder to someone who asked to be told when [product] returned, but hasn't bought. Don't repeat the first email's subject. No new claims about stock. One sentence on why people choose it, from these facts: [facts]."
Measure recovered orders against a holdout
Klaviyo reports orders attributed to the flow, and those include people who would have returned and bought anyway. A person who signs up for a restock alert has strong intent; many will buy the moment they see the item is back, email or not. To learn what the email adds, hold some subscribers back.
A holdout is a small group who don't get the email. Klaviyo's built-in global holdout groups need an account with at least 400,000 profiles and hold people back from marketing messages across the account unless you override a flow, so smaller stores use the method its community describes: put a Random sample conditional split near the start of the flow, send the chosen percentage down the Yes path, and leave the No path empty so those profiles exit. Add the split before a restock, then check the flow's analytics to confirm profiles are reaching both paths. Label the groups with a profile property or a tag so you can compare them later.
An illustrative result after six restocks, with 10% held out: 900 sign-ups, 810 sent the email and 90 held back. Suppose 178 of the 810 bought (22.0%) and 11 of the 90 held-back bought (12.2%) on their own after seeing the item back on the shop. The holdout buyers found the item some other way, through the shop or a social post. The lift is 9.8 percentage points, about 79 extra orders from the 810 (810 × 0.098). At an average order of $42, the emails produced about $3,300 more revenue than doing nothing, while Klaviyo's attribution report would show 178 orders, or about $7,500. The truth is roughly 44% of the attributed figure. That's still a good flow; it's just a different number when you decide how much effort to put into it.
Two cautions before you use a holdout
- These people asked for an email. Not sending it to some of them is a decision about customer service as well as measurement. Hold back a small share, for a limited period, on products where late discovery isn't harmful. Another option is a delayed group: send the holdout the same email 48 hours later and compare how many bought in the first two days.
- Small numbers are noisy. With 90 held-back subscribers, 11 versus 8 buyers is within normal variation. Pool several restocks, as the example does, and don't claim a result from one product's 14 held-back people.
A quarterly review of the flow
Once it's running, check four numbers each quarter: sign-ups per sold-out product, share who opened, share who bought, and share of orders that match the holdout lift. Also search the flow's email for stock claims that are no longer true. A good use of AI here is to paste the last quarter's restock list and ask which products generated the most sign-ups, which tells you what to stock deeper next time, a job connected to AI reorder points and stockouts. The sign-up count itself is data on demand you couldn't serve, which most stores never measure.
If you use Klaviyo's own AI tool, Composer, its price is separate from your email plan (Klaviyo's help centre lists a free plan of 500 credits per cycle and a $20-a-month plan with 2,000 credits), so you don't need it for a back in stock email; any general assistant can draft it from your facts. The Composer pricing tutorial goes into when it earns its cost.
When the email went to a sold-out page
An illustrative failure. A store restocks a popular candle at 20 units and 95 people are waiting. The flow has no batching, no stock split and no restock minimum, so all 95 get the email within minutes. The first 20 buy; the other 75 land on a sold-out page, and a dozen reply to the email asking why they were told. The store loses little money but spends the next morning apologising, and a few of those subscribers never click a restock email again.
The fixes were small: a restock minimum of 20, a notification quantity of 2 per unit with a four-hour wait, and a split to skip anyone if stock reads zero. Order of operations matters more than any single setting.
Launch checklist
- Tracking on, Continue selling off, products published, catalogue syncing.
- Form live on sold-out pages, and a test sign-up showing the right product and variant on the profile.
- Trigger is "Subscribed to Back in Stock", no trigger filters.
- Back in stock delay straight after the trigger; no other delays.
- Restock minimum and batching decided for scarce items.
- Stock check split before each email; recent-purchaser exclusion in place.
- Smart Sending off on the email; flow set to Live.
- Copy drafted from supplied facts; no unsupported scarcity.
- Test restock run and read as a customer.
- Holdout of about 10% on new sign-ups, with a plan to pool results over weeks.
Back in stock questions that come up after launch
Why did my back in stock flow never trigger?
The usual causes are inventory tracking switched off in Shopify, 'Continue selling when out of stock' left on, a product that isn't published, or a catalogue that has stopped syncing. Klaviyo doesn't track stock itself; it reads it from Shopify. Check those four before you touch the flow.
Why did subscribers get no email even though the flow fired?
Check that the flow is set to Live, not draft, that the profile has email consent, and that Smart Sending is switched off on the back in stock email. Smart Sending can suppress a message sent shortly after another, which defeats the point of a notification someone asked for.
Can AI write the whole back in stock email?
It can draft it well because the message is short and the facts are few. Give it the product, the variant and the real stock position, then read the result for any invented scarcity or urgency. Never let a draft claim a number of items left unless a live value supplies it.
How many back in stock emails should I send?
Klaviyo's own guidance is to keep this flow to between one and three messages. One immediate message does most of the work. A second, a day or two later, can remind people who haven't opened the first, provided the product is still in stock.
Further reads
- Abandoned Cart Recovery in WooCommerce: Plugin Setup and AI Copy — The same flow thinking for abandoned carts.
- Pre-Order Policy Checklist: Draft Yours and Check Delivery Rules — Write the pre-order rules before taking deposits.
- Stocky Alternative for Shopify: Purchase Orders and AI Reordering — Reorder stock after Stocky's end.
- B2B Ecommerce With AI: Trade Accounts, Pricing and Reorder Emails — Reorder emails for trade customers.
- Best AI for Ecommerce Operations: Orders, Stock, Returns, Suppliers — More AI jobs around orders, stock and returns.
- Best AI Assistant for Shopify: Sidekick, ChatGPT or Claude by Job — No single winner: Sidekick for tasks inside your store, ChatGPT or Claude for writing and analysis. A job-by-job split with permissions and costs.
- Black Friday Email Marketing for Small Stores: Segments With AI — A three-week Black Friday email plan for a small store: AI-built segments from your own orders, subject lines per segment and safe Gmail sending.
- Peak Season Ecommerce Checklist: Stock, Support and Shipping — A seven-day plan and checklist for a small online store: stock cover, carrier cut-offs, support macros, ad budget and returns wording, built with AI.
- Post-Purchase Email Flow for Online Stores: Write It With AI — Five post-purchase emails with timing, sample copy and prompts: confirmation, shipping, delivery check-in, review ask and reorder nudge.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Klaviyo help centre (How to build a back in stock flow; How to set up a back in stock form; Getting started with global holdout groups; Composer pricing) and Klaviyo Community threads on back in stock set-up, troubleshooting and holdout tests; Klaviyo pricing page (list prices in dollars).