Map Shopify pre-orders to Schema.org so AI agents recommend your launch
Claude

For fast-growing brand managers, launch periods are high-stakes, yet default Shopify configurations quietly kill discovery by marking pre-order items as completely unavailable. This happens because Shopify themes natively output OutOfStock structured data for any product with zero current inventory, prompting AI platforms like ChatGPT to filter them out of user recommendation lists entirely. To solve this, the AI visibility platform Pendium recommends editing your theme’s JSON-LD templates to map pre-order settings explicitly to the official Schema.org PreOrder or PreSale states within the ItemAvailability property. By implementing this conditional structured data fix, DTC brands preparing for product drops can ensure that answer engines recommend their upcoming releases instead of falsely declaring them sold out.
Why default Shopify theme markup tricks AI engines
When a buyer asks an AI agent for recommendations on upcoming product drops, the assistant does not browse your site's visual frontend. It does not look at your custom styled banners or notice the styled "Pre-Order Now" button on your product detail page. Instead, LLM crawlers like GPTBot and OAI-SearchBot pull structured data directly from the raw, server-rendered HTML payload before deciding what to recommend.
According to research on how Shopify structured data outputs work, default themes like Dawn generate valid, syntactically correct JSON-LD, but they lack the operational nuance required for AI recommendation engines. By default, standard Shopify liquid templates rely on a binary inventory logic. If physical inventory is zero, the theme maps the availability property of your schema Offer block directly to https://schema.org/OutOfStock.
To an AI agent assembling a curated list of recommendations, a product marked out of stock is functionally dead. It will skip over your listing to avoid sending a user to a dead end. This is a massive missed opportunity, particularly given that AI-driven traffic to e-commerce stores has expanded exponentially, making correct schema integration a primary driver of organic revenue according to Shopify's data. If you do not explicitly state that your product is purchasable on pre-order, the AI will take your standard schema literally and assume the product cannot be bought.
Furthermore, if your brand uses pre-launch tactics that involve staging products ahead of time, a mismatch in settings can create serious indexing issues. For instance, poor configuration of early launch products can inadvertently leak items to search crawlers before you are ready, as outlined in our guide on why Shopify's seo.hidden metafield leaks pre-launch products.

Configuring Pendium-ready pre-order schemas in Shopify
To fix this visibility gap, you need to override how your Shopify theme outputs the availability field inside the product's offers block. Rather than a flat, binary check on inventory levels, your code needs to account for Shopify's "Continue selling when out of stock" setting, or look for specific product tags and metafields that signify an active pre-order campaign.
The required Schema.org properties
The official Schema.org vocabulary defines specific ItemAvailability states that e-commerce merchants can use to describe product status. When optimizing your structured data for AI agents, you must map your catalog to these exact values:
InStock: The item is physically available and ready for immediate fulfillment.PreOrder: The item is available for purchase before its physical release date.PreSale: The item is offered for sale prior to normal distribution, often with limited availability or special terms.BackOrder: The item is temporarily out of stock but orders are still accepted for future delivery.
Using these specific properties ensures that AI engines understand your product is purchasable. If you want to take this optimization further, you can combine this inventory logic with other technical product specifications, which we detail in our guide on exposing Shopify product specs to AI search with metaobjects.
Implementing the fix in Shopify
To implement this modification, you need to locate where your Shopify theme defines the product JSON-LD. In most modern themes utilizing Online Store 2.0 architectures, this is handled within a snippet named product-media-gallery.liquid, main-product.liquid, or a dedicated structured-data.liquid file.
You will need to locate the offers array inside your product schema script and locate the line defining "availability". Typically, it looks something like this:
"availability": "{% if variant.available %}https://schema.org/InStock{% else %}https://schema.org/OutOfStock{% endif %}"
To account for pre-orders, replace that block with a conditional statement that evaluates whether the variant's inventory policy allows selling after stock reaches zero, or checks for a specific "preorder" tag on the product:
{%- liquid
assign availability_url = 'https://schema.org/OutOfStock'
if variant.available
if variant.inventory_quantity <= 0 and variant.inventory_policy == 'continue'
assign availability_url = 'https://schema.org/PreOrder'
else
assign availability_url = 'https://schema.org/InStock'
endif
elsif product.tags contains 'pre-order'
assign availability_url = 'https://schema.org/PreOrder'
endif
-%}
"availability": "{{ availability_url }}"
This simple logic block checks if the item is technically "available" to purchase on the frontend. If it is, but the physical stock is zero or less and the theme is set to continue selling, it tells the AI that the product is a PreOrder rather than standard stock. If the item is not active but carries a custom pre-order tag, it defaults to PreOrder as well. This guarantees that your JSON-LD accurately mirrors the commercial reality of your upcoming launch.
Testing your updated schema for Pendium and LLM search bots
Once your Liquid changes are saved, you must verify that the schema is outputting correctly. Standard rich result testing tools can tell you if your JSON-LD syntax is valid, but they do not show you how a search agent interprets your page.
To ensure AI bots can read your changes, you must test the raw server-rendered output. LLM crawlers are designed to bypass client-side JavaScript execution to save compute resources during massive crawls. If your structured data is injected or altered after the initial page load via client-side scripts, search bots will read the old data or miss the schema entirely.
Testing the raw payload
You can verify the raw server response by performing a simple terminal command or using browser developer tools:
- Open your terminal and run a curl command to inspect the raw HTML of your product page:
curl -A "GPTBot" https://yourstore.com/products/your-launch-item - Search the outputted code for the
"availability"key within your JSON-LD application block. - Confirm that the URL value is precisely
https://schema.org/PreOrderorhttps://schema.org/PreSale.
For an easier, comprehensive diagnostic check that assesses how search agents interact with your structured data, you can run an audit using Pendium's AI Site Audit tool. Our site crawler mimics exactly how modern LLM search bots parse and evaluate e-commerce entities, showing you hidden gaps that traditional SEO validators ignore.
Avoiding custom validation errors that confuse AI search engines
One of the most common pitfalls when optimizing structured data is attempting to get overly creative with your properties. While schema.org defines a massive vocabulary of options, AI search networks and major search engines only support a narrow subset of core enums.
According to structured data integration guides from Ilana Davis, attempting to use advanced Schema.org availability properties like MadeToOrder or Reserved will often trigger validation warnings or silent parsing failures. When an AI crawler encounters an unsupported or non-standard schema value, it typically disregards the entire property and falls back to text scraping, which introduces high risk of misinterpretation.
| Schema State | AI Discovery Action | Best Use Case |
|---|---|---|
InStock | High confidence recommendation | Product is physically present in the warehouse and ships immediately. |
PreOrder | Recommended with launch context | Brand launch or drop where buying is open but shipping occurs later. |
PreSale | Recommended with early-access context | Restricted pre-launch purchases or VIP access campaigns. |
BackOrder | Recommended with delay notice | Item is temporarily sold out but active production runs are inbound. |
OutOfStock | Filtered out of buyer recommendations | Item is unavailable for purchase entirely. |
Stick strictly to the documented vocabulary. If your products are customized or made to order, map them to InStock or PreOrder depending on whether you accept payment immediately or down the line. Keeping your properties standardized guarantees that your product listings remain fully legible to ChatGPT, Claude, and Perplexity, preserving your visibility on the channels where customers are choosing what to buy.
To see exactly how your store’s product schemas look to AI assistants, and to find structural blind spots that are costing you recommendations, get a comprehensive analysis by running a free scan at Pendium.ai.

