Order data debugging - August 2026

Shopify Delivery Date Not Showing on Orders: Cart Attributes, Apps, and Email Fixes (2026)

If a Shopify delivery date is not showing on orders, the date is usually not saved to the cart before checkout or it is saved somewhere staff do not check.

~10 min read - delivery date, cart attributes, order notes, email templates, app conflicts

Thunder Page Speed Optimizer cannot invent delivery data that was never saved. It can reduce the cart drawer lag, duplicate JavaScript, and app-script pressure that make custom delivery fields unreliable. Install Thunder for automated storefront performance, then fix the delivery-date data path below.

Quick Fix with Thunder

Delivery dates are operational data. If they disappear, fulfillment teams guess, customers get late packages, and support tickets rise. Treat this like a cart-data bug, not just a cosmetic theme issue.

Thunder's features help keep cart drawers, app embeds, and checkout buttons responsive while delivery fields save. Use the complete Shopify speed optimization guide if the delivery-date issue appears together with slow cart updates or checkout clicks.

Install Thunder

Check Whether the Delivery Date Reaches the Cart

Before editing order notifications, prove whether Shopify receives the delivery date in the cart. Add a test product, choose the date, then open /cart.js in the same browser. Shopify's Ajax Cart API supports cart attributes and notes during a customer's session.

Delivery date debugging:
1. Add one product to cart.
2. Choose the delivery date in the cart or drawer.
3. Open /cart.js in the same browser.
4. Search for "attributes" and the delivery date label.
5. If the date is missing here, it will not appear reliably on the order.

If the date appears in /cart.js but not the order, inspect checkout path, delivery app settings, and order display. If the date is missing from /cart.js, fix the form name or JavaScript save first. This overlaps with cart attributes not showing on orders.

Save Delivery Date as a Cart Attribute

If one delivery date applies to the whole order, save it as a cart attribute. A normal cart form can submit the value with attributes[Delivery date]. A drawer needs to post the value to /cart/update.js before sending the customer to checkout.

{% form 'cart', cart %}
  <label for="DeliveryDate">Delivery date</label>
  <input
    id="DeliveryDate"
    type="date"
    name="attributes[Delivery date]"
    value="{{ cart.attributes['Delivery date'] | escape }}">

  <button type="submit" name="checkout">Check out</button>
{% endform %}

If each product can have a different delivery date, use line item properties instead. Mixing cart attributes and line item properties is a common reason staff say the date is missing when it is actually stored in a different place.

Fix Drawers That Redirect Before the Date Saves

Delivery-date widgets often live inside AJAX drawers. The field looks correct, but the checkout button redirects before the save request completes. The result is inconsistent: one test order includes the date, the next one does not.

async function saveDeliveryDateBeforeCheckout() {
  const deliveryDate = document.querySelector('[name="attributes[Delivery date]"]')?.value;

  await fetch('/cart/update.js', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
    body: JSON.stringify({ attributes: { 'Delivery date': deliveryDate || '' } }),
  });

  window.location.href = '/checkout';
}

document.querySelector('[data-checkout-button]')?.addEventListener('click', (event) => {
  event.preventDefault();
  saveDeliveryDateBeforeCheckout().catch(console.error);
});

Use one checkout handler. Disable duplicate app handlers. Show a loading state after the first click. If the button also requires two clicks, read Shopify checkout requires 2 clicks.

Show the Delivery Date in Order Emails

Sometimes the date is on the order, but staff or customers do not see it because the notification template does not output attributes. Check the Shopify order admin first. If the date appears under additional details, update the order confirmation or internal notification template.

{% for attribute in order.attributes %}
  {% if attribute.first == 'Delivery date' %}
    <p><strong>Delivery date:</strong> {{ attribute.last }}</p>
  {% endif %}
{% endfor %}

If you use a delivery-date app, check whether it saves the date as an order attribute, order note, line item property, metafield, tag, or app-only record. Then use that exact source in staff workflows. Related checks: order notes not showing, local pickup not showing, and shipping rates not showing.

Manual Fix vs Thunder Fix

ProblemManual fixThunder fix
Wrong field typeUse cart attributes for order-level dates and line item properties for item-level dates.Not a data-model replacement.
Drawer redirects too soonAwait /cart/update.js before redirecting to checkout.Improves cart responsiveness and script timing.
Delivery app stores data privatelyCheck app settings and map the saved field into order workflows.Reduces app-script load but cannot expose private app data.
Email template omits datePrint order attributes in the notification template.Not an email-template editor.

For stores with several cart-data issues, compare Thunder pricing with professional Shopify speed optimization.

FAQ

Why is the Shopify delivery date not showing on orders?

The delivery date is usually not being saved before checkout, is stored as the wrong data type, is attached to a line item instead of the order, or is only displayed in the app rather than Shopify order attributes.

Should delivery date be a cart attribute or line item property?

Use a cart attribute when the date applies to the whole order. Use a line item property only when each product line can have a different date.

How do I check if the delivery date is saved?

Add a test product, choose a delivery date, then open /cart.js in the same browser and inspect the attributes object before checkout.

Why does the delivery date show in checkout but not order emails?

The date may be saved on the order, but the notification template does not output order attributes or the app-specific variable.

Can Thunder fix missing delivery dates?

Thunder cannot create missing order data, but it can reduce cart drawer lag and app-script conflicts that cause delivery-date saves to race checkout.

Save the delivery date before checkout moves on.

Fix Shopify delivery date not showing on orders, then use Thunder to keep cart scripts and checkout buttons responsive.