Product visibility in Shopify isn't one switch. It's a set of them. A product is visible when it's published to a sales channel, and a product can live on several channels at once: your Online Store, POS, Shop, whatever else you've connected. When people say they want to "schedule visibility," they usually mean one of two things. Make a product appear at a set time. Make it disappear at a set time. Shopify handles one of those out of the box. Not the other.

Let's sort out which is which.

What Shopify already does natively

Shopify has a real scheduled publish built in. On a product, open its Online Store availability and choose Schedule availability. Pick a future date and time, save, and Shopify publishes that product to the channel at that moment. No app required. This is genuine and it works.

A few things to know about it:

  • It runs on your store's timezone, set under Settings then General. Not the customer's local time. If you sell across markets, midnight for you is not midnight for them.
  • It's one product at a time. There's no native "publish these 30 products together at 9am."
  • It only schedules the product going live. There's no built-in end time, no scheduled unpublish, no "take this down Sunday night."

So the honest version is this. Shopify schedules a product coming up. It does not schedule a product coming down, it doesn't do it in bulk, and it doesn't tie the publish to a price change or a discount or an announcement bar. If all you need is a single product to appear on a date, use the native tool. That's the right call.

If you're just after the appear-on-a-date part, we wrote a full walkthrough on how to automatically publish products in Shopify that covers the native flow step by step.

The gap: hiding and pulling on a timer

Here's where the native admin runs out. Say you're running a 48-hour flash product. It goes live Friday, comes down Sunday. Shopify will publish it Friday for you. Sunday at 11pm, you're the one at the keyboard clicking unpublish. Same story for a seasonal item, a limited run that sells through, or a landing product you only want live during a campaign.

There's no native scheduled unpublish. So merchants improvise:

  • Set a phone alarm and do it by hand. Works until the one time it doesn't.
  • Leave a product unpublished and publish manually at go-live, then unpublish manually at the end. Two manual touches per campaign.
  • Try to fake it with collection rules, which gets messy fast because collections don't have their own scheduler either.

None of that scales past a handful of launches. And the failure mode is ugly. A product that should be gone stays live, people buy it, and now you're issuing refunds or explaining yourself.

Note

Visibility is per channel, not global. Unpublishing a product from your Online Store doesn't touch its POS or Shop availability. When you schedule visibility, always confirm which channel you mean.

Scheduling visibility both ways with an app

This is the exact gap Schedule It was built to close. It runs store changes on a timer, server-side, at an exact date and time. Your browser doesn't need to be open. You don't need to be awake.

For visibility specifically, you can:

  • Publish a product to a chosen sales channel at a set time.
  • Unpublish it at a set time. This is the part Shopify doesn't do natively.
  • Set an end time and auto-revert, so the product rolls back to its previous state on its own. Set it once. Walk away.

Because the whole thing runs server-side, you also get logs. Every run records a status, a timestamp, and the Shopify request id, so you can prove what fired and when. If Shopify throws a transient error, it retries automatically, up to 20 times. And you can send completion or failure alerts to up to 10 people, which matters when a launch is a team thing and not just you.

Tip

If a product goes live and comes down on the same weekend, build both actions at once: a publish now and an unpublish for later. Or set an end time on the publish and let auto-revert pull it down. One setup, both edges of the window covered.

Visibility is rarely alone

A launch is almost never just "make it visible." It's make it visible, set the sale price, turn on the announcement bar, maybe flip a discount live. Doing those as four separate manual steps is how timing slips and something goes out wrong.

Schedule It lets you chain actions into one automation so they fire together. Publish the product, change the price, activate the discount, switch the announcement bar on, all at the same instant. Then reverse the ones you want reversed when the window closes. If you run the same kind of sale often, save it as a reusable template and stop rebuilding it from scratch. You can see the full action list on the features page.

It works on every Shopify plan, including Basic. Plus has Launchpad, which can schedule store events, but Launchpad is Plus-only. If you're on Basic, Shopify, or Advanced, this is how you get scheduled unpublish and coordinated launches without upgrading your whole plan.

A quick decision guide

  • One product, appears on a date, no end time, one channel. Use native scheduled availability. Free, built in, done.
  • Product needs to come down on a timer. Native won't do it. Use an app.
  • Several products going live together, or visibility tied to a price or discount or announcement bar. Native won't coordinate that. Use an app and chain the actions.

Start free where you can. The native tool is genuinely fine for simple go-lives. Reach for automation when the visibility has two edges instead of one, or when it has to move in step with everything else.