PrestaShop already lets you run a flash deal. You open Catalog → Discounts (or the Prices tab on a product), set a specific price with a "from" and "to" date, save, and that product is on sale for exactly the window you chose. So why build a module for it? Because doing it once is trivial, and doing it on a schedule, across a rotating set of products, with a visible countdown and an automatic return to the regular price, every day, without ever forgetting to end one, is the part that quietly falls apart. Sales Revolution is the broader sales and revenue module we built, cross-sell, upsell, bundles, campaigns and limited deals, and automated flash deals are one of the capabilities it handles, taking that repetitive operational work off your desk. This post focuses on that flash-deal side: what it does, where it fits against PrestaShop's native discounting tools, and how to run a flash-deal program that doesn't eat your week.

Sales Revolution admin dashboard showing campaign clicks, conversions, revenue and active scheduled deals in one place

What PrestaShop gives you out of the box, and where it stops

It's worth being honest about what the platform already does, because Sales Revolution sits on top of these tools rather than replacing them. PrestaShop has two native discounting mechanisms, and they behave differently:

  • Specific prices (Product → Prices tab, or Catalog → Discounts): a price override on a product or combination, optionally scoped to a customer group, country, currency or quantity, and optionally limited to a date range. This is the right tool for "this product is 25% off from Friday 9am to Sunday midnight", the discount shows on the product page and in the cart automatically, with the crossed-out original price.
  • Cart rules / vouchers (Catalog → Discounts → Cart rules): codes or automatic rules that apply at the cart, with their own validity window, usage limits and conditions. Better for "spend €50, get free shipping" or a coupon you email out, not for a per-product flash price.

For a flash sale, the specific price is the correct primitive. The catch is the start and stop dates. PrestaShop will happily activate and deactivate a dated specific price on its own, but only if you created it correctly, only for the products you remembered, and only until the window ends, at which point nothing queues the next deal. There is no native rotation, no native countdown badge on the storefront, and no native "pick ten products that match these rules and feature them." That gap is the whole reason flash-deal programs get abandoned by week three. If you want the full grounding on cart rules versus specific prices first, we wrote it up separately in running a sale in PrestaShop.

Why flash deals are worth the effort

The mechanism is simple: a genuine time limit changes how people decide. A discount that's available indefinitely invites "I'll think about it"; the same discount with a real deadline turns the decision into "now or never." Industry write-ups consistently report that time-limited promotions convert better than the same discount left running open-ended. Figures get thrown around (often a multiple of the baseline rate), but treat those as directional rather than a promise. The honest version is: the time constraint does real work, and how much it does for your store depends on your traffic, your margins and how credible the deadline looks. The deeper point (that this only holds when the urgency is real) is important enough that we gave it its own article: flash sales without being manipulative. The short rule from it: when your countdown hits zero, the price must actually go back up.

The manual approach, and exactly where it breaks

Run a single flash sale by hand and it's fine. Here's what a recurring program actually requires:

  1. Create a dated specific price for each product (Prices tab, set "from" and "to").
  2. Get the exact start and end times right, and remember PrestaShop uses your shop's configured timezone, not the customer's.
  3. Feature the deal somewhere visible, the homepage, a category page, a badge.
  4. Send the announcement at the right moment, not an hour late.
  5. Watch the sale in case something's mispriced.
  6. Confirm the regular price came back when the window closed.
  7. Do it all again for the next deal.

Two things break first. The obvious one is volume: by the third week of a daily deal you've either made a pricing mistake or stopped running deals because the overhead swallowed everything else. The subtler one is timing precision, if a deal is meant to end at 6pm and you're in a meeting, it stays discounted until you get back. PrestaShop's dated specific prices fix that second problem on their own; what they don't fix is the queue, the rotation, the countdown on the storefront, and the product selection. That's the work Sales Revolution automates.

What an automated flash-deal system has to handle

Before describing the module, here's the spec it had to meet. The four jobs that have to run without you in the loop:

  • Product selection. Pick the right products by rule, category, price band, stock level, margin, exclusions, not at random, and not products you never want discounted.
  • Price management. Apply the discount at the scheduled start and restore the original price at the end, with no manual toggling. (Under the hood this is still a PrestaShop specific price, so the storefront, cart and invoices behave exactly as the core expects.)
  • Storefront display. Surface the deal prominently, countdown timer, discount badge, optional stock indicator, and keep it updating as the clock runs.
  • Rotation. When one deal ends, start the next in the queue automatically, so the program keeps moving on its own.

How Sales Revolution does it

Sales Revolution is configured once and then left to run. It does the four jobs above from your back office, no theme edits, no developer invoice. Here's what each part means in practice:

Rule-based product selection. Define which products are eligible by category, price range and stock level, and maintain an exclusion list for anything that should never be discounted (full-margin lines, brand-restricted items, fresh arrivals). The system pulls from the matching pool and skips products that have dropped below your stock threshold. You decide the policy once; you stop hand-picking products every morning, and you stop accidentally discounting the one product your supplier forbids you to discount. If you haven't drawn that "never on sale" line yet, discount exclusion is the article to read first.

Automated scheduling and rotation. Set a pattern, daily deal, a few-hour rotator, a weekend flash, a category-per-day spotlight, or your own schedule, and the module activates each deal at its start time, shows the countdown, and restores the regular price when the window closes. The scheduled task handles the 6pm deadline on its next run whether or not you're at your desk, and the next deal is already queued. This is the same problem scheduled discounts covers at the single-promotion level, Sales Revolution applies it to a continuous rotation.

Configurable storefront display. Deals appear where you place them, homepage, category pages, a dedicated deals page, with a live countdown and a discount badge, so customers can see how long is left and how much they're saving without you touching a template. The urgency is visible at the point of decision, not buried on a single product page.

Performance data. The module tracks deal and campaign performance so you can review what worked and tighten the rules over time. The program gets more efficient the longer it runs, instead of staying a guess.

One detail worth getting right: schedule the deal switch on cron, not on page views

For deals to start and end on time without you in the loop, the activation/deactivation has to be driven by a scheduled task, not by the next visitor happening to load the page. If price changes only fire when someone browses, a quiet hour leaves a deal stale past its window. Make sure your store's cron is actually calling the task at a sensible interval. A five-minute cadence is plenty for deals measured in hours. PrestaShop's own scheduled-task plumbing (the ps_cronjobs module, or a real server cron hitting the task URL) is what drives this; the practical rule is to confirm the cron is firing before you trust a 6pm deadline to close on its own.

Choosing the discount depth and window

A flash deal's depth and length should match each other, a steep discount earns a short window, a light one can run longer. As a starting frame, not a law:

Discount depthSuggested windowWhy
Deep (40%+)A few hoursThe value is high, so the pressure should be high too. Short windows read as "this won't last."
Moderate (20–35%)Half a dayLong enough for the deal to spread by email and share, short enough to still feel urgent.
Light (15–25%)A full dayWorks as a "daily deal" that builds a return-visit habit without hour-by-hour monitoring.

One pattern worth knowing: a large share of flash-sale orders tend to arrive early in the window, so the announcement needs to go out before or at launch, not afterwards. Whatever the exact split is for your store, the principle holds, a late announcement wastes the part of the window that converts best.

A four-week way to start

If you've never run a recurring flash program, start small and let the data lead:

  • Week 1, test. Pick 5–10 products with healthy margins. One daily deal, 24-hour window, around 20–25% off, homepage only, one email per deal. Track page views, add-to-cart rate, conversion and revenue.
  • Week 2, add frequency. Two deals a day on a 12-hour window, 25–35% off, plus a dedicated deals page. Compare the same numbers against week 1.
  • Week 3, optimise. Look at which products, depths and time slots won. Lean into those. Try one short, deeper deal to gauge how your audience responds to real time pressure.
  • Week 4, scale. Lock in a rotation based on three weeks of evidence, set the selection rules so it runs on its own, and watch the monthly numbers: flash revenue, average discount cost, repeat-customer rate.

The metrics that tell you it's working

Not every flash-sale number is equally useful. The ones worth watching:

  • Revenue relative to discount cost. €500 at 40% off can be worth less than €400 at 20% off. Judge the deal on margin, not the headline figure.
  • Sell-through. If you sell out within the first hour every time, the deal is too generous, shorten it or trim the discount. If little moves, the selection or the depth is off.
  • New vs returning buyers. Flash deals should pull in first-time customers. If only your existing base is buying, you may be training loyal customers to wait for discounts instead of paying full price.
  • Return rate on flash items. Impulse buys come back more often. A noticeably higher return rate on deal items is a sign the urgency is outrunning the product's real appeal.
  • 30-day repeat purchase. The one that separates a good program from a margin leak. Do flash buyers come back to buy at full price? If yes, the deals are doing their acquisition job.

Where flash deals fit in a bigger promotion plan

Flash sales are one layer, not the whole strategy. They're best at acquisition and attention; other tools carry retention and conversion. A few that pair naturally:

Several red SALE tags scattered on a dark background

  • Seasonal planning. Flash deals land harder when they ride a calendar moment, Black Friday, back-to-school, the post-holiday lull. Map your year first with the seasonal sales calendar, and for the big one specifically see Black Friday prep: automating discounts and promotions.
  • Bundling. A flash price on a bundle protects margin better than discounting a single hero product. Product bundling covers how to group products so the deal moves slow-stock alongside the popular item.
  • Gift cards and vouchers. Pair a flash window with a voucher, or sell gift cards as the deal itself during gifting seasons, a digital product with no shipping and no stock cap.
  • Promoting it without a designer. The deal still needs a banner. Banner Revolution handles the storefront promo art so you're not waiting on design for a sale that starts tomorrow.

The one rule that keeps it sustainable

Flash sales work on urgency, urgency works on trust, and trust needs the deal to be real. When the countdown hits zero, the price goes back up. If it says "only a few left," there are only a few left. The discount is a genuine cut from the genuine price, not an inflated "before" number. Automation makes this easier to honour, not harder: because Sales Revolution ends each deal on schedule and restores the original price automatically, you're far less likely to leave a stale "sale" running long after the window should have closed. Build the program on honest offers and real deadlines, hand the repetitive part to the module, and you keep both the urgency and the customer relationship that makes it pay off more than once.

Frequently asked questions

Does Sales Revolution replace PrestaShop's native discounts, or sit on top of them?

It sits on top. The discount it applies for a flash deal is still a standard PrestaShop specific price, so the crossed-out original price, the cart total and the invoice all behave exactly as the core expects. The module's job is the layer the core doesn't have, recurring deal scheduling, rotation, the storefront countdown, and rule-based product selection, not a parallel pricing engine you'd have to trust over PrestaShop's own.

Do the deals start and stop on their own if I'm not logged in?

Yes, as long as your store's cron is running. The activation and restore are driven by a scheduled task, not by a visitor loading the page, so a 6pm deadline is handled on the next task run whether or not anyone is browsing. Confirm your cron (a server cron hitting the task URL, or the ps_cronjobs module) is firing at a sensible interval, every few minutes is enough, before you rely on an unattended rotation.

Can I stop specific products from ever going on sale?

Yes, that's the exclusion list. You maintain a set of products (or whole categories) that the selection rules will never pull into a deal, which is how you protect full-margin lines, brand-price-controlled items and fresh arrivals. The selection also skips anything that's dropped below your stock threshold, so you don't discount what you can't fulfil. The discount exclusion article covers where to draw that line.

Will the countdown timer slow my storefront down?

The countdown runs client-side, so it doesn't add server work per page. As with any front-office widget, keep an eye on layout shift where the badge renders and serve it from your normal asset pipeline. The display attaches through standard hooks rather than theme edits, so it survives a PrestaShop upgrade instead of breaking with it.

Which PrestaShop versions does it support?

Sales Revolution targets PrestaShop 1.6 through 9.x from a single codebase, the same approach we use across our catalogue, with no separate version-specific builds. As always, test on a staging copy before enabling a continuous rotation on a live store, and verify the cron is firing there too.

How deep should a flash discount be?

Match the depth to the window: a steep cut (40%+) earns a short, few-hour window because the pressure should match the value, while a light 15–25% cut can run a full day as a daily-deal habit. The table above is a starting frame, not a rule. Judge each deal on margin relative to discount cost rather than the headline percentage, and let three weeks of your own data settle the pattern.

David Miller

David Miller

Founder, mypresta.rocks
About the author

David Miller is a PrestaShop specialist with over a decade of hands-on experience and the founder of mypresta.rocks, a software studio in Tychy, Poland. He builds and maintains a catalogue of 159 PrestaShop modules, including 21 "Revolution" suites spanning SEO, checkout, security, performance, marketing, search, support, and warehouse operations, that improve real stores every day, all tested against PrestaShop 1.7.8, 8.x, and 9.x. He also looks after live production stores, so his work is judged on real sales, not demos. His experience runs the full breadth of ecommerce, performance, security, SEO, and marketing, and reaches beyond PrestaShop to WooCommerce, Shopify, and custom-built systems. On the blog he writes about the code-aware side of PrestaShop: what the platform really does under the hood, what breaks in production, and which fixes hold up.

Share this post:

Comments

No comments yet. Be the first!

Enjoyed this article?

Get our latest tips, guides and module updates delivered to your inbox.

You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.

Loading...
Back to top