Checkout7 min read
How to Add a Delivery Date Picker to the Shopify Cart
What a Shopify delivery date picker needs beyond a calendar: lead time, cut-off, closed days, holidays, time slots, and a check at checkout that Buy it now can't skip.
In this guide
- What Shopify documents for a cart date picker
- The gap: buyers who never see the cart
- Step 1: Write down your date rules
- Step 2: Use your store’s clock, not the buyer’s
- Step 3: Block the holidays now
- Step 4: Put the field where buyers already are
- Step 5: Check the date again at checkout
- Step 6: Work from the dates
- Where Feldo: Delivery Date & Terms fits
- FAQ
If you bake, arrange flowers or deliver your own orders, you need to know when the buyer wants the order before you accept it. Shopify’s checkout asks for an address and a shipping method, not a date. So most shops that ask how to add a delivery date picker to the Shopify cart end up with one of two things: a calendar snippet in the theme, or a note box where buyers type “Friday please” and hope.
This guide walks through what Shopify documents, where that approach stops, and the rules a date picker needs before you trust it with the holiday rush.
What Shopify documents for a cart date picker
Shopify’s help center has a tutorial to add a delivery date picker to your cart. It is a theme customization: you create a snippet, paste in the code and render it in the cart template. The tutorial is worth reading, and also worth reading closely:
- It works on the cart page only. It does not work with a cart drawer or pop-up cart, so you switch the cart type to Page in the theme editor.
- It does not apply to vintage themes, and some themes need jQuery added to
theme.liquidfirst. The calendar itself is a jQuery UI widget. - The rules are written into the code. The example blocks weekends, starts at tomorrow and ends two months ahead. Anything else, such as a cut-off time or a holiday, means editing JavaScript.
- The date is saved as a cart attribute named
date. Cart attributes are inputs namedattributes[...]in the cart form, as Shopify’s cart template docs describe, and you see them on the order under Additional details.
For a shop with a simple schedule and a cart page, that can be enough. The gaps show up when the schedule is not simple, or when buyers never open the cart.
The gap: buyers who never see the cart
A date picker in the cart only asks the buyers who go through the cart. Shopify’s dynamic checkout buttons are built to skip it: “When a customer clicks an unbranded button, they skip the cart and go to the Shopify Checkout.” Branded buttons such as Shop Pay, Apple Pay or Google Pay take the buyer straight into that payment method.
So if your product pages show Buy it now, some orders will arrive without a date, however good the calendar in the cart is. There are two ways to close that gap:
- Remove dynamic checkout buttons from the product pages that need a date, in the theme editor. Simple, but it removes a fast way to pay.
- Check the date again at checkout. Shopify lets apps run a cart and checkout validation function that reads the cart’s attributes and stops checkout with a message when something is missing or wrong. Shopify Functions in public apps from the Shopify App Store work on every plan; only custom apps with Functions need Shopify Plus.
Step 1: Write down your date rules
Before you pick a tool, write your schedule as rules. These are the ones that come up in nearly every delivery or pickup business:
| Rule | What it means | Example |
|---|---|---|
| Lead time | Days you need before the order can go out | 1 day: earliest is tomorrow |
| Cut-off time | After this time, the earliest date moves one day later | 14:00 |
| Closed weekdays | Days you never deliver or open for pickup | Sunday |
| Blackout dates | Single days you are closed | 25 and 26 December |
| Maximum days ahead | How far ahead buyers may book | 30 days |
| Time slots | Windows inside a day, if you offer them | 09:00–12:00, 14:00–18:00 |
Then test the rules against real moments. With a lead time of 1 day, a cut-off of 14:00 and Sunday closed, an order on Friday at 10:00 can pick Saturday. The same order on Friday at 15:00 is past the cut-off, the earliest day would be Sunday, Sunday is closed, so the earliest date is Monday. If your calendar does not give you that answer, the rules are not what you think they are.
Step 2: Use your store’s clock, not the buyer’s
A cut-off of 14:00 means 14:00 where you bake or pack, not where the buyer sits. A calendar that runs only in the browser uses the buyer’s device time. Make sure your picker works from your store’s time zone, which you set in Shopify under Settings > General, and that time slots for today close when they start.
Step 3: Block the holidays now
The weeks before Christmas are when a wrong date costs the most. Add your blackout dates before the rush, not during it:
- the days you close over Christmas and New Year;
- days your courier does not deliver, if you use one for part of the route;
- the last day you can still deliver before Christmas, set as the end of your booking window for December orders.
Our post on holiday shipping cutoff dates for Christmas 2026 covers how to work out and announce that last day.
Step 4: Put the field where buyers already are
A date field nobody notices does not help. Place it above the checkout button, in the cart drawer as well as on the cart page if your theme has both. Mark it as required when you cannot fulfil without a date, and write a label that says what the date means: “Delivery date” and “Pickup date” are not the same promise.
Check the calendar on a phone, and with a keyboard. Closed days should not be clickable at all, rather than accepted and corrected by email later.
Step 5: Check the date again at checkout
A buyer can leave the cart open overnight and come back after the cut-off. A buyer can use Buy it now. A validation at checkout catches both: it reads the saved date with your store’s clock and refuses a date that is missing, closed or no longer possible, with a message telling the buyer to go back to the cart.
Two things to decide before you switch such a check on:
- Which fields are truly required. Every required field sends Buy it now buyers back to the cart.
- What the message says. “Please choose a delivery date in your cart” is clearer than a generic error.
Step 6: Work from the dates
The date is only useful if the person packing tomorrow’s orders can find them. Since the date is a cart attribute, it stays on the order under Additional details, and Shopify’s order CSV export has a Note Attributes column with those values. For a daily run, it helps to have a view filtered by delivery date and a printed sheet per order.
One thing a date field does not do: it does not change your shipping rates, delivery methods or carrier bookings. It is information for you. If certain dates need a different price, that belongs in your shipping settings.
Where Feldo: Delivery Date & Terms fits
Feldo: Delivery Date & Terms adds a delivery or pickup date field to the cart drawer and the cart page, next to a terms checkbox, text fields and dropdowns, up to 8 fields. It is made for shops that schedule their own deliveries or pickups.
- Date rules: lead time, cut-off time, closed weekdays, up to 60 blackout dates, maximum days ahead and up to 8 optional time slots, all in your store’s time zone. Closed days cannot be picked in the calendar.
- Checkout enforcement: a Shopify Function checks required fields and dates again at checkout, so Buy it now and express buttons cannot skip them.
- On the order: answers are saved as order attributes and shown in a Cart details block on the order page. The app’s Orders page filters by delivery date, exports a CSV and prints order sheets.
- What it does not do: it does not hide or rename delivery methods, book carriers or change shipping rates.
It needs an Online Store 2.0 theme and no theme code changes: you switch on its app embed in the theme editor. See Feldo: Delivery Date & Terms for the details.
FAQ
Does Shopify have a built-in delivery date picker? Shopify documents a theme customization that adds a date picker to the cart page. It is code you add to your theme, it does not work with a cart drawer, and its rules are written into the snippet.
Why do some orders arrive without a delivery date? Most often the buyer used Buy it now or an express checkout button and skipped the cart, or the field was not required. A check at checkout closes the first gap.
Where do I see the delivery date on the order? A date saved as a cart attribute appears under Additional details on the order and in the Note Attributes column of Shopify’s order export.
Can the chosen date change the shipping price? Not by itself. A date field collects information; shipping prices and methods come from your shipping settings.