Introduction
ZS PreSell & Back In Stock turns out-of-stock and unreleased products into revenue. Take pre-orders before stock arrives, build hype with a countdown, and collect back-in-stock emails — without editing theme code.
What you can do with this app
Sell pre-orders
Replace "Add to cart" with your Pre-order button. Orders go through Shopify checkout as real pre-orders.
Coming-soon launches
Lock the button and show a live countdown until launch day — the product goes on sale by itself.
Back-in-stock waitlists
Collect emails on sold-out products, then email everyone on the list from the app when stock is back.
Custom badges
Pick a style, position and colours. Badges show on the product page and on product cards.
No theme code
Works with Online Store 2.0 themes. Switch on one app embed and you're done.
Multi-language
The storefront widget speaks 10 languages and the app admin 9 — it follows your store's and your admin's language.
Who is this for?
Merchants who run launches, drops, restocks and waitlists — fashion, electronics, beauty, collectibles, and any catalog where demand outruns supply. If you're losing customers to a greyed-out "Sold out" button, this app is for you.
Quick start
From install to a live Pre-order button in about five minutes.
Install the app
Install ZS PreSell & Back In Stock from the Shopify App Store and approve the permissions.
Turn on the app embed
Online Store → Themes → Customize → App embeds → switch on ZS Pre-Order & Badges. Save. The app's Quick start guide has a button that opens this screen for you.
Create your first campaign
In the app, click Add campaign → choose Pre-order, Coming soon or Notify me → select products → choose when to apply → Save.
Check the product page
Open the product on your store. When the campaign applies — for example, the product is out of stock — "Add to cart" is replaced by your button and a badge shows on the product image.
Installation
Install from the Shopify App Store. The app opens inside your Shopify admin — there is no separate account or login.
Find the app
Search the Shopify App Store for ZS PreSell & Back In Stock.
Click Install and approve
Shopify lists the permissions the app asks for (explained below). Approve them.
Land on the dashboard
You'll see the Quick start guide, three "Start a campaign" cards and your campaign list (empty on first install). You also get a short welcome email with the same steps.
Permissions the app requests
| Scope | Why we need it |
|---|---|
read_products, write_products |
Pick campaign products, save each campaign to a product metafield the storefront reads, and switch "Continue selling when out of stock" on for pre-order products (and off again when the campaign ends). |
read_purchase_options, write_purchase_options |
Create the Shopify pre-order selling plan attached to campaign products, so pre-orders check out as real pre-orders. |
read_orders, read_all_orders, read_customer_payment_methods, read_own_subscription_contracts, read_payment_mandate, write_payment_mandate |
Required by Shopify for every app that offers a deferred purchase option such as pre-order. |
Theme setup
One app embed does everything. An optional app block lets you choose exactly where the button sits.
How the storefront integration works
Each save writes the campaign to the product's zs_preorder.config metafield. The theme extension reads it while the page renders, so the product page needs no extra request. Badges on collection and search cards come from one small request per page.
App embed — ZS Pre-Order & Badges (required)
Open the theme editor
Online Store → Themes → Customize.
Switch on the embed
Open App embeds and switch on ZS Pre-Order & Badges. Save.
On campaign products the embed hides the theme's Add to cart and Buy it now buttons and shows your widget right below the product form. In its settings you can turn badges on or off for the product image and for product cards, and add extra CSS selectors if your theme uses unusual markup.
App block — ZS Pre-Order (optional)
Want the button somewhere else on the page? In the theme editor open the product template → Add block → Apps → ZS Pre-Order, drag it into place and save. When the block is on the page, the embed uses it instead of adding its own.
Choosing a mode
Every campaign uses one of three modes. Pick the one that matches your goal — you can change it later.
Pre-order
Customer buys now, you ship later.
- Replaces the Add to cart button
- Checks out with a Shopify pre-order selling plan
- Best for: launches, restocks, limited batches
Coming soon
Build hype — no buying yet.
- Locked button until launch
- Optional countdown to the release date
- Best for: drops and scheduled releases
Notify me
Collect emails on sold-out items.
- Email form replaces the button
- Inline form or popup
- Best for: back-in-stock waitlists
Pre-order mode
Take orders before inventory arrives. The customer pays at checkout and you ship when stock lands.
Add campaign → Pre-order
Or click the Pre-order card under "Start a campaign" on the dashboard.
Choose when to apply
Only when out of stock (recommended), Until release date or Until quantity limit. See When to apply.
Select products
Pick one or more products — they all get the same settings.
Design and save
Set the button, badge and optional countdown with the live preview, then save.
What the customer sees
The theme's Add to cart is hidden and your button (by default "Pre-Order Now") appears in its place. Clicking it adds the item to the cart with Shopify's Pre-order selling plan and a visible Pre-order line property — "Ships when available", or "Ships from" your release date. The label stays on the cart, checkout and order, so your team can spot pre-orders at a glance.
Coming soon mode
Show the product, but don't sell it yet. Lock the button and count down to launch.
Set it up
Add campaign → Coming soon
Select the products to tease.
Choose Until release date
Pick the launch date in the calendar. (Only when out of stock also works, for teasing a restock.)
Turn on the countdown
In the Countdown tab switch it on and pick a style. The button stays locked until the countdown ends.
Notify me mode
Capture demand on sold-out items. Shoppers leave their email; you email them when the product is back.
Add campaign → Notify me
Select products. Only when out of stock shows the form only while a product is sold out.
Customise the form
Change the button text, placeholder and badge. On Pro the form can open as a popup.
Watch the list grow
Every signup appears in Notify list in the app navigation.
When stock comes back
Open Notify list and click Notify on a signup to send the back-in-stock email. The email names the product, links straight to it and is sent once per signup; the row then moves to Notified. Prefer your own email tool? Use Export CSV.
Button & badge design
Match your brand. The editor's live preview updates as you change anything.
| Tab | What you can change |
|---|---|
| Button | Text and message, position, size, corner radius, font size, colours. Styles (solid, outlined, pill, soft) on Starter; animations (pulse, glow, scale) on Pro. |
| Badge | On/off, text, corner, radius, font size, colours. Styles and ready-made designs on Starter; animations (pulse, blink) on Pro. |
| Countdown | On/off, release date, above or below the button, alignment, width, colours. Nine styles (segments, inline, flip, launch, glass, panel, circle, neon, minimal) on Starter; animation on Pro. |
| Notify | Placeholder text; popup title, background and blur. Popup display on Pro. |
When to apply
Decide when a campaign is live on the product page.
| Option | When it shows | Best for |
|---|---|---|
| Only when out of stock | Per variant, while Shopify shows no stock for it. In-stock variants keep the normal Add to cart. | Restocks and back-in-stock waitlists. |
| Until release date | While out of stock, until the date you pick passes — then it switches off by itself. | Launches with a fixed go-live date. |
| Until quantity limit | While out of stock, until the limit is reached. Pre-order: units pre-ordered through the button. Notify me: people who sign up. | Limited editions and capped batches. |
Whatever you choose, a campaign only appears on variants that are out of stock — an item you still have in stock always sells normally. When a dated pre-order's release date passes, the app also switches "Continue selling when out of stock" back off so nothing oversells.
To stop a campaign without deleting it, use the Active switch at the top of the editor.
Bulk campaigns
Put many products on the same campaign at once.
The product picker lets you select up to 50 products at a time, and the Save button shows how many you're saving — for example "Save (12 products)". Every product in a campaign shares its mode, timing and design. A product belongs to one campaign at a time: adding it to another campaign moves it there.
Languages
Shoppers and merchants each see the app in their own language.
Storefront: the widget's fixed texts — messages, countdown labels, the cart's pre-order label — follow your store's language in English, German, Spanish, French, Italian, Japanese, Polish, Dutch, Portuguese (Brazil) and Bengali. Button and badge texts you left at the defaults follow the shopper's language too; texts you typed yourself are shown exactly as you wrote them.
Admin: the app follows your Shopify admin language in English, German, Spanish, French, Italian, Japanese, Dutch, Polish and Portuguese (Brazil).
Dashboard
Setup, shortcuts and your campaigns in one screen.
- Quick start guide with buttons that open the right theme editor screen.
- Start a campaign cards for each mode.
- Your campaigns — mode, number of products, active or off, with View and Edit.
- Analytics (Starter and Pro): active campaigns and notify signups.
Deleting a campaign removes its selling plan and storefront settings, so its products go back to their normal Add to cart.
Notify list & CSV
Every email captured by a Notify me campaign lands here.
- Filter by All, Waiting or Notified, and search by email, product or campaign.
- Notify sends the back-in-stock email to that shopper.
- Export CSV downloads the list you're looking at.
- Signups per plan: 50 on Free, 500 on Starter, unlimited on Pro.
Plans & billing
Free to start. Paid plans include a 7-day free trial and are billed by Shopify.
| Free | Starter — $4.99/mo | Pro — $9.99/mo | |
|---|---|---|---|
| Campaigns | Up to 3 | Unlimited | Unlimited |
| Products | Up to 5 | Unlimited | Unlimited |
| Notify signups | 50 | 500 | Unlimited |
| All three modes & countdown | ✓ | ✓ | ✓ |
| Analytics | — | ✓ | ✓ |
| Button, badge & countdown styles | — | ✓ | ✓ |
| Animations & notify popup | — | — | ✓ |
Open Plans in the app navigation to upgrade; Shopify shows the standard charge approval with the trial. You can switch plans, downgrade to Free or cancel from the same screen.
Troubleshooting
Fixes for the most common setup hiccups.
The button isn't showing on my product page
- Check the ZS Pre-Order & Badges app embed is on and the theme is saved.
- Check the campaign is saved and switched to Active.
- Check the timing: with Only when out of stock an in-stock variant correctly keeps Add to cart; with Until release date the date must be in the future.
- Make sure inventory tracking is on for the product.
Badges aren't showing on collection pages
- In the embed settings, check On product cards is ticked.
- Open the browser console and look for
[ZS Badges] Loaded N campaign(s). If badges still don't appear, your theme uses unusual card markup — add its selector under Extra card selectors.
"Pre-order is not fully set up" on the product page
The campaign has no Shopify selling plan yet. Open the campaign and click Save once to create it.
A shopper didn't get the back-in-stock email
- Emails are sent when you click Notify in the Notify list — check the row shows Notified.
- Ask the shopper to check their spam folder.
Frequently asked questions
Short answers to the questions we get most.
Does this work with my theme?
Yes — any Online Store 2.0 theme. If badges don't line up with your theme's product cards, add a selector in the embed settings; no code editing needed.
Does it slow down my store?
No noticeable impact. The product page reads its campaign from a metafield while the page renders; card badges use one small request per page.
What happens if I uninstall?
The app switches "Continue selling when out of stock" back off on its pre-order products, so nothing oversells. Shopify asks the app to erase your store's data 48 hours later, and it does.
Do I need a developer?
No. Installation, theme setup and campaigns are all done from your Shopify admin.
Can I use it on several stores?
Yes — install it on each store. Every store has its own campaigns, notify list and plan.
Contact support
Stuck on something not covered here? We usually reply within 24 hours.
Email contact@zilancer.com, or simply reply to the welcome email you got after installing.
Please include your store URL, the campaign ID (from the editor's URL) and a screenshot of the issue — it helps us help you faster.