All articles
How-To

Shopify Scheduled Price Changes: The Complete Guide to Automating Sale Prices

Learn how to schedule Shopify price changes for sales, promotions, and seasonal campaigns — including auto-revert so prices go back to normal automatically.

2026-06-028 min readBy BulkOps Team

Timing is everything in retail pricing. A sale that starts three hours late misses the morning rush. A promotion that runs a week past its end date erodes your margins. Manual price changes — where someone has to be at a keyboard at exactly the right moment — introduce timing errors, missed rollbacks, and operational stress that shouldn't exist.

Scheduled price changes solve this. You configure your pricing change once, set a start and end time, and the store takes care of itself. This guide covers how scheduled pricing works on Shopify, the best approaches for different scenarios, and how to build a scheduling workflow that doesn't break.

What Shopify Supports Natively (And What It Doesn't)

Let's start with an honest look at Shopify's built-in capabilities.

What Shopify does natively:

  • Discount codes with start and end dates
  • Automatic discounts (triggered by cart conditions) with date ranges
  • Scripts / Functions for more complex discount logic (Shopify Plus)
What Shopify does NOT do natively:
  • Schedule a price change on the product's actual listed price
  • Automatically revert prices after a sale ends
  • Apply a formula-based price change (like "reduce all prices by 20%") on a schedule
This distinction matters. When you schedule a Shopify discount code, the product's listed price stays the same — the discount is applied at checkout. This affects how prices appear in your product listings, in Google Shopping, on collection pages, and in comparison tools. Customers see the full price until they reach checkout.

Scheduled product price changes — where the actual listed price changes for the duration of the sale and reverts afterward — require either a third-party app or manual intervention at the right moment.

Why Scheduled Product Price Changes Beat Discount Codes

Both approaches can produce the same net price for the customer. But they're not equivalent from a business perspective.

Google Shopping and Meta catalog feeds pull product prices from your Shopify product data, not your discount codes. If your product is listed at $89 but has a 20% discount code, Google Shopping will show $89. If the product price is actually changed to $71.20, Google Shopping shows $71.20. For sale-focused advertising, actual price changes in the product record are far more effective.

Conversion psychology. Showing a struck-through original price ($89.00 ~~$89.00~~ now $71.20) is more compelling than showing a full price and asking customers to enter a code at checkout. The visual impact of a sale price is lost when the listed price never changes.

Reporting accuracy. Revenue reports look different depending on whether a sale is implemented as a discount vs. a price change. For COGS-based margin reporting, actual price changes give you accurate sale-period margin data.

Stacking risk. Discount codes can stack with automatic discounts if not carefully configured. Price changes don't stack — the price is what the price is.

How Scheduled Price Changes Work in Practice

A scheduled price change workflow has four components:

1. Product selection. Define which products the price change applies to. This might be your entire active catalog, a specific collection (e.g., "Summer Apparel"), products tagged with "on-sale", or products meeting a specific criterion (e.g., active products with margin over 40%).

2. Price change rule. Define how prices change. Options:

  • Flat percentage: reduce all prices by 25%
  • Fixed amount: reduce all prices by $10
  • Formula: set price to cost × 1.5 (to maintain a specific margin even during sale)
  • Specific prices: product A goes to $X, product B goes to $Y
3. Schedule. Set the start datetime and end datetime. Include timezone — this is where errors happen when it's not explicit.

4. Revert behavior. Decide what happens at the end. Options:

  • Auto-revert to pre-campaign prices (most common)
  • End at the new price (for permanent price drops)
  • Transition to a different campaign price
Auto-revert is the feature that eliminates the midnight rollback problem. You set it when you schedule the campaign. When the end time hits, prices revert automatically to what they were before the campaign started.

Common Scheduling Scenarios and How to Handle Them

Weekend flash sale:

  • Products: All active products, margin above 25%
  • Change: 20% reduction
  • Start: Friday 6:00 PM EST
  • End: Sunday 11:59 PM EST
  • Revert: Auto-revert to original prices
Setup time: 15 minutes on Wednesday. Execution: automatic. Manual work required: 0.

Holiday season sale (BFCM style): Multiple campaigns running simultaneously:

  • Campaign A: Footwear — 30% off, Black Friday through Cyber Monday
  • Campaign B: Accessories — 20% off, full BFCM weekend
  • Campaign C: New Arrivals — excluded, no change
Each campaign runs its own schedule with auto-revert.

Seasonal end-of-season clearance:

  • Products: Items tagged "winter-2026" with margin above 15%
  • Change: 35% reduction
  • Start: March 1, 12:00 AM
  • End: March 31, 11:59 PM (or until sold out)
  • Revert: Permanent price drop (no revert needed — clearance items either sell or get archived)
New product launch at intro pricing:
  • Products: Newly launched product with tag "new-spring-launch"
  • Change: Set specific intro price ($79 instead of standard $99)
  • Start: Launch day
  • End: 2 weeks post-launch
  • Revert: Auto-revert to $99 standard price
This creates a sense of urgency at launch without the campaign running indefinitely.

Scheduling Best Practices

Always specify timezones. "Midnight" is ambiguous. "12:00 AM Eastern" is not. For any schedule involving US customers, Eastern midnight (12:00 AM ET) is typically when sale events are expected to start.

Pad your schedule. Set end times a few minutes before the hard deadline. If your sale officially ends "at midnight," set the campaign end for 11:58 PM. Processing takes time, and you'd rather revert slightly early than slightly late.

Test on a small batch first. For any new scheduling setup, pick 5–10 products and run a test campaign with a 5-minute duration. Verify that prices changed correctly and reverted correctly before scheduling it across 500 products.

Document your campaigns. Keep a log of what campaigns are running, when they start/end, and what products they cover. When something looks off, you need to be able to look up what was scheduled without hunting through an app dashboard.

Check for campaign conflicts. If two campaigns overlap on the same products, you may get unexpected results. Either campaigns execute in sequence (which might not produce the result you want) or they conflict. Ensure your campaigns are designed to be mutually exclusive on the same product sets.

What Happens When a Campaign Doesn't Revert?

Failure to auto-revert is the most expensive scheduling error. Products stay at sale prices indefinitely, eroding margins on every sale until someone notices.

How do you catch this quickly?

  • After every campaign end time, spot-check 5–10 products to confirm prices reverted.
  • Set a calendar reminder for 30 minutes after each campaign end to verify.
  • Monitor your average margin in analytics — a sudden drop without a new campaign running is a signal that something didn't revert.
BulkOps's Campaigns feature is designed for exactly this: create time-bound catalog price changes with a defined start time, end time, and auto-revert behavior. You can filter by collection, tag, or margin level to define exactly which products the campaign covers. Once scheduled, the campaign runs without manual intervention at launch or at revert — which is the whole point.

---

Schedule your next sale campaign in 15 minutes and never stay up until midnight again. Try BulkOps free.

shopify scheduled price changesshopify schedule sale priceshopify automate price changeshopify price schedule

Try BulkOps free on your store

Everything covered in this article is built into BulkOps. Free plan for stores up to 50 products — no credit card required.

Add to Shopify — Free

Was this helpful?