Online store code on a screen, representing adding a waitlist signup form to a Shopify theme

article

How to Add a Waitlist to Shopify (Product Page + Theme)

Create a waitlist on Shopify product pages for sold-out items, or a coming-soon page — with Custom Liquid, theme code, or no code at all. Step-by-step.

AAymane E.October 4, 20269 min readUpdated November 14, 2026
Share

A Shopify store has three places a waitlist earns its keep: a sold-out product page (the most common reason merchants search for this), a "coming soon" page before launch, and a landing page for an upcoming product. Shopify has no built-in "notify me" button for a sold-out item — its email signup captures an address, but it tracks no referrals and sends no broadcasts.

GetWaitly's widget adds a real waitlist with two lines of code, or none at all if you link the hosted page. Here is how to add a waitlist to Shopify with each method, in the order most stores need them.

The short answer

To create a product waitlist on Shopify, paste your GetWaitly snippet into a Custom Liquid section on the product template for sold-out demand, or into theme.liquid just before </body> for a site-wide popup. For a pre-launch store, put a waitlist on Shopify's coming-soon page by adding the snippet to password.liquid. Theme code editing works on every plan, including the entry-level one. Total time: 5–10 minutes.

What you need

  • A GetWaitly account with a waitlist created (free plan covers 100 subscribers).
  • Your waitlist's public ID from the Widget/Embed section of the dashboard.
  • Access to your Shopify admin. Editing theme code is included on all Shopify plans — no app or extra fee.

Step 1 — Get your embed code

In GetWaitly, open the waitlist and go to Widget. Copy:

Script tag:

<script src="https://getwaitly.com/widget.js" defer></script>

Container div:

<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>

Use the waitlist's public ID, not the URL slug.

Option 1 — Sold-out product pages (back in stock notifications)

Most Shopify waitlists exist for one reason: a product is out of stock and shoppers still want it. Put the widget on your Product template so it appears on every product page, then optionally show it only when the item is unavailable.

  1. In Shopify, go to Online Store → Themes → Customize.
  2. Open the Product template.
  3. Click Add section and choose Custom Liquid.
  4. Paste both lines, then save:
<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
<script src="https://getwaitly.com/widget.js" defer></script>

To show the form only on sold-out products, move the container into your product template file and wrap it in a Liquid conditional:

{% if product.available == false %}
  <div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
{% endif %}
<script src="https://getwaitly.com/widget.js" defer></script>

Every product page can point at the same waitlist, or you can use a different data-waitlist-id per product so you know which item each subscriber wanted.

Shopify waitlist app, or a form on your theme?

Most merchants search for a Shopify waitlist app, and the App Store has a whole back-in-stock category. Those apps solve one problem well: when a SKU returns to stock, everyone who asked gets an email automatically.

That is a different job from a pre-launch waitlist. An app watches inventory and fires on restock; a waitlist collects intent before there is inventory to watch, gives people a queue position and a referral link, and lets you send on your terms. If you restock continually across many products, an app earns its subscription. If you are launching a product, a drop, or a collection, the waitlist is the right tool — and you can add an app later for routine restocks.

Option 2 — An inline form on any page (Custom Liquid)

This is the cleanest way to put a form on a specific page, and it does not touch your theme files.

  1. In Shopify, go to Online Store → Themes → Customize.
  2. Open the page or template where the waitlist belongs (for a landing page, use a page template).
  3. Click Add section and choose Custom Liquid.
  4. Paste both lines into the Custom Liquid box:
<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
<script src="https://getwaitly.com/widget.js" defer></script>
  1. Save. Move the section where you want it, then check the preview.

Most modern (Online Store 2.0) themes support the Custom Liquid section. If yours does not, use Option 3 or 4.

Option 3 — Site-wide popup via theme.liquid

For a button that opens the form in a modal on every page:

  1. Go to Online Store → Themes → ⋯ → Edit code.
  2. Open Layout → theme.liquid.
  3. Scroll to the bottom and paste the script just before the closing </body> tag:
<script src="https://getwaitly.com/widget.js" defer></script>
  1. Save.
  2. Add the trigger where you want it — a header button, or a Custom Liquid section:
<button class="gw-trigger" data-waitlist-id="YOUR_WAITLIST_ID">Join waitlist</button>

Option 4 — A pre-launch "coming soon" page

Shopify lets you password-protect your store while you build it. The password page is the perfect place for a Shopify waitlist page: it is already the only thing visitors can see.

  1. Go to Online Store → Themes → ⋯ → Edit code.
  2. Open Layout → password.liquid.
  3. Paste the snippet before the closing </body> tag (or inside the password page's content block, depending on your theme):
<div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div>
<script src="https://getwaitly.com/widget.js" defer></script>
  1. Save, then enable the password page under Online Store → Preferences → Password protection.
  2. Visit your store — visitors see the waitlist form instead of the storefront.

This turns your coming-soon page into a real signup funnel with referrals and emails, instead of Shopify's default email capture.

Step 2 — Test it on the live site

Always test in a private window on the live site, not just the theme preview — some scripts only run once published. Submit a test email and confirm the subscriber appears in your GetWaitly dashboard. Check the mobile layout too.

Shopify-specific gotchas

  • Back up your theme first. Before editing theme code, go to Themes → ⋯ → Duplicate so you have a rollback. Editing theme.liquid affects every page.
  • Do not paste the script twice. If you load the script in theme.liquid and also inside a Custom Liquid section, the widget can initialize twice. Load the script in one place only.
  • Custom Liquid vs theme code. Prefer the Custom Liquid section for inline forms — it is upgrade-safe. Theme-file edits are overwritten when you switch themes.
  • Password page themes vary. In some Shopify themes the password content lives in password.liquid; in others it is a section. Paste the container where the form should appear and the script before </body>.

Alternative: link to the hosted page

If you would rather not edit theme code, publish GetWaitly's hosted page at getwaitly.com/w/your-id and link to it from a Shopify button or the password page. The signup happens on GetWaitly's page, and you avoid theme edits entirely.

FAQ

Does GetWaitly work on Shopify?

Yes. Use a Custom Liquid section for an inline form, or edit theme.liquid for a site-wide popup. For a pre-launch store, add it to the password page.

Do I need a paid Shopify plan to embed a waitlist?

Theme code editing and Custom Liquid sections are included on all Shopify plans, including the entry-level plan. You do not need an app or an add-on.

Is there a Shopify waitlist template?

No template does the whole job. Shopify's free themes ship a password page and product templates you can edit, and the App Store has back-in-stock apps — but none of them gives you a queue, referral links, and broadcasts in one place. The closest thing to a "template" here is the Custom Liquid section in Option 1: paste it once into the Product template and every product page inherits it, styled by your GetWaitly branding.

Can I add a waitlist to my Shopify coming-soon page?

Yes — that is one of the best uses. Edit password.liquid (or the password page section) and paste the GetWaitly snippet, then enable password protection. Visitors to your store see the waitlist form.

Why is my Shopify embed not showing?

Check that you saved the theme file, test the live site in a private window (not the editor preview), and confirm the data-waitlist-id matches your waitlist. If you pasted the script in two places, remove one.

Can I show the waitlist only on sold-out products?

Yes. Add the container to your product template inside {% if product.available == false %} so it renders only when the item cannot be bought. That gives you a "notify me when back in stock" form without touching in-stock pages.

Can I add a waitlist to one specific product?

Yes. Give that product page its own data-waitlist-id, or edit only that product's template. Using a separate waitlist per product also tells you which item each person subscribed for.

Will the form match my store's branding?

It uses your GetWaitly accent color and font, which you can set to match your Shopify brand. The widget cannot be styled independently, but it looks at home on most storefronts.

Related guides

The simple, affordable waitlist tool for founders and makers. Start free in 5 minutes — no credit card required. Try GetWaitly free →

Aymane E.

written by

Aymane E.

Founder of GetWaitly. I write about validating ideas, pre-launch, and growth from building a waitlist tool as a solo founder.

Follow on X

Build your waitlist in 5 minutes

GetWaitly handles signups, referrals, broadcast emails, and analytics — free to start.

The GetWaitly dashboard showing signups and growth