How to Sell Out-of-Stock Products with Magento 2 Pre-Order

Learn how to keep selling out-of-stock products in Magento 2 with pre-orders. Set expected dates, custom buttons, auto-processing, and per-product control.

How to Sell Out-of-Stock Products with Magento 2 Pre-Order

Your Magento 2 Store Is Losing Sales Every Time a Product Goes Out of Stock

A customer lands on your product page. They like what they see. They are ready to buy. And then they see it: "Out of Stock." The button is grayed out, the message is final, and your customer has two options — leave their email for a back-in-stock notification (which most will not do), or go find a competitor who has the item available right now. Most will choose the second option.

This scenario plays out thousands of times per day across Magento 2 stores. Products go out of stock for reasons you cannot always control: supply chain delays, seasonal demand spikes, manufacturing lead times, or simply underestimating how popular a new release will be. Magento 2's default behavior removes the "Add to Cart" button and replaces it with a dead-end message. The customer cannot give you money even if they want to.

The revenue impact compounds fast. If your store averages 50 out-of-stock product page visits per day at a $75 average order value, and even 10% of those visitors would have placed an order if given the chance, you are leaving $375 per day — roughly $11,250 per month — on the table. And that assumes those visitors do not also abandon your store entirely for a competitor, which many do.

Pre-orders solve this problem structurally. Instead of blocking the purchase when stock runs out, you replace the "Add to Cart" button with a "Pre-Order Now" button. Customers place their order, pay (or commit to paying), and receive their product when it arrives. You capture the sale at the moment of highest intent instead of hoping they come back later. And you get something equally valuable: advance demand data that helps you plan inventory more accurately.

What Is Magento 2 Pre-Order (and Why Your Store Needs It)

A pre-order system lets customers purchase products before they are physically in stock. Instead of showing an "Out of Stock" message and turning the customer away, your store displays a pre-order button, an expected availability date, and a clear message that the item will ship when it arrives. The customer completes the checkout flow exactly as they would for an in-stock product.

Magento 2 does not offer this functionality natively. The platform's stock management system treats out-of-stock as a hard stop. You can enable backorders through Magento 2's built-in inventory settings, but backorders are a blunt instrument — there is no pre-order button customization, no availability date display, no per-product control, no customer notifications when stock arrives, and no automatic order processing. Backorders also lack any visual indication in the cart or checkout that an item is a pre-order, which leads to customer confusion and support tickets.

A dedicated pre-order extension gives you granular control over every aspect of the experience. You decide which products accept pre-orders, what the button says, when the availability date appears, how many units a customer can pre-order, and what happens when stock arrives. You can also pair the pre-order system with your out-of-stock notification extension to capture both types of customers — those who want to commit now (pre-order) and those who just want to know when the item is back (notification).

The psychology behind pre-orders is well-documented in ecommerce research. When customers see a product they want with a clear availability date and a simple purchase path, they are far more likely to complete the transaction than if they are asked to "check back later" or "sign up for a notification." The pre-order button removes ambiguity. It says: "You can buy this now. Here is when you will get it." That certainty drives conversion.

Pre-orders are not the right fit for every product scenario. If you sell commodity items that customers need immediately — office supplies, replacement parts, emergency equipment — a pre-order message may frustrate buyers who cannot wait. In those cases, you are better served by redirecting customers to alternative in-stock products. But for seasonal items, new product launches, limited editions, and any product where demand outstrips supply, pre-orders recover significant revenue that would otherwise be lost.

Key Features of MageRa Pre-Order for Magento 2

MageRa Pre-Order replaces Magento 2's out-of-stock dead end with a complete pre-order workflow. Every feature is designed to capture sales at the moment of highest customer intent while keeping your operations running smoothly.

Sell Out-of-Stock Products. When a product goes out of stock, MageRa Pre-Order replaces the disabled "Add to Cart" button with a customizable pre-order button. Customers complete the full checkout process, and the order is recorded as a pre-order in your system. This works for simple products, configurable products, and bundle products. You never lose a sale because of a stockout again.

Expected Availability Dates. Set an expected availability date for each product, and MageRa Pre-Order displays it prominently on the product page. Customers see exactly when their item will ship — for example, "Expected availability: July 15, 2026." This transparency eliminates uncertainty and reduces pre-order cancellation rates. When the date changes, you update it once in the admin panel and the storefront reflects the change instantly.

Custom Pre-Order Button Text. You control what the pre-order button says. The default is "Pre-Order Now," but you can change it to "Reserve Now," "Back-Order," "Coming Soon — Order Now," or any text that fits your brand voice. This matters because button copy directly impacts click-through rates. A/B testing different button texts on pre-order products often reveals conversion differences of 10-20% between variations.

Automatic Processing on Stock Arrival. When inventory arrives and pre-ordered items are allocated, MageRa Pre-Order automatically changes the order status from "Pre-Order" to "Processing." The customer receives a notification email, and the order enters your standard fulfillment workflow. You do not need to manually find, update, and process each pre-order — the extension handles it for you, saving hours of admin work during high-volume product launches.

Per-Product Control. Enable pre-orders globally for all out-of-stock products, or control the setting on a product-by-product basis. The extension adds a preorder_enabled attribute to each product. Set it to "Yes" to enable pre-order for that specific product regardless of your global settings, or leave it as "No" to exclude products you do not want to offer as pre-orders. This granularity matters — you probably want to offer pre-orders on a new seasonal jacket, but not on a basic t-shirt that customers expect to ship immediately.

Admin Configuration

Screenshot of the MageRa Pre-Order admin configuration panel in Magento 2, showing the enable toggle, button text, availability message, notify-when-available, auto-process, allow-when-out-of-stock, and show-availability-date settings.

Configurable Availability Message. You control the message customers see on a pre-order product page, in addition to the button text. Pair the message with the "Show Availability Date" setting to communicate a firm expected ship date, or run a pre-order without a specific date when timelines are still being confirmed.

Allow When Out of Stock. The "Allow When Out of Stock" setting determines whether the pre-order option appears for out-of-stock products store-wide. Combined with the per-product preorder_enabled attribute, this gives you both a global default and granular per-product overrides.

Storefront Pre-Order Button

Screenshot showing a Magento 2 storefront product page with the "Pre-Order Now" button on an out-of-stock product, including the expected availability date and stock status indicator.

Customer Notifications. When a pre-ordered item comes into stock and the order is processed, your customer receives an automatic email notification. No manual outreach required. You can combine this with the MageRa Out of Stock Notification extension to capture customers who prefer to wait for a notification rather than committing to a pre-order, covering both paths in your demand pipeline.

How to Set Up MageRa Pre-Order in Magento 2

Step 1: Evaluate Your Pre-Order Strategy

Before installing, identify which products benefit from pre-orders and which do not. Look at your sales data — products with consistent demand that regularly go out of stock are your best candidates. New product launches, seasonal items, and limited editions are natural fits. Products with unpredictable restock dates are risky for pre-orders because missed availability dates erode customer trust. If you need help analyzing which products lose the most revenue to stockouts, the MageRa Advanced Analytics extension gives you product-level conversion and stockout data to inform your decision.

Step 2: Install the Extension

MageRa Pre-Order installs via Composer or manual upload.

Via Composer (recommended):

composer require magera/module-preorder
php bin/magento module:enable MageRa_PreOrder
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush

Manual installation: Download the extension files, upload them to app/code/MageRa/PreOrder/, then run the setup commands starting from module:enable.

Requirements: Magento 2.4.6 through 2.4.9, PHP 8.1 through 8.3, and the MageRa_Base shared library (installed automatically via Composer).

Step 3: Configure General Settings

Navigate to Stores > Configuration > Catalog > Catalog, expand the Inventory section, and open the nested Pre-Order group (the config path is catalog/inventory/preorder/...). Set Enable Pre-Order to Yes. Set the Pre-Order Button Text (a required field) — start with "Pre-Order Now" and test variations over time. In the Availability Message textarea, use the {date} placeholder; the storefront block replaces it with the product's expected date formatted as "F j, Y" (for example, "March 14, 2026"). Toggle Allow When Out of Stock to Yes to surface the pre-order option on out-of-stock products by default.

Step 4: Configure Advanced Settings

In the same group, set Notify Customer When Available to Yes to email customers when pre-ordered items arrive. Set Auto-Process Pre-Orders to Yes to have orders advance automatically once stock is allocated — this is handled by the bundled cron job magera_preorder_process (class MageRa\PreOrder\Cron\ProcessPreOrders), scheduled at /15 *, so it sweeps pending pre-orders every 15 minutes as long as Magento cron is running. Use Show Availability Date to control whether the expected date renders on the storefront, and tune Availability Message and Pre-Order Button Text to your brand voice.

Step 5: Configure Individual Products

For products where you want to override global settings, go to Catalog > Products and edit the product. The extension adds two product attributes: set preorder_enabled to "Yes" or "No" to control the pre-order option for that item, and set the expected date in preorder_availability_date (the value that fills the {date} placeholder and the "Show Availability Date" display). Save the product and flush cache. On the storefront product page, the pre-order block replaces the standard "Add to Cart" with your configured button text and shows the availability message. When notifications are enabled and an item is still unavailable, shoppers submit their email through the preorder/frontend/notify endpoint (route frontName preorder), which posts product_id and email and returns a JSON success/failure response. Finish by placing a test pre-order through checkout to confirm the order completes and the confirmation email sends.

MageRa Pre-Order for Magento 2

MageRa Pre-Order is purpose-built for Magento 2.4.6 through 2.4.9, supporting PHP 8.1 through 8.3 on both Open Source and Commerce editions.

The extension differentiates itself on three fronts: automation, granularity, and transparency. Automatic order processing when stock arrives eliminates manual admin work — you do not need to search for pending pre-orders and update them one by one. Per-product control via the preorder_enabled attribute means you are never forced into an all-or-nothing approach; enable pre-orders on the products that benefit and disable them on the ones that do not. The configurable button text and availability message keep customers informed about exactly what they are buying and when it will ship.

Compatibility extends to all Magento 2 product types (simple, configurable, bundle, grouped), multi-store setups with independent pre-order configurations per store view, and mobile-responsive layouts that work across all devices. The extension integrates cleanly with MageRa One Step Checkout — pre-order products flow through the single-page checkout just like any other product, with the pre-order badge visible in the order summary.

Visit magera.ca/magento-2-pre-order.html for full details, documentation, and live demos.

4 Pre-Order Mistakes That Kill Customer Trust

Setting up pre-orders is straightforward. Setting them up in a way that builds trust rather than destroying it requires attention to detail. These four mistakes are the most common reasons pre-order programs backfire.

1. Publishing availability dates you cannot meet. The single fastest way to lose a customer forever is to promise a date and miss it. If your supplier says "mid-July," set your availability date to late July or early August. Under-promise and over-deliver. Customers who receive their pre-order a week early are delighted. Customers who receive it a week late are furious — and they tell other people. Build buffer time into every availability date you publish.

2. Offering pre-orders on products with no estimated restock date. A pre-order button with no availability date is not a pre-order — it is a vague promise. Customers need to know when they will receive the product. If you genuinely do not know when stock is arriving, use your out-of-stock notification system instead. Let customers sign up to be notified when the item is back. Do not take their money without giving them a timeline.

3. Ignoring pre-order customers after the sale. A pre-order customer has given you money and trust. If weeks pass with no communication, that trust erodes. Send an order confirmation email immediately, a status update when the expected date changes, and a shipping notification when the order is processed. MageRa Pre-Order handles the notification on stock arrival automatically, but you should also communicate proactively if timelines shift.

4. Not testing the mixed-cart experience. When a customer adds both a pre-order item and an in-stock item to their cart, set clear expectations about shipping timelines so customers are not surprised when part of their order ships later. Use the availability message and expected date on the product page to communicate this before the item is added to the cart, and confirm your order confirmation email and customer communications make the pre-order timeline obvious. Ambiguity about when items will arrive generates support tickets and chargebacks.

Wrapping Up

Every time a product goes out of stock on your Magento 2 store, you have a choice: turn the customer away, or give them a way to buy now and receive later. Pre-orders turn stockouts from revenue losses into confirmed sales. You capture demand at the moment of highest intent, get advance visibility into product demand, and build a more predictable revenue stream.

MageRa Pre-Order for Magento 2 gives you the tools to make this work: out-of-stock ordering with custom button text, configurable availability messages, expected availability dates, automatic order processing when stock arrives, and per-product control via the preorder_enabled attribute. The extension installs in minutes, integrates with your existing checkout flow, and handles the entire pre-order lifecycle from purchase to fulfillment automatically.

Stop losing sales to stockouts. Try MageRa Pre-Order for Magento 2 and turn your out-of-stock products into revenue.

FAQ

Q1: Can I enable pre-orders on only specific products instead of my entire catalog? Yes. MageRa Pre-Order supports both global and per-product control. In the global configuration, you can set the default behavior for all out-of-stock products. Then, on individual product pages, use the preorder_enabled attribute to override the global setting. Set it to "Yes" to force pre-order on a product regardless of global settings, or "No" to disable pre-order on a product even when the global setting is enabled. This gives you complete flexibility — offer pre-orders on high-demand items while keeping them off commodity products where customers expect immediate shipment.

Q2: What happens when the pre-ordered product comes back into stock? When inventory arrives and is allocated to pre-order items, MageRa Pre-Order automatically processes the pending orders. The order status changes from "Pre-Order" to "Processing," and the customer receives an email notification confirming that their order is being prepared for shipment. This happens automatically — you do not need to manually locate and update each pre-order. If you have the auto-invoice feature enabled, invoices are generated as well, moving the order directly into your standard fulfillment workflow.

Q3: How does the pre-order system handle carts that contain pre-order items? A customer can add a pre-order product to the cart and complete checkout exactly as they would for an in-stock item, so you never lose the sale to a stockout. The pre-order availability message and expected date are shown on the product page before the item is added, so the customer knows up front when it will ship. When stock arrives and "Auto-Process Pre-Orders" is enabled, the order moves to "Processing" automatically and the customer is notified — no manual intervention required.

Internal Links

End of post

Comments (0)

Be the first to comment.

Ready to ship better Magento 2 stores?

64 premium extensions, one quality bar. Composer install, 30-day money-back guarantee.