WooCommerce Pre-Orders - WordPress Plugin
Set up pre-orders in your WooCommerce store, so customers can order products before they’re available. You can automatically or manually release and fill orders when you’re ready and let the extension handle the rest!

Plugin Features
WooCommerce Pre-Orders is a plugin that facilitates enabling pre-orders on products within an e-commerce store. This functionality allows customers to purchase items before they are officially released or in stock, helping store owners generate interest, gauge demand, and secure sales for upcoming products. The plugin seamlessly integrates pre-order options into the WooCommerce platform, enhancing the shopping experience for both merchants and customers.
Enabling this plugin empowers store owners to strategically manage product launches by accepting orders in advance or setting specific availability dates for upcoming items. With this tool, businesses can effectively promote new products, create buzz around launches, and capture sales ahead of time. The flexibility offered by the plugin allows for efficient planning and execution of marketing strategies related to pre-order sales within the WooCommerce environment.
Moreover, customisable settings within WooCommerce Pre-Orders enable store owners to define deposit requirements, payment arrangements, and delivery timelines for pre-ordered products. This level of control ensures a seamless purchasing process for customers while providing merchants with the necessary flexibility to manage pre-sales according to their business needs. Additionally, the plugin supports various product types, making it suitable for a wide range of e-commerce businesses.
The integration of this plugin enhances the overall user experience by allowing customers to easily identify and purchase pre-order items directly from the WooCommerce product pages. This streamlined approach simplifies the buying process, reduces potential confusion, and encourages users to engage with upcoming product offerings. By leveraging these features, store owners can increase sales opportunities and drive revenue through targeted pre-order campaigns.
Furthermore, the plugin provides valuable insights and reporting capabilities that enable merchants to track, analyze, and optimize pre-order performance. By accessing data on pre-sales, conversion rates, and customer preferences, businesses can make informed decisions to enhance their pre-order strategies and maximize revenue potential. This plugin acts as a valuable tool for e-commerce enterprises looking to leverage pre-order functionality effectively within their WooCommerce stores.
Specifications:
| Release date: | 11-10-2020 | |
| Last updated: | 28-09-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | e-Commerce for WooCommerce | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | WooCommerce Plugins | |
| Rating: | ||
Share with your friends!
Guide to Setting Up and Using WooCommerce Pre-Orders
WooCommerce Pre-Orders is not meant for selling a product that is already sitting in stock. It is designed for a controlled launch of a future product: a limited run, a pre-order for a new model, a digital release, a service with a start date, or a subscription product that will become available later. This guide focuses on practical use rather than promotional copy: what to check before installation, which settings to enable after activation, how to choose a payment mode, how to run a test pre-order, what the customer will see, and how the store admin can stay in control of orders.
Special attention is given to two areas that cause the most mistakes. First, a pre-order in WooCommerce changes more than just the button on the product page - it also affects the cart, checkout, emails, order statuses, and release processing. Second, the "pay upon release" mode depends on the payment gateway and can only work automatically if the gateway supports storing the customer's payment method. If the gateway is not suitable, the customer receives an email asking them to pay later.
This guide is intended for store owners, WooCommerce administrators, and developers who need to set up a launch without rewriting the plugin. We will not cover buying the extension, obtaining a license, or bypassing activation. The assumption is that the plugin is already available for installation, and the goal is to test it safely in a real workflow and decide whether it fits a specific store.
What problems pre-orders solve in WooCommerce
A pre-order may look like a simple "order in advance" button, but in an online store it solves several problems at once. First, it lets you capture demand before the product is actually available. Second, it helps you keep sales open when an item is temporarily unavailable but the arrival date is already known. Third, it gives the store a communication tool: the customer sees the availability date, receives emails, and the admin can change the release date, notify buyers, or cancel pre-orders if the product will not be released.
WooCommerce Pre-Orders works at the product level. A Pre-Orders tab appears in the product settings, where you can enable pre-orders, set the availability date and time, add an extra fee, and choose when the customer is charged. The plugin supports simple and variable products, but for a variable product the pre-order applies to the entire product, not to an individual variation. This is an important limitation: if you need to open pre-orders for only one color or size, first check whether built-in WooCommerce features like backorders are enough, or split the variations into separate products.
The pre-order workflow is especially useful in four situations. The first is launching a physical product when inventory is already in production and the store wants to accept early orders. The second is selling a digital product or download that will only become available after release. The third is a service with a start date, such as a course, event, or service package. The fourth is a subscription product, provided it fits within the limitations of WooCommerce Subscriptions and does not rely on features that Pre-Orders does not explicitly support for that product type.
The real value of the plugin is not the pre-order label itself, but the full chain of "product - cart - payment - status - email - release." When that chain is configured correctly, the admin can see active pre-orders and manage the date, while the customer understands when and how they will pay. When the chain is configured superficially, the store runs into familiar problems: the customer adds the wrong item, the order sits in a confusing status, the email never arrives, the automatic charge does not happen, or the fulfillment team assumes the order can already be shipped.
Who the plugin is for, and when a different approach is better
WooCommerce Pre-Orders is a strong fit for stores that need an official WooCommerce ecosystem tool for pre-orders, with support for the pre-ordered status, a dedicated management screen, and payment integration. It is especially well suited to stores where pre-orders are treated as a separate process: one future product per cart, a clear availability date, planned customer communication, and one of the supported payment methods for automatic charging at release.
The plugin also makes sense if you want to release pre-orders manually. Not every store wants to trust automatic charging, especially when the delivery date may shift, stock is limited, and the sales team wants to review the customer list before emails go out. In that case, you can use the pay-upon-release mode with Pay Later, then complete the pre-orders manually through WooCommerce > Pre-Orders. It is not the fastest workflow, but it is easy to understand and keeps the process under control.
There are also cases where the product may not be a good fit. If the customer needs to add regular items and several different pre-orders to the same cart, that conflicts with the logic of WooCommerce Pre-Orders: each pre-order is checked out separately, and adding a pre-order clears a cart that already contains items. If the store sells bundles, mixed kits, or wants to combine regular items with future shipments in one order, you need to evaluate alternatives in advance or build separate business logic around that flow.
You should not choose this plugin if your main goal is deposits, partial payments, or a complex payment schedule. WooCommerce Pre-Orders supports an extra pre-order fee and two charging points: immediately or upon release. But it is not an installment system and not a partial payment tool. For deposits, WooCommerce Deposits or similar solutions are closer in purpose, although their limitations around automatic follow-up payments also need to be checked separately.
Another key factor is the payment gateway. In the "Upon Release" mode, automatic charging is only possible with gateways that support pre-orders and can securely store a payment method for a later charge. If your current gateway is not supported, the plugin can still work through Pay Later, but the customer will need to come back and pay the order using the link in the email. That is acceptable in some niches, but for others it can sharply reduce conversion.
Practical rule: if the pre-order should feel as close as possible to a regular purchase, verify the payment gateway and run a test release before launching the campaign. If the pre-order is more like a reservation followed by manual payment, Pay Later may be enough.
What to check before installing on a live store
Before installation, it is not enough to confirm that WordPress and WooCommerce meet the basic requirements. Pre-orders affect orders, payments, emails, and inventory, so it is better to prepare a short checklist. Start with a staging site or test copy where you can create a product, place an order, release a pre-order, and cancel it without affecting real sales.
Check your WordPress, WooCommerce, and PHP versions against the official product page and documentation. WooCommerce may show requirement details on both the product page and the docs, so for a production decision, record the date you checked in your project notes and follow the stricter current requirement. If the store uses an older theme, outdated payment plugins, or a custom cart, do not enable pre-orders on a live product right away.
The second area to review is payments. Make a list of the gateways available to customers on your site, and separately note which ones support automatic payment upon release. Standard gateways work for the immediate payment mode because the order is paid like a normal product. For pay-upon-release without a supported gateway, the plugin uses Pay Later: the customer places the pre-order, and later receives an email to pay manually.
The third area is the cart and checkout flow. WooCommerce Pre-Orders has one important behavior: a single order can contain only one pre-ordered product, with no other items. If a customer adds a pre-order to a non-empty cart, the cart is cleared and replaced with that pre-order. That is not a configuration mistake, but part of the plugin's payment logic. Because of that, the text on the product page and throughout the store should warn customers that a pre-order must be checked out separately.
The fourth area is email. Pre-orders add their own email types and use the standard WooCommerce email system. Before launch, test delivery using a sample order: the admin new pre-order email, the customer email, the email sent when the date changes, the product availability email, and the payment email for Pay Later. If the store already uses an SMTP plugin, an email templating tool, or an external mailing system, make sure the emails do not land in spam and do not lose important links.
The fifth area is order storage and compatibility. The official product page lists compatibility with Cart and Checkout blocks and High-Performance Order Storage. But a specific site may also use third-party payment plugins, shipping tools, custom statuses, checkout editors, or warehouse integrations. If HPOS is enabled, make sure every extension that works with orders is compatible. If the site still uses legacy storage or compatibility mode, write that down in your technical notes so you do not have to guess at the cause of errors after release.
Finally, define your business rules in advance: can the customer cancel an active pre-order from their account, who handles refunds for upfront payments, what happens if the date moves, what message the customer receives when the product is released, who monitors the pre-ordered status, and when the warehouse starts processing. The plugin provides tools, but it does not replace your internal operating procedure.
Installation and the first check after activation
WooCommerce.com extensions are usually installed either by connecting the site to your WooCommerce.com account or by manually uploading a ZIP file. For this guide, the installation method itself is not the important part. What matters is what you verify immediately after activation. Once the plugin is enabled, open the WordPress admin and confirm that a Pre-Orders section appears under WooCommerce and that a Pre-Orders tab appears on the WooCommerce > Settings page.
If the section is missing, start with the basics: make sure WooCommerce itself is active, there is no critical error in the plugins list, and WooCommerce Pre-Orders has not been disabled. Then open WooCommerce > Status and review the system report. For pre-orders, the most important details are the WooCommerce version, PHP version, active theme, list of payment gateways, HPOS status, and any fatal errors in the logs. Do not jump straight into code changes. In most cases, the issue comes from the platform version, an extension conflict, or an incomplete installation.
Next, create a test simple product. Do not use a real high-traffic product for your first check, because pre-orders can change cart and email behavior. Set a regular price, enable stock management only if you want to test quantity limits, then open the Pre-Orders tab in the Product data panel. Enable pre-orders, set a future availability date, choose the payment mode, and save the product.
On the public product page, check three things. First, the button and message should clearly show that this is a pre-order, not a normal purchase. Second, the availability date should appear where you expect it. Third, adding the item to the cart should lead the customer into a clear checkout flow. If the button still looks like a regular "Add to cart" button, go back to the global text settings and update the labels.
Do not skip testing as both a guest user and a logged-in user. The plugin shows pre-orders in the customer account area, and customers can see active, completed, and cancelled pre-orders. If the store often sells without account registration, check how the customer will receive later emails and pay through Pay Later if they do not normally log back into an account.
Global settings: text, messaging, and a safe test mode
The global settings live under WooCommerce > Settings > Pre-Orders. This is the first screen you should clean up before configuring any specific product, because it controls the button labels, messages, and wording shown in the cart. In a live store, do not leave customers staring at technical English phrasing unless it is part of the actual admin interface. The customer should understand when the product will become available, when they will be charged, and what happens after checkout.
Button labels and messages
The Add to Cart Button Text field controls the button text on the product page. For most stores, "Pre-Order" or "Place Pre-Order" is enough. The Place Order Button Text field controls the checkout button when the order contains a pre-order. It is better not to use something too generic like "Order," because the customer needs to confirm a pre-order specifically. A stronger option is "Confirm Pre-Order."
Product Page Message shows a message under the price on the product page. You can use the {availability_date} and {availability_time} variables if the date and time are set. Strong copy should not promise more than you can deliver. For example: "This item is available for pre-order. Estimated availability date: {availability_date}." If the supply date may change, do not write "guaranteed to ship"; explain instead that the store will notify the customer if the date moves.
Product List Message works on catalog pages. Space is tighter there, so the message should be shorter: "Pre-order until {availability_date}" or "Available for pre-order." If the catalog contains a mix of pre-orders and regular products, this line helps prevent accidental clicks, but it does not replace a full explanation on the product page.
Amount and date wording in the cart
The Charged Upon Release text and Charged Upfront text settings explain when the customer will be charged. This is a critical trust point. If the customer pays immediately, the text should clearly say that the charge happens at checkout. If payment happens upon release, the text should clearly state that the amount will either be charged later or requested later, depending on the payment method. The {availability_date} and {order_total} variables help keep the wording accurate without manually editing every product.
Check how those texts look in the cart, checkout, emails, and order details. Sometimes a phrase that looks good on the product page becomes too long inside an order table. It is better to use a short clear version than to confuse the customer with a long legal-style paragraph.
Pre-orders for out-of-stock products
The Enable pre-orders for out-of-stock products option lets compatible products automatically accept pre-orders when they become unavailable. This is convenient for stores with regular incoming inventory, but risky for rare or discontinued products. When enabled, compatible products may still appear purchasable, and inventory handling is adjusted so the pre-order can go through.
Only enable this option if you have a clear replenishment workflow. For example, the store may know that a new batch arrives every week and want to avoid losing sales when stock briefly hits zero. If inventory is controlled by an external ERP or warehouse system, test the data sync first: an automatic product status change can conflict with stock imports.
Disabling automatic processing
The Disable automatic pre-order processing setting is useful on a staging site and during testing. It prevents pre-orders from being completed automatically when the availability date arrives. On a production site, this setting is usually left disabled, otherwise pre-orders may not move into the expected state without manual action from the admin.
Quick check after the global settings: create one test product, place a pre-order, then review the button, message, cart, customer email, and status under WooCommerce > Pre-Orders. If even one element looks unclear, fix the global text before launching a real product.
Product setup: availability date, fee, and charge timing
The main settings for a specific pre-order are configured inside the product itself. Open the product, go to the Product data panel, and select the Pre-Orders tab. This is where you enable pre-orders for the product, set a future availability date, add an extra fee, and choose when the customer is charged.
Availability date and time
Availability Date/Time sets the moment when the product stops behaving like a pre-order and starts behaving like a normal item. The date must be in the future. Once it arrives, an open product page may refresh and the item becomes available as a regular purchase. This is useful for an automatic launch, but it requires precision: the store time zone, WordPress locale settings, and the expectations of the sales team all need to match.
If the release date tends to move, do not set it unrealistically early just for marketing. The plugin lets you change the date through WooCommerce > Pre-Orders > Actions or the Products tab, but every change is customer communication. The more often the date moves, the higher the risk of cancellations and support requests.
Extra pre-order fee
Pre-order Fee adds a charge on top of the normal product price. Use it carefully. In some niches, an extra fee makes sense, for example when early reservation requires manual handling, custom allocation, or securing a spot in a limited run. In normal retail, an extra fee can feel odd: the customer is already waiting for the item and is also expected to pay extra for the privilege.
If you enable a fee, verify how it appears in the cart, taxes, emails, and total amount. The customer should clearly understand what they are being charged for. Do not hide the fee in the product text if it appears as a separate line in the order.
Pay now or pay upon release
The When to charge setting determines the financial workflow. In Upfront mode, the customer pays at checkout. This is the simpler option: the order is paid like a standard purchase, and the admin fulfills it later once the product becomes available. It works well when the product is very likely to ship, the customer is comfortable paying in advance, and the store can handle refunds if the order is cancelled.
Upon Release mode delays payment until the release moment. If the payment gateway supports automatic pre-order charging, the payment method is stored securely and the charge happens when the pre-order is completed. If the gateway is not supported, the plugin uses Pay Later: the customer receives an email with a payment link. This mode lowers the psychological barrier at checkout, but increases the risk of unpaid orders.
| Situation | Best fit | What to verify |
|---|---|---|
| Limited run with high confidence in supply | Upfront |
Refund policy, emails, inventory, and manual cancellation if supply falls through. |
| Release where the date may shift | Upon Release |
Gateway support, Pay Later wording, and the payment email. |
| Digital product or download | Depends on the strategy | File access after order completion and the email with download links. |
| Subscription product | Only after a separate review | Compatibility with WooCommerce Subscriptions and the absence of synchronized renewals or trial periods for that product. |
Restrictions on active pre-orders
If the product already has active pre-orders and Upon Release is selected, some settings in the Pre-Orders tab can no longer be changed freely. In particular, the fee and charge mode are protected because changing them would alter the financial terms of pre-orders that customers have already placed. The date can still be changed through the dedicated actions in WooCommerce > Pre-Orders, where you also have the option to notify customers.
This behavior should be treated as protection, not as a drawback. Once a campaign has started, the financial rules need to remain stable. If you realize you picked the wrong payment mode, it is better to cancel the test pre-orders, fix the product, and relaunch the campaign than to try changing the terms for an active group of buyers.
Cart behavior, Pay Later, and automatic charging
The most important product-specific characteristic of WooCommerce Pre-Orders is its special cart and payment logic. The plugin strictly limits the cart: one pre-ordered product per order, with no regular items and no second pre-order. You need to account for that in the catalog design, promotional emails, and customer support. Do not build a promotion around "add the pre-order and an accessory to your cart" if the plugin will not let customers check out that combination in one order.
When a customer adds a pre-order to a non-empty cart, the items already in the cart are removed. If the customer tries to add a second pre-order when one pre-order is already in the cart, they need to place a separate order. Because of that, it helps to add a short note on the product page such as "Pre-orders must be placed as a separate order." This reduces support contacts and explains the cart behavior before the customer interprets it as a bug.
How Pay Later works
Pay Later is a special gateway that appears only when the cart contains a pre-order configured for payment upon release. You can configure it under WooCommerce > Settings > Payments > Pay Later: enable or disable it, and set its title and description. It does not charge money at checkout. Instead, it records the pre-order and later helps request payment from the customer by email.
Pay Later works well if the store intentionally accepts reservations without immediate payment. For example, you may sell a rare product, collect a list of interested buyers, and manually request payment once inventory arrives. But if your pre-orders carry a high risk of drop-off, Pay Later can lead to a large number of unpaid orders. In that case, it is better to use a supported gateway with automatic charging or require payment upfront.
Automatic charging at release
Automatic charging works only with gateways that support pre-orders and can store the payment method in a security-compliant way. The official documentation lists several such gateways, including Stripe, Square, Braintree, and others. But seeing a gateway name on the list does not replace testing your specific setup: the gateway version, enabled payment methods, regional restrictions, and tokenization settings can all affect the result.
For testing, create a pre-order with a small amount in the gateway's sandbox mode, place the order, then manually complete the pre-order through WooCommerce > Pre-Orders. The expected result depends on the mode: with a supported gateway, the order should move into normal processing after a successful charge; if payment fails or Pay Later is used, the customer should receive a payment email. If the order immediately becomes completed without actual fulfillment, review the product type settings, digital download behavior, and WooCommerce status rules.
Why you cannot mix a pre-order with regular items
The cart restriction may feel inconvenient, but it protects the store from conflicts. A single order could otherwise contain products with different charge timing, different availability dates, different shipping rules, and different fulfillment states. That is difficult for standard WooCommerce to handle: one order needs a clear total, payment state, status, and fulfillment process. That is why the plugin forces the pre-order to exist on its own.
If the business absolutely needs mixed carts, do not try to "hack around" the logic with snippets. This is a payment workflow, and a bad customization can break orders, emails, refunds, and warehouse integrations. It is better to choose an alternative that explicitly supports split orders or multiple pre-order modes, or to build a separate process around reservations, waiting for stock, and later payment.
Managing pre-orders after launch
Once the first orders come in, the main working screen is WooCommerce > Pre-Orders. Here you can view pre-orders and filter them by status, customer, product, availability date, pre-order status, and parent order status. It is important to understand the difference between a regular order status and a pre-order status. A normal order gets an additional pre-ordered stage, while the pre-order record itself can be Active, Completed, or Cancelled.
Active means the product is not yet available for fulfillment. The parent order should remain in the pre-ordered status. Completed means the pre-order has been released and the order continues as a normal one: it may be Pending, Processing, Failed, or Completed depending on payment and product type. Cancelled means the pre-order was cancelled, and the parent order also moves into a cancelled state.
Bulk actions
The management screen supports bulk actions. The admin can send a message to selected customers, complete pre-orders, or cancel them. When pre-orders are completed in bulk, the plugin either tries to charge payment through a supported gateway or sends a payment email. When a pre-order is cancelled, the order is cancelled as well, but if it had been paid in advance, the refund does not happen automatically. You need to issue the refund separately using the normal WooCommerce refund workflow.
Before running a bulk action, do a quick cross-check: is the correct product selected, has the release date changed, is inventory ready, are emails enabled, is the message clear, and does the support team know the launch is happening? Be especially careful when completing pre-orders set to payment upon release, because that action may trigger real charges.
Changing the release date
If the date changes, use the Change Release Date action in WooCommerce > Pre-Orders > Actions or the available actions in the product tab. The plugin allows you to update the date and notify customers if needed. Do not change the date silently if customers placed their pre-orders based on the original promise. A short email is better: the new date, a neutral explanation, what happens to the order, and how to contact support.
There is one important detail: if you change the date to a past moment or to "now," the product stops being a pre-order, but that does not automatically run the full pre-order completion flow through that action. To release the orders, use the actual pre-order completion action, not the date as a workaround.
Customer emails
Email is part of the product experience, not a secondary setting. Customers need to know that the pre-order was accepted, when the date changes, when the product becomes available, whether payment is required, and where to view the order. The plugin adds pre-order-specific emails and lets you configure them under WooCommerce > Settings > Emails. Do not rewrite templates blindly: first test the default emails, then change the subject, heading, and introductory text.
If the store uses a custom email template, make sure it does not remove payment links or order details. For Pay Later, this is critical: without a working link, the customer cannot complete the payment. For a digital product, make sure download links appear only after the order is completed, not immediately after the pre-order is placed if the release has not happened yet.
Practical scenario: launching a pre-order for a limited run
Let us walk through a real scenario. The store is selling a limited run of an accessory that will become available later. The goal is to collect pre-orders, charge customers upfront, show the arrival date, limit quantity, and verify that the customer cannot accidentally combine the pre-order with a regular item in the same cart.
Goal
Set up a working product page with a pre-order button, a clear date message, correct upfront payment, and an active record under WooCommerce > Pre-Orders. After the test, the admin should see the pre-order, the customer should receive a confirmation email, and the available stock should decrease with each order if stock management is enabled.
Preparation
- Confirm that WooCommerce Pre-Orders is active and that the global button and message text has been configured.
- Create a test simple product with a price and image so the page looks like a real product.
- If the run is limited, enable stock management in the standard product tab and set the quantity.
- Prepare a test payment method that can be used safely in sandbox mode.
- Open a separate browser or private window to test the customer flow.
Product setup
- In the product editor, open
Product data > Pre-Orders. - Enable
Enable Pre-Orders. - Set a future
Availability Date/Timethat matches the store time zone. - Leave
Pre-order Feeempty unless you have a specific reason to charge a reservation fee. - Select
Upfrontif you want to collect the full amount at checkout. - Save the product and clear the page cache if the site uses caching.
Checking the public storefront
Open the product page as a customer. The button should clearly indicate a pre-order, the message under the price should show the date, and the product should be addable to the cart. If the cart was not empty, verify that it is cleared and that the customer sees only the pre-order. That behavior is expected, but it should be explained in the product page text. Otherwise, the customer may assume the site deleted their items by mistake.
Place the order using a test card or the chosen test payment method. After payment, open the order in the admin panel. It should be connected to the pre-order, and the pre-order record should appear under WooCommerce > Pre-Orders. Check both the customer email and the admin email. If the email does not arrive, start by checking the WooCommerce email system and SMTP, not the product settings.
Releasing the pre-order
For testing, do not wait for the real date. In the admin area, use the action that completes the pre-order for the test product or selected record. Once completed, the pre-order should no longer be active, and the parent order should move into a normal processing state. For a physical product, that may be Processing; for a digital one, the behavior depends on standard WooCommerce settings and download availability.
The result is successful if the admin sees a clear status transition, the customer receives the correct email, payment matches the selected mode, and the product no longer looks like an active pre-order after release. If any part of that chain fails, do not launch the campaign on a live product. Fix the specific weak point and repeat the test.
Verifying the result before a public launch
After configuring the product and placing a test order, run a final check across the chain entry point - plugin logic - result - diagnostics. This helps catch mistakes before an email blast or product page launch. For pre-orders, this kind of verification matters even more than for a standard product because the failure may only show up at release time.
What the customer should see
On the product page, the customer should clearly see that the item is available for pre-order. The button should not masquerade as a regular purchase, the date should be easy to understand, and the message should explain payment. In the catalog, it is worth showing a short pre-order label so customers do not open the product assuming immediate delivery.
In the cart and at checkout, review the amount wording. If payment is taken immediately, the customer should understand that the charge happens at checkout. If payment happens upon release, the customer should understand that the amount will either be charged later through a supported method or paid manually via a link. Avoid vague phrases like "pay later" without explaining what that means in practice.
What the admin should see
In the admin area, there should be a pre-order record linked to the parent order. The admin should be able to see the pre-order status, the availability date, and the product. In the product tab, information about pre-order quantity and available actions should be visible. If the team works with orders mainly in the standard WooCommerce order list, make sure they understand the pre-ordered status so those orders are not fulfilled too early.
How to verify emails
Check the emails in a real inbox, not only in WordPress logs. Make sure the subject line is clear and that the message includes the product name, release date, status, and a link to the order or payment if needed. If Pay Later is used, the payment email is a critical element. Without it, the pre-order remains a reservation with no money attached.
How to verify cancellation and date changes
Create one more test pre-order and change the release date through WooCommerce > Pre-Orders > Actions. Check whether the customer receives an email, whether unrelated orders remain untouched, and whether the new date displays correctly on the product page. Then cancel the test pre-order. If it was paid in advance, separately verify that the refund is handled manually through the standard WooCommerce refund workflow.
Do not launch a public pre-order until you have completed at least one full cycle: product creation, order placement, email delivery, date management, release, cancellation, and payment verification.
Subscriptions, digital products, and special scenarios
WooCommerce Pre-Orders supports more than just simple physical products. But in these special scenarios, the limitations matter. Do not carry over settings from one product type to another without retesting, because payment timing, file access, order status, and subscription behavior are different.
Digital and downloadable products
For a digital product, pre-orders can work well: the customer reserves a future release, and after the order is completed, receives an email with access to the download. The official documentation lists support for downloadable products: once the order is completed, the customer gets an email with download links. In practice, that means you need to verify not only the pre-order button, but also exactly when those links become available.
If the file is already attached to the product, make sure the customer does not get access before the pre-order is completed. If the file is added closer to release, prepare an internal checklist: who attaches the file, who verifies the link, who completes the pre-order, and who checks the email. For a digital release, an access mistake is usually noticed immediately and triggers more support requests than a physical shipment delay.
Subscription products
WooCommerce Pre-Orders supports WooCommerce Subscriptions under certain conditions. A subscription can be offered as a pre-order, and the ongoing subscription cycle begins when the pre-order is completed or follows the subscription rules after the first payment. But there is an important limitation: pre-orders are not compatible with synchronized renewals or trial periods for that subscription product. If you enable pre-orders, those features cannot be used on that product, and vice versa.
For subscriptions, always run a test using the actual product type because future renewals, the first payment, the start date, and subscription emails all come into play. Do not rely on a simple product test. If the store sells a subscription with a trial period or synchronized renewals, WooCommerce Pre-Orders may simply be the wrong tool for that specific product.
Backorders as an alternative for individual variations
If you need to allow purchases of a product that is temporarily out of stock, WooCommerce's built-in backorders can sometimes be simpler. They are especially appropriate when there is no specific release date, no complex customer communication, and no need for a separate pre-order status. The Pre-Orders documentation explicitly points out that for individual variation scenarios, backorders may be worth considering because pre-orders on a variable product apply to all variations.
The difference is simple: backorders are inventory logic that says "you can order even at zero stock," while Pre-Orders are release logic with a date, emails, separate management, and payment timing. If you are launching a new product, use Pre-Orders. If you are temporarily waiting for a normal SKU to be restocked, backorders may be simpler and more transparent for the customer.
How to improve the pre-order page without risky changes
With WooCommerce Pre-Orders, you do not need to start with PHP snippets. Most improvements are safer when done through the plugin's text settings, the product description, content blocks on the page, email settings, and payment testing. Code only makes sense when you fully understand which element you are changing and can roll it back without affecting payments.
Explanation on the product page
The most useful improvement is a short block near the button or in the product description. Use it to explain three things: the pre-order must be placed as a separate order, the availability date is either estimated or fixed, and payment is taken now or at release. You can add that block through normal product content, the block editor, or a theme template without touching the plugin's logic.
Example of safe wording for a product with upfront payment: "This is a pre-order. Payment is collected at checkout, and shipping will begin once the product arrives. If the date changes, we will send a notification to the email address used for the order." For payment upon release: "This is a pre-order. You are reserving the product now, and payment will either be completed after the availability notice or charged automatically through a supported payment method."
Countdown to release
The plugin supports the [woocommerce_pre_order_countdown] shortcode. You can place it on the product page or any other page that supports shortcodes. In its basic form, it uses the current product and shows the time remaining until the availability date. If you need the countdown on a landing page or a separate page, you can use the product_id or product_sku arguments, and also control the output with layout, format, before, and after.
[woocommerce_pre_order_countdown product_id="123" before="Time remaining until sales begin: " format="dhms"]
Before publishing, test the countdown on a product with a future date and on the same product after release. The documentation notes that once the availability date is reached, an open product page may refresh and the item will be shown as a normal product. If the site uses aggressive page caching, exclude the product page from cache or verify that the countdown and status do not get stuck in an outdated state.
Do not customize payments and cart behavior with snippets
The most dangerous customization area is trying to allow multiple pre-orders in one cart, mix regular and future products, change the charging point, or hide Pay Later without understanding the payment logic. This is not cosmetic. It is a financial workflow. If the business requires that scenario, choose an extension that explicitly supports the needed model or commission a full custom implementation with tests for payments, orders, emails, refunds, and integrations.
Launch procedure: who is responsible for what on release day
Pre-orders do not fail only because of technical errors. Just as often, the problem comes from marketing, the warehouse, support, and the WooCommerce admin all having different ideas about what "release" means. Marketing promises a date, the warehouse has not confirmed stock, support has not seen the email wording, and the admin completes pre-orders without checking payments. That is why a short operating procedure is useful for WooCommerce Pre-Orders: what happens before the campaign starts, during the waiting period, on release day, and after completion.
Before the campaign starts, assign a process owner. That does not have to be the developer. The process owner is responsible for making sure the product is configured, the copy is clear, the test order has been completed, emails have been checked, the date is confirmed, and the team understands the cart limitation. If you are launching multiple products, keep a separate table with the product, payment mode, date, owner, test status, release method, and special risks. That table only feels bureaucratic until the first campaign where the date changes.
Before publishing the product
Check the product as both an editor and a customer. In the admin area, the standard WooCommerce fields, the Pre-Orders tab, the availability date, the charge mode, and the inventory should all be filled out correctly. On the storefront, the text should be clear. If the product is physical, add information about when shipping starts. If the product is digital, explain when file access becomes available. If the product is a subscription, do not hide the fact that future charges will follow the subscription rules after the pre-order is completed.
Also review every page that may bring the customer to the product: the catalog card, site search results, recommendation blocks, the campaign landing page, and email promotions. If the pre-order appears anywhere as a regular "in stock" item, the customer will expect immediate delivery. The plugin cannot fix the wording in an ad banner or external email campaign, so that communication needs to be aligned manually.
During the campaign
During the waiting period, review WooCommerce > Pre-Orders regularly. Do not look only at the number of active pre-orders. Watch the payment scenario as well. If Upfront is being used, track paid and cancelled orders. If Upon Release is being used, estimate in advance how many customers will depend on automatic charging and how many are likely to receive Pay Later. The larger the share of manual payments, the more important it is to prepare the email and support process.
If the release date changes, do not wait until the last minute. Update the date through the pre-order actions and send a message to customers. A good message does not need to be long: the new date, what happens to the order, whether the customer needs to do anything, and how to contact support. Do not promise compensation, discounts, or deadlines unless the business has approved them. In the campaign notes, record when the date was changed and who received the notification.
On release day
Before completing pre-orders in bulk, check four things. First, the product is truly ready for sale or shipment. Second, emails are enabled and sending correctly. Third, the payment gateway has already shown the expected behavior in testing. Fourth, the support team knows that some customers may receive a payment email while others may receive a successful charge notification. Only then should you complete pre-orders through WooCommerce > Pre-Orders.
After completion, spot-check several orders: one with successful payment, one using Pay Later, and one cancelled or problematic order if there are any. Review the parent order, the pre-order record, the email log, order notes, and product status. If the warehouse integration pulls orders automatically, make sure it does not try to fulfill active pre-orders before release and that it correctly recognizes orders after completion.
After release
Once the pre-orders are completed, update the product page. If the item is now sold like a regular product, the pre-order text should disappear or no longer be relevant. If the batch is sold out, switch back to standard WooCommerce behavior for an unavailable product. If some customers did not pay through Pay Later, prepare a gentle reminder or an internal rule for how many days those pre-orders remain active before cancellation. Do not keep unpaid pre-orders forever if they block inventory.
At the end of the campaign, it helps to record the outcome: how many pre-orders were placed, how many were paid upfront, how many paid after the email, how many were cancelled, what questions customers asked, and which text needs improvement. That turns WooCommerce Pre-Orders from a one-time button into a repeatable product launch process. The next campaign will be easier because the team will already have a tested workflow.
Performance, security, and store compatibility
Pre-orders should not reduce the baseline stability of the store. The plugin runs inside WooCommerce, so the main risks are not front-end code on the page, but orders, payments, emails, and data storage. Under higher load, it is especially important not to launch a campaign without checking HPOS, product page caching, and WooCommerce queue behavior.
If the site uses page caching, check how the product page updates once the availability date is reached. The documentation notes that the page may refresh and the product will then be shown as a normal item. But an external cache, CDN, or theme cache may continue to show the old status. For important releases, clear the product cache, cart cache, and related blocks ahead of time, and never cache the checkout page as a static page.
From a security standpoint, do not promise customers that a pre-order is "completely safe" just because the marketplace shows passed automated checks. QIT and WooCommerce Marketplace checks are useful as indicators of code quality and the absence of known issues at the time of testing, but the actual security of the store still depends on updates, payment gateways, admin permissions, SMTP, backups, and the absence of questionable customizations.
For HPOS compatibility, make sure every extension that reads or modifies orders works with the current order storage model. The official product page says Pre-Orders is compatible with HPOS, but a third-party export tool, CRM, warehouse module, or custom report may be the weak link. If the order list or statuses start looking strange after HPOS is enabled, temporarily turn on compatibility mode and investigate the conflict on a test site.
Do not share payment data, gateway secrets, or private keys in support requests, publicly visible tickets, or especially in materials used for content generation. For diagnostics, a WooCommerce system report without secrets, screenshots of settings with keys hidden, error logs, and a description of the steps are usually enough. If a developer needs access, create a separate temporary account with minimal permissions and disable it after the issue is resolved.
Common problems and troubleshooting
Pre-order issues usually do not show up in just one place. The customer sees a strange cart, the admin sees an unexpected status, an email does not arrive, or payment is not charged at release. That is why you need to troubleshoot the entire chain, not just the product page.
The pre-order button does not change or the message is missing
Symptom: the product is configured as a pre-order, but the page still shows the normal button or no date message. Possible causes include unsaved global text settings, a theme overriding the button template, page caching, a missing availability date, or the product not being published as expected.
Check the product in the admin area, then review the global settings under WooCommerce > Settings > Pre-Orders. After saving, clear the page cache and open the product in a private window. If the theme heavily customizes WooCommerce templates, temporarily test with a default theme or disable the custom product template on a staging site. Do not start by editing the theme's PHP files.
The customer complains that the cart gets cleared
Symptom: the customer added a regular product, then added a pre-order, and the regular product disappeared. This is expected plugin behavior: a pre-order must be checked out as a separate order. The fix here is not technical, but communicational. Add a short explanation to the pre-order page and the catalog card so the customer understands the rule before adding the item to the cart.
If the business cannot accept separate orders, do not try to disable the restriction with a quick fix. Review alternatives that can split orders or support mixed scenarios, and evaluate the impact on payment and shipping.
Payment was not charged automatically at release
Symptom: the pre-order was completed, but the money was not charged, the customer received a payment email, or the order moved into a pending state. Check whether the current gateway supports automatic pre-orders, whether payment method storage is enabled, whether there is a gateway error in the logs, and whether the customer's payment method has expired.
If the gateway is not supported, this is not a WooCommerce Pre-Orders bug. Use Pay Later or switch to upfront payment. If the gateway is supported, repeat the test in sandbox mode: place the pre-order, store the payment method, complete the pre-order manually, and confirm whether the payment succeeds or fails. If the charge fails, the customer should still receive a way to pay the order manually.
Customers did not receive an email after the date changed
Symptom: the date changed in the admin area, but customers were not notified. Check whether you used the date change action in WooCommerce > Pre-Orders > Actions with notification enabled, rather than simply editing the date in the product settings. Then review the WooCommerce email settings, SMTP log, and send status.
If emails are not sending at all, the issue is broader than pre-orders. Test a standard order email. If standard emails work but pre-order emails do not, open WooCommerce > Settings > Emails and make sure the required pre-order emails are enabled and not overridden by a broken template.
The product became normal, but the pre-orders did not complete as expected
Symptom: the date arrived or was changed, the product no longer looks like a pre-order, but the orders did not move into the correct state. Check whether Disable automatic pre-order processing is enabled. It is useful on a staging site, but on a live site it can interfere with automatic processing.
Also, do not confuse changing the date to the current or past time with the action that completes pre-orders. To manage a group of orders, use the dedicated actions in WooCommerce > Pre-Orders. If you need to roll back, stop the automatic actions first, then review the statuses of test orders instead of bulk-editing statuses in the standard order list.
A subscription pre-order cannot be enabled or conflicts with subscription settings
Symptom: a subscription product will not allow certain features to be enabled, or some subscription settings disappear. Check whether synchronized renewals or trial periods are being used. The documentation says those features are not compatible with pre-orders for that specific subscription product.
If the subscription requires a trial period or synchronized renewal, do not break the business model just to force in a pre-order. Consider a separate reservation product, a regular product with a launch notice, or a different sales workflow.
FAQ for WooCommerce Pre-Orders
Can a customer buy a pre-order together with a regular product?
No. A pre-ordered product must be checked out as a separate order. If the cart already contains regular items, adding a pre-order clears the cart. This is done to prevent conflicts around payment, availability dates, and order processing.
Can multiple different pre-orders be added to one order?
No, each pre-ordered product must be purchased separately. If the customer wants to buy several future products, they need to place several orders. If that scenario is critical, review alternative plugins that explicitly support split-order workflows.
Does the plugin support automatic charging at release?
Yes, but only with supported payment gateways. If the gateway does not support pre-orders with stored payment methods, use Pay Later: the customer will receive an email and pay manually after release.
What happens if an upfront-paid pre-order is cancelled?
The plugin cancels both the pre-order and the parent order, but the refund for an upfront payment must be issued manually through the standard WooCommerce refund workflow. Do not assume that cancelling a pre-order automatically returns the money.
Can the plugin be used for digital products?
Yes, the documentation lists support for downloadable products. After the order is completed, the customer receives an email with download links. Before launch, verify that the links do not become available before the release.
Does WooCommerce Pre-Orders work with WooCommerce Subscriptions?
Yes, if the compatibility requirements are met. But pre-orders are not compatible with synchronized renewals or trial periods for a specific subscription product. If those features are required, pre-orders may not be a good fit for that item.
Why can the payment mode not be changed once there are active pre-orders?
The plugin restricts changes to important financial settings so the terms do not change for customers who have already placed a pre-order. The date can still be changed through dedicated actions, but the payment mode and fee are best defined before the campaign begins.
Do you need an exact YouTube tutorial for setup?
For this product, it is better to rely on the official documentation and your own test order. Exact videos for the current interface appear inconsistently, and a mistake in the payment workflow is more expensive than not having a video walkthrough.
When WooCommerce Pre-Orders is the right choice
WooCommerce Pre-Orders is worth using if the store is launching a future product or service and wants to manage the process inside WooCommerce: show an availability date, collect separate pre-orders, choose between upfront payment and payment upon release, send pre-order emails, change the date, and complete or cancel pre-orders in bulk. The product is especially useful when a pre-order is treated as a separate order rather than part of a mixed cart.
Before launching it on a real product, always run a full test cycle. Configure the global text, create the product, place a pre-order, check the cart, email, payment, pre-ordered status, date change, completion, and cancellation. If you plan to use pay-upon-release, test the supported gateway or Pay Later separately. If the product is a subscription, verify the WooCommerce Subscriptions limitations.
If the full chain works transparently after testing, you can move on to a live launch and go to the WooCommerce Pre-Orders download for installation on the prepared site. Do not launch a pre-order just for the sake of a nice-looking button. The plugin shows its value when the store has a clear release process, honest customer-facing copy, and a tested payment workflow.
If the business needs mixed carts, deposits, multiple pre-orders in one order, or partial payments, do not try to force that through WooCommerce Pre-Orders settings. In that case, it is more honest to choose a different extension or build a separate workflow. A good pre-order experience is not about the number of settings. It is about making sure neither the customer nor the store team runs into surprises on release day.


