How to set holiday and date-based shipping rates in Shopify
Updated · SMART Shipping Rates (E-TRADE PARTNER)
Holiday and date-based Shopify shipping rates use Date conditions on calculated rates, evaluated in the shop timezone at rate-request time when the customer is in checkout. SMART Shipping Rates & Rules can show Express only on or before a cutoff, or add a peak surcharge on or after a date. This is not carrier holiday deadline data, and not a storefront date picker. Calculated rates need Shopify Carrier Service.
4.9 · SMART Shipping Rates does this with zones, calculated rates, and delivery customizations.
Try it freeOn this page
Peak season often needs different shipping prices, not a different catalog. A store may want Express only until a cutoff date, then a peak surcharge after that date. The checkout should follow the shop calendar automatically when the customer reaches the shipping step.
Date conditions do that job. They compare today's date in the timezone from Settings with a YYYY-MM-DD value. They do not let the customer pick a delivery date, and they do not import carrier holiday cutoff tables.
Why date-based rates matter
- They swap calculated rates around a cutoff without rebuilding Shopify shipping profiles each week.
- They recover extra packing and carrier cost during peak weeks.
- They stop offering a faster method after the last date you can still fulfill it.
- They keep the rule on the shop calendar, so every checkout uses the same cutoff.
What Shopify can and cannot do natively
Shopify can store ordinary shipping rates year-round. Native settings do not give you a Date condition that turns a calculated rate on or off against the shop calendar at checkout. Manual profile edits around the holidays are easy to forget and hard to test.
| Holiday or date need | Native Shopify | SMART Shipping rates |
|---|---|---|
| Show Express only on or before a date | Limited | Date is on or before (ON_OR_BEFORE) |
| Add a peak surcharge after a date | Limited | Date is on or after (ON_OR_AFTER) |
| Match one calendar day | Limited | Date is (IS) |
| Hide an existing Shopify method after a cutoff | Limited | Pair with Delivery customizations |
| Customer-picked delivery date widget | Not this | Not this. Date is evaluated at rate-request time |
Date operators
In Shipping rates, add a Date condition from the Time group. The value is YYYY-MM-DD. The shop date comes from Settings timezone, evaluated when checkout requests rates, not from a date the customer chooses.
| Operator | UI label | Matches when the shop date is |
|---|---|---|
| IS | is | Exactly that YYYY-MM-DD |
| ON_OR_AFTER | is on or after | That day or later |
| ON_OR_BEFORE | is on or before | That day or earlier |
| AFTER | is after | Later than that day |
| BEFORE | is before | Earlier than that day |
Setup steps in SMART Shipping Rates & Rules
- Open Settings and confirm Timezone. Date conditions use this shop timezone. It is synced from Shopify.
- Open Shipping rates and check the Carrier Service notice if zone creation is disabled.
- Create or edit the calculated rate that should change around the cutoff.
- Add a Date condition. Choose is, is on or after, is on or before, is after, or is before, then enter YYYY-MM-DD.
- For a peak surcharge that should sit beside a base rate, create the surcharge as its own calculated rate and blend it in Combined rates if customers should see one method.
- If a Shopify-native method should disappear after the cutoff, open Delivery customizations and hide or rename that existing method. Date conditions on Shipping rates control whether SMART returns a calculated rate. They do not hide a native method by themselves.
- Open Checkout simulator to test the cart and destination. Confirm hide and rename in real checkout, because the simulator does not apply delivery customizations.
Common mistake: treating Date as a delivery-date picker
Date is the shop's current calendar date when checkout asks for rates. It is not a storefront widget where the customer chooses a delivery day, and it is not live carrier holiday deadline data. If you need last-recommended-ship wording on an existing method, that copy is a Delivery customizations rename, not a calculated Date.
Worked example: November peak surcharge and a last-ship rename
A gift store keeps Standard year-round. From 1 November 2026 it wants a $6 peak surcharge. It also wants Express only on or before 15 December 2026. Last-recommended-ship wording on the native Standard method is a rename, not a Date condition.
- Create a Peak surcharge calculated rate in Shipping rates. Add Date is on or after 2026-11-01.
- If Standard and the surcharge should appear as one checkout method, blend them in Combined rates.
- Create an Express calculated rate with Date is on or before 2026-12-15. After that date, SMART does not return Express.
- If Shopify already shows a year-round Express method, hide that existing method in Delivery customizations. Pairing is required because the Date condition only controls the SMART calculated rate.
- Rename the existing Standard method in Delivery customizations to include last-recommended-ship copy if you want that wording. That rename is static checkout copy. It is not evaluated as a Date.
- Use Checkout simulator for the calculated prices. Use real checkout for the hide and rename.
The surcharge and Express cutoff then follow the shop calendar at checkout. The rename is separate, so marketing copy does not get mixed up with rate math.
Tips for cleaner holiday rate rules
- Write the cutoff in plain language first, then pick ON_OR_BEFORE versus BEFORE so the cutoff day itself is intentional.
- Check Settings timezone before you trust a midnight cutoff.
- For day-of-week or same-day windows, use weekend and weekday rates instead of a long list of dates.
- Keep zone targeting in Shipping rates and zones, and hide existing methods in Delivery customizations.
- Use Checkout simulator for calculated rates. Date still uses the real shop date at the moment you run it, so a November surcharge will not appear in an August simulation.
Swap holiday rates on the shop calendar, not by hand
SMART Shipping Rates & Rules is rated 4.9 stars across 300+ Shopify App Store reviews.
Try the app free4.9 stars · 300+ reviews
What date conditions are not
They are not live carrier holiday tables. They are not a checkout date-picker widget. They do not change when the customer hopes the parcel will arrive. They answer one question: on the shop's current date, at the moment checkout requests rates, should this calculated rate be returned?
Frequently asked questions
›Can Shopify shipping rates change on a specific date?
Yes. In SMART Shipping rates, add a Date condition with is, is on or after, is on or before, is after, or is before, and a YYYY-MM-DD value. Calculated rates need Carrier Service.
›Is this a delivery date picker for the customer?
No. Date, Day of the week, and Time of the day use the shop timezone from Settings, evaluated at rate-request time when the customer is in checkout.
›Can I hide an existing method after a holiday cutoff?
Date conditions control whether SMART returns a calculated rate. If a Shopify-native method should disappear, hide or rename it in Delivery customizations, then confirm that in real checkout.
›Does Checkout simulator let me pick a future holiday date?
No. The simulator runs the real rate engine against the current shop date and time. Use it to test cart and destination matching. Confirm hide and rename in real checkout.
›Should last-recommended-ship copy be a Date condition?
No. Wording such as last recommended ship date belongs on a Delivery customizations rename of an existing method. That is checkout copy, not a calculated Date.