WooCommerce

Capture pre-orders and restock demand for your WordPress store

Purpose-built for WooCommerce store owners. Manage product waitlists, capture lost sales from stockouts, and validate demand before ordering inventory. Works with any WordPress theme and all WooCommerce extensions.

WooCommerce + Waitlister

Trusted by 2,000+
businesses & entrepreneurs

Data Hokage logo
Data Hokage
Fink Academy logo
Fink Academy
stagewise logo
stagewise
Sirius AI logo
Sirius AI
BLADNA logo
BLADNA
PagePal logo
PagePal
ChatAce.io logo
ChatAce.io
Instanote logo
Instanote
DirectoryDeck logo
DirectoryDeck
landman® logo
landman®
datapro logo
datapro
NATRU logo
NATRU
Pop Date logo
Pop Date
Aspire logo
Aspire
WalletX logo
WalletX
quickblogs logo
quickblogs
Data Hokage logo
Data Hokage
Fink Academy logo
Fink Academy
stagewise logo
stagewise
Sirius AI logo
Sirius AI
BLADNA logo
BLADNA
PagePal logo
PagePal
ChatAce.io logo
ChatAce.io
Instanote logo
Instanote
DirectoryDeck logo
DirectoryDeck
landman® logo
landman®
datapro logo
datapro
NATRU logo
NATRU
Pop Date logo
Pop Date
Aspire logo
Aspire
WalletX logo
WalletX
quickblogs logo
quickblogs
“Waitlister has been amazing; honestly, I don't plan on changing to another provider. Being able to create beautiful landing pages for my waitlist has been amazing. Customer support's response time is amazing, which has helped me deploy quickly.”
Data Hokage logo
Sinazo Bogicevic
Founder, Data Hokage
Use Cases

What you can build

Popular ways WooCommerce users implement waitlists

Back-in-Stock Notifications

Automatically capture customer interest when products sell out. Notify them instantly when inventory is restocked.

Example: "Notify me when available" button appearing when stock reaches zero

Product Pre-Launch Campaigns

Build waitlists before products go live. Launch with guaranteed sales instead of hoping customers find you.

Example: Pre-launch page collecting 500+ emails before adding product to store

Demand Validation

Test product ideas before ordering inventory. Only manufacture what customers actually want to buy.

Example: Handmade store validating new product line with 200 waitlist signups

Seasonal Collection Teasers

Build anticipation for seasonal drops, limited editions, or holiday collections before release.

Example: Fashion store promoting summer collection with early access waitlist

Pre-Order Management

Accept pre-orders with waitlist tracking. Manage production quantities based on real demand data.

Example: Custom product business with 4-week lead times collecting pre-orders

VIP Early Access

Give loyal customers first access to new products. Build exclusive waitlists for repeat buyers.

Example: VIP customer list getting 24-hour early access to limited releases
Benefits

Why Waitlister for WooCommerce?

Built to work seamlessly with WooCommerce's capabilities

No WooCommerce Plugin Required

Zero plugin bloat. No conflicts, no updates to manage, no compatibility issues. Works alongside WooCommerce without adding database overhead or slowing down your store.

Recover Lost Sales

Turn "out of stock" into opportunity. Capture every customer who wants to buy. Notify them instantly when products restock and convert interest into sales.

Data-Driven Inventory

Know exactly how many customers want each product. Make informed inventory decisions. Reduce overstock and eliminate stockouts with real demand data.

Works With Any Theme

Compatible with every WordPress/WooCommerce theme - free or premium. Storefront, Astra, Divi, Flatsome, all themes work. No theme restrictions.

No Database Bloat

All waitlist data stored externally. No WordPress database overhead. Your site stays fast. Export customer data anytime for email marketing.

Email Marketing Ready

Export waitlists to CSV. Import into Klaviyo, Mailchimp, WooCommerce email tools. Turn interest into sales with targeted notification campaigns.

Choose Your Method

Which integration is
right for you?

Compare both methods to find the best fit for your WooCommerce project

FeatureForm ActionEmbeddable Widget
Setup Time~15 minutes~5 minutes
WordPress DatabaseZero impactZero impact
Theme Compatibility100% all themes100% all themes
Monthly Plugin FeesNoneNone
Design ControlFull WooCommerce stylingWaitlister dashboard
Product Page IntegrationAutomatic when out of stockManual shortcode
Best ForAutomatic store-wideQuick setup

Choose Form Action if...

  • You want automatic "out of stock" waitlist forms
  • You need store-wide waitlist functionality
  • You're comfortable editing WooCommerce templates
  • You want forms styled exactly like your theme
  • You need conditional logic based on inventory
  • You want professional store-wide implementation

Choose Embeddable Widget if...

  • You want the fastest setup possible
  • You're adding waitlist to specific products only
  • You prefer dashboard design control
  • You're testing product demand quickly
  • You don't want to edit theme files
Step-by-Step Guide

How to integrate

Follow these WooCommerce-specific instructions

1

Get your Waitlister endpoint

Login to Waitlister → Overview → copy your waitlist key. Your form action URL is:
https://waitlister.me/s/YOUR_WAITLIST_KEY

Pro tip
Store this in wp-config.php as a constant for easy reuse
2

Edit WooCommerce single product template

Copy wp-content/plugins/woocommerce/templates/single-product/add-to-cart/simple.php to wp-content/themes/your-theme/woocommerce/single-product/add-to-cart/simple.php

Pro tip
This creates a theme override that won't be overwritten by WooCommerce updates.
3

Add conditional waitlist form

In your overridden template file, add this code after the add-to-cart button:

<?php
// Show waitlist form when product is out of stock
if ( ! $product->is_in_stock() ) : ?>
    <div class="woocommerce-waitlist-form">
        <h3>Get notified when back in stock</h3>
        <form action="https://waitlister.me/s/YOUR_WAITLIST_KEY" method="POST">
            <input type="email" name="email" placeholder="Your email" required>
            <input type="hidden" name="product_name" value="<?php echo esc_attr( $product->get_name() ); ?>">
            <input type="hidden" name="product_id" value="<?php echo esc_attr( $product->get_id() ); ?>">
            <input type="hidden" name="product_url" value="<?php echo esc_url( get_permalink() ); ?>">
            <button type="submit" class="button">Notify Me</button>
        </form>
    </div>
<?php endif; ?>
Pro tip
This automatically shows waitlist form only when product is out of stock.
4

Style the waitlist form

Add CSS to match your WooCommerce theme. Add to AppearanceCustomizeAdditional CSS:

.woocommerce-waitlist-form {
    margin: 30px 0;
    padding: 25px;
    background: #f8f8f8;
    border-radius: 5px;
}

.woocommerce-waitlist-form h3 {
    margin-bottom: 15px;
    font-size: 18px;
}

.woocommerce-waitlist-form input[type="email"] {
    width: 100%;
    padding: 12px;
    margin-bottom: 12px;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.woocommerce-waitlist-form .button {
    width: 100%;
    /* Button will inherit your theme's button styles */
}
Pro tip
The .button class inherits WooCommerce theme button styling automatically.
5

Add to variable products (if needed)

For variable products, copy and modify variable.php template with similar conditional logic checking variant stock status.

Pro tip
Variable products are more complex - consider using the embed method for simplicity.
6

Create functions.php helper (optional)

Add reusable function to functions.php for easier maintenance:

function show_waitlist_form($product_id = null) {
    if (!$product_id) {
        global $product;
        $product_id = $product->get_id();
    } else {
        $product = wc_get_product($product_id);
    }
    
    if (!$product->is_in_stock()) {
        echo '<div class="woocommerce-waitlist-form">';
        echo '<h3>Get notified when back in stock</h3>';
        echo '<form action="https://waitlister.me/s/YOUR_KEY" method="POST">';
        echo '<input type="email" name="email" placeholder="Your email" required>';
        echo '<input type="hidden" name="product_name" value="' . esc_attr($product->get_name()) . '>';
        echo '<input type="hidden" name="product_id" value="' . esc_attr($product_id) . '>';
        echo '<button type="submit" class="button">Notify Me</button>';
        echo '</form>';
        echo '</div>';
    }
}

// Use in templates:
// show_waitlist_form();
Pro tip
This makes it easy to add waitlist forms anywhere in your WooCommerce templates.
7

Whitelist your store domain

In Waitlister → SettingsConfigureWhitelisted domains, add your WordPress/WooCommerce store URL.

Pro tip
Add both www and non-www versions if both are accessible.
8

Test with out-of-stock products

Set a product to out of stock in WooCommerce. Visit the product page, verify the waitlist form appears, submit a test signup, and check Waitlister dashboard.

Need more details?

Check out our complete form action endpoint documentation.

View full documentation
Troubleshooting

Common issues & solutions

Quick fixes for WooCommerce-specific problems

Verify the Waitlister script is in footer.php before </body> tag. For template method, ensure you're editing the correct template file and the product is actually out of stock. Check that template overrides are in the right directory.

Check your conditional logic uses ! $product->is_in_stock() correctly. Verify WooCommerce stock management is enabled for the product. Clear all caches (WordPress, WooCommerce, page cache plugins).

Your theme CSS may be interfering. Add more specific CSS selectors or use !important flags. Inspect with browser DevTools to see which styles are being applied or overridden.

Ensure template files are in correct directory: wp-content/themes/your-theme/woocommerce/ (not in plugin directory). Clear WooCommerce template cache. Check file permissions.

Verify hidden input fields have correct PHP template tags. Check that $product object is available in template scope. View page source to confirm values are populated.

Variable products require separate template (variable.php). Check stock status at variant level, not parent product level. Consider using embed method for variable products - it's simpler.

Whitelist your WooCommerce store domain in Waitlister settings. Check form action URL has correct waitlist key. Test from actual domain, not localhost (unless whitelisted).

Use child theme for all customizations. Never edit parent theme files directly. WooCommerce template overrides in child theme won't be affected by theme updates.

Ensure shortcode function is in functions.php of active theme (or child theme). Check function name doesn't conflict with other plugins. Verify shortcode is registered with add_shortcode().

Deactivate other waitlist plugins - they may conflict. Clear all caches. Test with default WordPress theme (Storefront) to isolate theme issues.

FAQ

Common questions

About WooCommerce integration

Yes, for most stores. No monthly plugin fees (waitlist plugins charge $49-99/year), no database bloat, no plugin conflicts, and no WooCommerce updates breaking functionality. You own your data with CSV export anytime.

Yes! Perfect for subscription products, membership boxes, or recurring products. Collect interest before launching subscription tiers or when subscription slots are full.

Waitlister captures the interest. When you restock, export the waitlist CSV and send notification emails via WooCommerce Email, Klaviyo, or Mailchimp with product links and purchase CTAs.

Yes! Works with all WooCommerce themes - Flatsome, Astra, Divi, Storefront, OceanWP, Avada, and all custom themes. Both integration methods are theme-agnostic.

Yes, but requires more complex template customization to handle variant-level stock. We recommend using the embed method (shortcode) for variable products - much simpler to implement.

Absolutely! Create separate waitlists in Waitlister (each with unique key) for different products or product categories. Or use one waitlist and track products via hidden form fields.

Export waitlist from Waitlister to CSV, then import into WooCommerce Email Marketing, Klaviyo, Mailchimp, or any email tool. Send targeted restock notifications with coupon codes for conversion.

No! Zero database impact means your store stays fast. The Waitlister script is under 2KB and loads asynchronously. Much lighter than typical WooCommerce plugins.

Yes! Use waitlists when booking slots are full. Collect interest for fully-booked services, then notify customers when new slots open up. Great for service-based WooCommerce stores.

Absolutely! Perfect for pre-orders. Gauge interest before manufacturing, validate demand, and collect customer emails. Launch pre-orders with guaranteed sales data.

Waitlister is GDPR compliant. Add a consent checkbox to your form if needed. You can delete customer data anytime. Export and delete functions available in dashboard.

Yes! Each site in your multisite network can have its own waitlist (separate keys), or share one waitlist across multiple stores. Your choice based on business needs.

Explore

More integrations

Explore other platforms

Get started for free

Start collecting sign ups for your product launch in minutes — no coding required.