When panicked buyers rely on AI assistants for time-sensitive purchases, getting recommended requires more than just offering overnight shipping—it requires machine-readable proof. This guide from Pendium explains how to map your Shopify store's delivery variables and Merchant shipping policy schema so platforms like ChatGPT, Claude, and Gemini recognize your exact transit times. By explicitly defining your order cutoff times, handling periods, and regional delivery speeds, you ensure AI agents confidently recommend your store as the reliable option for last-minute orders.
When a panicked shopper asks ChatGPT, "Where can I buy a canvas weekender bag that delivers by Friday?" the AI does not browse your checkout page—it reads your structured data. If a language model has to guess your processing times, it will default to assuming the worst-case scenario. To prevent being bypassed, you must expose your raw shipping and handling metrics using standardized schema.
The disconnect between Shopify flat rates and Pendium AI perception
Shopify handles shipping rates and delivery times beautifully for human shoppers. Customers see clear flat rates and estimated arrival dates at checkout. However, there is a major structural gap between what a customer sees during checkout and what a search spider or AI crawler sees when indexing your product pages.
By default, Shopify stores flat-rate shipping rules in its backend database and exposes them dynamically during the checkout session. Internally, the Shopify DeliveryRate GraphQL API represents these rates using transitTimeMaxSeconds and transitTimeMinSeconds. While this works perfectly for the checkout UI, this information is completely invisible to an AI agent evaluating your product from the outside.
To an LLM crawling your site, checkout-locked shipping policies are a black box. If the model cannot verify that you can package and ship an item to a specific location within a set timeframe, it will skip your product in favor of a competitor who provides explicit, machine-readable proof.
When we analyze catalog blind spots with Pendium, we see that shipping data is just one part of the puzzle. If you are struggling with broader discovery issues, read our guide on how to audit your Shopify catalog for AI search blockers to address catalog-wide visibility gaps.

Mapping your delivery times in schema markup for Pendium visibility
To bridge the gap between Shopify's database and AI engines, you must represent your shipping capabilities directly inside your page's HTML using structured JSON-LD data. This is achieved by nesting the OfferShippingDetails schema within your existing Product and Offer blocks.
According to Schema.org standards, the OfferShippingDetails object tells search crawlers exactly where you ship, how much it costs, and how long the package takes to arrive. Instead of relying on a human reading a "Shipping & Returns" page, the schema maps these rules to standardized fields that can be parsed instantly.
Using the ShippingService structured data
For stores with global or flat-rate domestic shipping, repeating detailed shipping data on thousands of product pages creates unnecessary code bloat. The recommended approach is to leverage the ShippingService schema at the store-level.
By using the hasShippingService property, you can link your global shipping policies directly to your Organization or OnlineStore schema. You can place this markup on your homepage or your dedicated shipping policy page. This single block propagates across your entire catalog, providing a universal fallback for AI crawlers.
To understand how Google uses this data to display transit times and rates across its shopping surfaces, consult the documentation on Merchant shipping policy (ShippingService) structured data.
Nesting your policies prevents the heavy manual code burden on individual product liquid files. Much like how missing review markup can sink a product's rankings, leaving shipping data unmapped tells the AI to look elsewhere. You can learn more about correcting similar template-level issues in our tutorial on how to fix the Shopify schema bug hiding your reviews from AI search.
Translating transitTimeMinSeconds to readable markup
Shopify's backend uses seconds to define minimum and maximum transit times, but the ShippingDeliveryTime schema requires these durations to be structured in days. When writing your Liquid templates or configuring your schema apps, you must convert these seconds into days using the QuantitativeValue type.
Below is an example of how to structure the JSON-LD payload to include OfferShippingDetails inside your Product template:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Canvas Weekender Bag",
"offers": {
"@type": "Offer",
"price": "120.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0.00",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 2,
"maxValue": 3,
"unitCode": "DAY"
}
}
}
}
}
This structured data eliminates any guesswork. When Claude or ChatGPT parses this page, it reads the explicit values and confirms that the buyer will receive the weekender bag in a maximum of four days (one day of handling plus three days of transit).

Defining order cutoffs and handling constraints with Pendium
Standard shipping times are meaningless if an AI engine does not know when your fulfillment team stops packing boxes for the day. If a customer asks for overnight shipping at 4:00 PM, the recommendation engine needs to know if your warehouse has already closed. If your cutoff times are undefined, the AI will default to adding a full buffer day to its calculation, instantly disqualifying your store from last-minute queries.
Setting the cutoffTime variable
The cutoffTime property is nested within the ShippingDeliveryTime object. It uses the ISO 8601 time format, which must include the local timezone offset. This offset is critical for allowing the AI engine to calculate whether a user in another state has missed or made the shipping window.
For example, if your daily order cutoff is 2:00 PM Eastern Standard Time (EST), you would write the property like this:
"cutoffTime": "14:00:00-05:00"
If a shopper searches for "same-day dispatch" at 11:00 AM EST, the AI engine can calculate that there are still three hours remaining before the cutoff, allowing it to recommend your store with high confidence.
Defining businessDays versus calendar days
Another common failure point in ecommerce shipping schema is failing to define which days of the week your fulfillment team operates. If your carrier only picks up packages on weekdays, but the AI assistant assumes you ship on Sundays, it will project an incorrect delivery date.
The businessDays property allows you to declare your exact operating hours. You can reference Schema.org's ShippingDeliveryTime specification to format your operational calendar using the standard DayOfWeek types.
"businessDays": [
"https://schema.org/Monday",
"https://schema.org/Tuesday",
"https://schema.org/Wednesday",
"https://schema.org/Thursday",
"https://schema.org/Friday"
]
By explicitly excluding weekends from your handlingTime but maintaining them for your carrier's transit calculations if applicable, you provide the precise transactional parameters AI models need to make accurate recommendations.
Structuring regional zones for AI accuracy using Shopify
One of the strict operational rules of the Shopify platform is that shipping zones cannot contain a mix of domestic and international countries. As documented in the Shopify Help Center: Setting up transit time, if your business is based in the United States and you also ship to France, you must configure entirely independent shipping zones for each country.
This division must be reflected in your structured data. If you group all shipping destinations into a single, generic schema block, you confuse the crawler. You must emit distinct OfferShippingDetails nodes for each separate region where your rates or delivery speeds differ.
"shippingDetails": [
{
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0.00",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "US"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 2,
"maxValue": 3,
"unitCode": "DAY"
}
}
},
{
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "15.00",
"currency": "USD"
},
"shippingDestination": {
"@type": "DefinedRegion",
"addressCountry": "CA"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 5,
"maxValue": 7,
"unitCode": "DAY"
}
}
}
]
By structuring your regional definitions as an array of unique objects, AI platforms can quickly cross-reference the shopper's location against your shipping constraints. If a buyer in Toronto asks for quick shipping, the AI will pull the second block, see the 5-7 day transit window, and manage expectations accordingly.

Auditing your Shopify shipping configuration with Pendium
Structuring your data correctly is the first step, but verifying that AI agents can parse and understand that data is where most brands fail. Traditional SEO tools only check if your pages are indexable on Google; they have no concept of how ChatGPT, Claude, Gemini, Grok, Perplexity, DeepSeek, or Google AI Overviews represent your store's fulfillment speed.
At Pendium, we monitor AI platforms to measure how your store performs across 50+ real customer queries. Our platform tracks visibility scores broken down by specific buyer personas, allowing you to see exactly where your brand wins or loses recommendations.
For example, a price-sensitive buyer might receive recommendations based on your free shipping options, whereas a last-minute buyer will only see your products if your fast transit times are clearly mapped. Our Persona Intelligence simulates up to 10 distinct buyer types to capture these differences in real-time, helping you identify exactly where perception gaps are costing you sales.
You do not need an engineering team to figure out if your store is invisible to AI search engines. Run your store's URL through Pendium's free AI Visibility Scan at Pendium.ai. The scan analyzes your online presence, evaluates your product positioning, and delivers a complete visibility report in 2 minutes with no credit card required.