CarpeMessaging
Request early access

Help · Content

Back in stock

When something in your store sells out, a shopper can ask to be notified when it is back. That ask is a request, and it stands until it is answered.

Content → Back in stock is where you see who is waiting. One row per variant, longest queue first.

If your store has no plan, back-in-stock emails wait until it has one, and everybody keeps their place in the queue — this screen shows a Choose a plan button while they do. On the Free plan, shoppers can still ask and see the same thank-you, and every request is kept, but no back-in-stock email is sent: they are sent on the $29 plan, and this screen shows a Choose the $29 plan button. Choose it and the emails start going out — right away for a product that is already back in stock, the rest when theirs comes back.

On the Free plan, past the period's 200 sign-up checks, a new request's address is not checked when it arrives. A one-tap request from a profile with a verified identity keeps its place. Every other one waits, not emailed, and is checked on its own, oldest first, when the next billing period starts — up to that period's 200 — or all at once when you choose the $29 plan. If its address checks out, it takes its place in the queue then; if not, it stays one we could not confirm.

Asking is not subscribing

A back-in-stock request is not consent to hear from you. It puts nobody on a list, starts no welcome automation and records no consent. It lets you tell that person about that one variant, and nothing else.

This is the part worth reading twice, because it is the opposite of what most tools do.

A back-in-stock request is not consent to hear from you. It cannot start a welcome automation, it does not put anyone on a list, it does not make anyone confirmed and subscribed, and it records no consent. It authorizes exactly one thing: telling that person about that one variant.

If the shopper also wants your news and offers, that is a separate box on the same form that they tick themselves — and the record of it says which one it was. You choose whether the box appears at all, and how it arrives, on the settings page.

So a store with two hundred people waiting has not gained two hundred people it may email about anything else. It has gained two hundred promises about two hundred products.

Setting it up

Back in stock is Disabled until you enable it, so nothing appears on your store until you do. Set up back in stock walks you through it, one step at a time: Enable (it makes and publishes your back-in-stock form and sets up the bot check in one press), add the block to your product page, then look at a sold-out product on your store.

The second step says whether it is done: Carpe Messaging reads your published theme and names it when the block is in place. Where it cannot read your theme it says Could not check rather than guessing, and leaves the button where it was — your theme editor will show you what is already on the page.

What the shopper sees

On a product page whose selected variant is sold out, the Notify control stands where the theme's own sold-out button was, and your store's Buy it now button for that product is put away with it — a sold-out variant has nothing to buy. Both come back the moment somebody picks a variant they can buy.

That control is the only way in. Pressing it opens a pop-up — and that pop-up is your form, the one in Content → Forms called Back in stock notification. Its words, its colors, its image and its fields are yours to change, in the same editor as every other form you have.

It names the product and the variant — by name, every time, because a form that says "this product" is a form nobody can check. You write that sentence once — Email me when Product name is back — and your store fills the names in, whatever the shopper is looking at.

Choose a heading or paragraph and press + Product name or + Variant name to put one in where your cursor is; it shows in your words as Product name or Variant name. Product name becomes the product's name and Variant name becomes the variant's. On a product with only one variant, Variant name is nothing at all, and a line with nothing else on it disappears with it — so the same form reads correctly on a jacket in five sizes and on a candle in one. The thank-you panel can use both, and the Email address field for the address they typed.

A shopper who is signed in to your store finds their name and email address already filled in — they are your store's own, for whoever is signed in on that browser, and the boxes are still theirs to change. A shopper who typed their name and address into one of your forms in this browser before finds those instead, and only when nobody is signed in. Anyone else sees an empty form.

Asking identifies the shopper, as a signup does — unless the address is one we could not confirm. Your store then knows whose browser it is: what they looked at before asking, and what they look at afterwards, is on their profile, and your forms show or stay hidden by who they are. It still puts nobody on a list, starts no automation and records no consent.

The image at the top is an image block set to the product rather than to one of yours: it shows the variant's own photograph where there is one, the product's where there is not, and nothing at all where there is neither.

Two things on that form cannot be taken off it, because a form without them is a form nobody can check: your store will not publish it if the first panel does not name the product or does not name the variant. As on every form, the line saying what the shopper is agreeing to has to be there too. The wording is yours.

The image is the one you can move, resize, restyle or delete — and if you delete it your store puts a small one back at the top of the panel, because a form that cannot show what it is about is the thing all of this exists to prevent. To put your own back, add an image block and open Which image: on this form the choices are The product — the image your store fills in — and an image you choose yourself.

Some shoppers are shown something shorter: a person whose first signup on one of your forms happened in that same browser, a person who confirmed a texted code there, and a shopper signed in to their customer account on your store when that browser is already linked to them — even if only through your checkout. Everybody else gets the ordinary form, including people your store knows only from a checkout and people who were already on your store's records when they signed up on a form — signing up again does not change that; signing in does. The shorter panel is not a pop-up: one line saying where you will write to them — with most of the address hidden, because a product page is cached and served to everybody — and one button, standing where the sold-out button was. They type nothing, and asking them to open something first would be a press for nothing. If it is not their address, Not you? opens your form — and so does the app itself, quietly, if that shorter panel has been sitting open a while, or if anything at all gets in the way of that one button when they press it. Either way the person ends up on the form everybody else sees, they can finish there, and nobody is stuck.

One press is the whole request. The quick check that a person, not a bot, pressed Notify me rides that same press, and the thank-you appears as soon as it passes — the address is checked straight after. Everybody sees the same thank-you, whatever the check found — a clean address and a bad one are answered alike, because an answer that differed between the two would be a free way for anyone to test other people's addresses at your expense.

A shopper signed in to your store skips the bot check when they ask with their own account's email address, because your store already knows who they are. If they type a different address, the check comes back.

A misspelled address is caught where it can be. When the part after the @ looks like a common misspelling — gmial.com, hotmial.com — pressing Notify me asks once, "Did you mean ada@gmail.com?", with No, keep mine and Yes, use it, and either one sends. The thank-you also has a Change email address button that opens the form again with what they typed in it, so they can fix a typo only they would spot. A signed-in shopper who asked with their own account's address doesn't see it — there is nothing to fix.

The form editor shows you all three. Press Test and preview on your back-in-stock form and Preview as offers New shopper (your pop-up), Known shopper (the shorter panel, with an example address — press Notify me in it to see what they see next, or Not you? to go back to the pop-up) and After they ask (your thank-you panel). While you are editing, the pop-up also shows the Also send me news and offers box directly above the button, drawn the way your setting on Set up back in stock draws it, and a dashed box where the bot check appears. That dashed box is only in the editor: most shoppers see nothing there at all, and the few the check is unsure about see a tick box in that spot.

There is no confirmation email. A shopper who asks is never emailed to confirm the ask. The only mail a request ever causes is the one that says the thing is back, or the one that says it is not coming back.

Who gets the email when it is back

Every address is checked when the shopper asks. When the check says the mailbox is there, the ask joins the queue.

When the check cannot be sure — the address is on a company domain that accepts every name, the mail server would not say, or the check rates the address as hard to deliver to — the ask still joins the queue as long as the shopper passed the check that they are a person and typed their first name. Bots rarely do both. Those shoppers get the back-in-stock emails — the one that says the item is back, and the one that says it is not coming back if you mark it discontinued — and nothing else. Their ask counts in your back-in-stock numbers (Asked, the queue) like any other, but their profile stays unconfirmed: it is not in your profile counts, and none of your campaigns, automations or segments will ever reach them from this ask. Ticking Also send me news and offers on that ask does not change that — if they ask again later and the check can confirm their address that time, they become an ordinary confirmed profile, and a ticked box then counts.

Addresses on a domain that accepts every name follow your catch-all switch in Settings → Email: while it is on, they can join the queue this way; disable it and they cannot.

Some addresses never join the queue, whatever the shopper typed: one the check says does not exist, a mailbox that is full or closed, one the check rates as unusable or harmful, and a throwaway address from a disposable email service. Emailing any of them would only bounce or worse, and that counts against your store. With those, and with any ask where the check could not be sure and no first name was typed, you have the asks that could not be confirmed.

What closes a request

A request closes when the shopper buys that variant, when they cancel, or when you mark the item discontinued — nothing else. Being notified does not close it, so somebody notified who did not buy keeps their place.

Three things, and nothing else.

Being notified does not close a request. That is the whole shape of this feature: somebody notified that it was back who did not buy keeps their place, and the next time it is back in stock they are first. Being notified twice, or five times, is normal.

The numbers on the screen

Each row carries the queue and three numbers about it, because "eleven people waiting" hides the thing you would want to know.

Those three exist because keeping somebody's place has a cost: the same few people are at the front every time, so if only a few ever come back, the same few hear about it and the rest never do. The app does not quietly reorder your queue to fix that. It shows you, and you can hold the back-in-stock email and decide.

Nothing here counts what nobody opened. Mail apps open email on the reader's behalf, and several never report an open at all, so "they ignored it" is not a fact anybody has. What the screen counts is how many times you notified them.

Two more numbers sit under the queue when they apply, and neither is part of it: how many are still waiting on a check, and how many addresses could not be confirmed. Nothing is ever emailed to either.

Paging. Under the table you choose how many to show at a time — 25, 50 or 100 per page — and step through with Previous and Next. The line beside them says where you are: Page 3 of 5. Type a number in the box to jump straight to a page. The page you are on is part of the address, so opening a variant's queue and coming back puts you back where you were, and the size you choose is remembered the next time you open this screen. Waiting for you counts everything held in your store, not the ones on the page in front of you.

How your form is doing

At the top of Content → Back in stock, and on each variant's page just under the counts at the top, a short summary says what your form has done, since it started:

Under those, smaller: Bought later (more than five days after being notified), Bought before we notified them, and — only when there are any — the asks still waiting on a check and those that could not be confirmed. Neither of the last two is counted in the numbers above.

What "bought" means. An order your store told us about, for that variant, from the same email address or the same person, placed after they asked. So a guest order with no email address on it, or somebody who asked about the medium and bought the large, is not counted — we would rather miss a sale than claim one we cannot show.

Why five days. It is the same five days a campaign's orders are counted over, so the two can be compared. Purchases after that are not hidden; they are Bought later, right beside it. The same order can appear here and on a campaign too, because the two answer different questions: this one asks whether the person who asked went on to buy what they asked for.

Nothing here counts opens, for the same reason as below: an open is not a fact anybody has. And nothing here is money — the summary counts asks, not order value.

If a store has taken a great many asks, the summary can occasionally say We couldn't count this just now. Nothing is wrong; reload the page and it counts again. A store nobody has asked in yet shows no summary at all.

Your back-in-stock form's own page, in Content → Forms, links here with See how this form is doing.

When a product goes away

Nothing closes automatically, because you may be replacing it. Two lines appear on the row instead:

No longer in your store

for a product deleted or no longer active in Shopify, and

Sells at zero stock, so it is never back in stock

for a variant you have set to keep selling when stock is gone. In both cases the people waiting are still waiting, and Mark as discontinued in the row menu is how you tell them.

What a viewer sees

Everything. The queue, the numbers, one variant's own page and the settings are all readable by every role.

Four acts are not: Notify the next group now, Hold this variant, Mark as discontinued and canceling somebody's request. Those need the same permission as sending a campaign — a marketer, a manager or your owner, because each of them changes who this back-in-stock email reaches. Changing the wave settings, the store-wide Hold every back-in-stock email for me, or Follow the store setting on one variant is a manager's, like your other store settings.

Where to go next

The other back-in-stock pages cover setting it up, the groups people are notified in and how to hold them, and the two emails.