Publish Shopify Seasonal Products on the Right Day, Every Year
If your store sells Christmas decorations, summer apparel, or anything that's only relevant for part of the year, this workflow will save you two rounds of manual publishing and hiding every year — and make sure you never forget to do it.
The seasonal catalogue problem
Seasonal products need to appear at the right time and disappear when the season ends. Managing this manually means keeping a mental note (or a calendar reminder) to publish products each year and draft them again afterward. Miss the window and products either aren't live when they should be, or they stay live and look irrelevant.
DateCue handles both transitions with two metafields and two workflows. Set the dates once — DateCue does the publishing and drafting automatically, year after year (after you update the dates each year).
Step 1: Create the season metafields
Go to Settings → Custom data → Products and create two metafields:
- Namespace and key:
custom.season_start— Type: Date - Namespace and key:
custom.season_end— Type: Date
Set both on each seasonal product. Keep the products in Draft status between seasons.
Step 2: The two DateCue workflows
Workflow 1 — Publish at season start:
Timing: On the date
Action: Set status → Active
Workflow 2 — Draft at season end:
Timing: On the date
Action: Set status → Draft
Your seasonal products sit in draft until the season starts, go live automatically, and return to draft when the season ends. Your customers only see them when they're relevant.
Adding a seasonal tag alongside the status change
If you have a "Christmas" or "Summer" smart collection driven by tags, add a tag action to both workflows:
- Season start: Set status → Active + Add tag → christmas
- Season end: Set status → Draft + Remove tag → christmas
This keeps both the product status and the collection membership in sync at the same time.
Updating dates each year
After each season ends, update the custom.season_start and custom.season_end dates to next year's dates. Use Shopify's bulk editor to update the metafields across all seasonal products at once — filter by a "seasonal" tag, bulk edit the metafields, and you're set for next year in minutes.
💡 Seasons that span the new year: If your season runs from November to January (like Christmas), the start and end dates span two different years. This works fine — just set custom.season_start to 1 November and custom.season_end to 15 January of the following year. DateCue evaluates absolute dates, so year boundaries aren't a problem.
Frequently asked questions
Can I use this for monthly or weekly cycles, not just annual seasons?
Yes — the metafield is just a date. If you rotate products monthly or for specific events, set the start and end dates accordingly. The workflow logic is identical regardless of how long the active window is.
What if the season hasn't started yet and I'm still setting up?
Set the metafields with future dates and keep products in draft. DateCue will wait until the start date arrives. You can set everything up months in advance.
Can I filter these workflows to only affect specific products?
Yes — add a tag filter to each workflow. For example, filter by "seasonal" or "christmas" to ensure the workflows only fire on products with that tag, ignoring everything else in your catalogue. This is useful if you have a mixed catalogue and want precise targeting.
What if I want some seasonal products to stay active longer than others?
Set different custom.season_end dates on each product. DateCue evaluates each product independently, so some can end on January 1st while others run until January 31st — whatever makes sense for each item.
Ready to automate your seasonal catalogue?
Set the dates, configure once, let DateCue handle every season from here.
Start your free trial14-day free trial. No credit card required.