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.
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)
- •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
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
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
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
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
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)
- •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
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.
---
Schedule your next sale campaign in 15 minutes and never stay up until midnight again. Try BulkOps free.
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 — FreeWas this helpful?