How to add a delivery date picker on Shopify: a setup guide
A delivery date picker lets your Shopify customers choose the date, and optionally a time slot, their order arrives. For a florist, a bakery, a gift store, or anyone selling food, the date is part of the product, and a delivery that arrives on the wrong day isn’t a late order. It’s a dead order. The parcel gets redelivered or returned, the customer is annoyed, and someone on your side spends the afternoon on email.
The root cause of most missed deliveries is simple: the customer never chose a date. They typed a note into the order comments, or they expected “2-4 business days” to mean what they wanted it to mean, and the store found out about the real requirement after the parcel shipped.
In this article, I’ll walk through how to add a delivery date picker to a Shopify store: where it should appear, what rules should sit behind it, and what happens to the date after the order is placed. I built MSK: Delivery Date Scheduler, so this guide describes how that app works, but the underlying decisions apply no matter which tool you use.
Where the delivery date picker should live
You have three realistic placements, in the order customers pass through them:
The cart page. Works on every Shopify plan. The customer picks a date while reviewing their order, and the choice travels with the order into your admin. This is the baseline, and for most stores it’s enough.
The cart drawer. Same thing, but in the slide-out drawer that themes like Dawn and Horizon open when a customer adds a product. If your customers mostly check out from the drawer and never see the cart page, a picker that only exists on the cart page might as well not exist.
The checkout itself. On Shopify Plus, the picker can render inside checkout, directly above the shipping options. This is the strongest placement: it’s the last screen before payment, right where the customer is already thinking about shipping. I cover it in detail in the checkout picker article.
The right placement is the simple one: put the picker on the surface your customers actually use.
What the customer sees
The picker has two visual modes, and you set them independently for cart and checkout:
- Compact: a date dropdown and, if you use them, a time slot dropdown. Minimal space, fits tight layouts.
- Rich: date pills the customer can tap through, then a grid of time slot cards. The upcoming dates show with a “more” overflow when the window is long.
Around the picker, three optional messages do quiet work:
- An earliest delivery date, computed from your lead time, so the customer doesn’t ask for tomorrow when tomorrow is impossible.
- A cutoff message, like “Order by 3:00 PM for delivery on October 2”, which turns your fulfillment rules into urgency instead of a support ticket.
- A confirmation banner after the customer picks, restating the choice in plain words: “Your order will arrive on October 2, Morning”.
The storefront copy ships in English, French, and Japanese, so the picker speaks the customer’s language if you sell across markets.
The rules behind the picker
A picker without rules is just a text field with extra steps. Four settings decide which dates are actually selectable:
Lead time. The minimum number of days between the order and the earliest delivery date. Zero to thirty days. A bakery might need one day to bake; a furniture store might need ten.
Cutoff time. An order placed after your cutoff adds one more lead day. Without this, an order at 11 PM counts as “this morning’s order” and your kitchen finds out too late. Cutoffs are evaluated in your shop’s timezone, not the customer’s. I wrote a full guide to cutoff times and lead times separately.
Delivery days. A Monday-to-Sunday grid. If you only deliver Tuesday through Saturday, Sunday and Monday simply don’t appear.
Blackout dates. Date ranges that are blocked outright: holidays you’re closed, days your courier doesn’t run, the week your team is off. Ranges, not one date at a time, because peak season planning is done in weeks. There’s a separate article on planning blackouts.
There’s also a maximum delivery window, one to ninety days out, which keeps the picker from offering dates you can’t realistically promise.
If you use time slots (“Morning 9:00 - 12:00”, “Afternoon 14:00 - 18:00”), you define them once with a label and a time range, and the customer picks one after choosing a date.
What happens after the order
This is where delivery apps usually fall apart, so check it before you install anything.
The customer’s choice is written to the order as cart attributes and, more usefully, as order tags: delivery:2026-10-02 and slot:09:00 - 12:00 (both prefixes are configurable). Tags matter because they’re searchable in your admin and readable by Shopify Flow, so you can trigger automations off them: notify your driver, print a route sheet, flag same-day orders.
Where the picker itself lives matters just as much as what it captures. A picker that only renders on the cart page is invisible to customers who check out from the cart drawer, which on mobile-heavy stores is most of them. The cart drawer article covers how that placement works and why it needs no theme edits.
What this setup can’t do
An honest list, because every delivery scheduler has one and most don’t publish it:
- The date is not enforced. The customer can still check out without picking a date. The picker makes choosing easy and visible, but it’s an option, not a gate.
- Rules are store-wide. One lead time and one cutoff for the whole store. If product A needs two days of prep and product B ships same-day, the scheduler can’t tell them apart.
- No slot capacity limits. You can offer a Morning slot, but you can’t cap it at twenty orders. If a slot sells out, you manage it manually.
- No store pickup or delivery zones. This is a delivery date picker, not a local delivery or pickup solution with ZIP code targeting.
None of these are secrets discovered after install; they’re the scope. If your store needs per-product prep times or slot caps, you need a heavier (and pricier) app, and you should know that before you spend an afternoon on settings.
Getting started
Install from the App Store, open the admin, and the setup guide walks you through it: configure your rules, activate the cart block in the theme editor (no code edits, and nothing is left behind if you uninstall), and on Plus, activate the checkout extension. Most stores are live in under fifteen minutes.
There’s a 7-day free trial, and the app is $5 a month after that. If a date rule you need is on the honest-limitations list above and you’re not sure, write to me before you decide: support is answered by the person who built the app, within 24 hours. You can check the app details here.