Ready to maximize your revenue?Book a Demo
TOPCODE
Launchpad

Automating flash sales with Shopify Plus Launchpad

Last updated on June 2, 2026

Automating flash sales with Shopify Plus Launchpad

TOPCODE

Flash sales are a high-stakes operation. You have a narrow window — often 24 to 72 hours — where a wave of customers hits simultaneously, prices drop, a new theme creative goes live, and one missed step can mean selling out of inventory at the wrong price or serving a broken storefront to your peak traffic. Shopify Plus Launchpad exists to turn that manually-coordinated chaos into a scheduled, auditable event that runs without a human in the loop at 3 AM. After working with dozens of Plus merchants through seasonal sale campaigns, we have formed strong opinions about when Launchpad shines and where its edges lie.

What Launchpad actually is

Launchpad is a Plus-exclusive app (built and maintained by Shopify) that lets merchants schedule a bundle of coordinated store changes to activate and deactivate at specified times. It is not a campaign builder in the marketing sense — it does not send emails or manage ad spend. It is a state change orchestrator: at time T, make these changes to the store; at time T+N, reverse them. Think of it as a cron job with a GUI, deep Shopify API integration, and a real-time activity log. Unlike a custom automation or a Shopify Flow workflow, Launchpad is specifically designed for the "event" use case: a discrete window of time where multiple coordinated store changes need to fire reliably at precise moments.

The event model is simple: each Launchpad event has a start time and an optional end time. At the start time, Launchpad executes its action list in sequence. At the end time, it executes the corresponding revert actions. If no end time is set, the changes persist indefinitely — useful for product launches where you want the new theme to stay live, but not useful for flash sales where you need automatic price reversion. You can create multiple events with overlapping timelines as long as their action sets do not conflict; Launchpad will warn you of conflicts during event creation, but it is your responsibility to resolve them.

Launchpad actions execute sequentially within an event, not in parallel. This means the total execution time for a complex event (5+ actions) can take several seconds. For most merchants this is imperceptible. For a high-traffic limited drop where buyers are refreshing the page at exactly the sale start time, a 10-second execution window matters — be aware that theme publication, in particular, can take 3-5 seconds on stores with large theme files.

Supported actions

Launchpad supports six categories of store changes. Understanding what each does — and does not — cover is essential for planning events that behave as expected.

  • Theme swap: publish a specific theme version (not just the active theme — a named preview theme you have prepared in advance). At event end, Launchpad republishes the pre-event theme. This is the most impactful Launchpad action because it enables a completely different visual identity for the sale window without any manual deployment steps.
  • Discount activation: enable and disable specific discount codes or automatic discounts. Launchpad does not create the discount — you create it in advance in the Discounts section and set it to inactive, then Launchpad toggles its active state at event start and deactivates it at event end. This works with both legacy discount code discounts and modern automatic discounts (including Functions-powered discounts).
  • Script activation (legacy): enable and disable Shopify Scripts. Note: Scripts are deprecated in favour of Shopify Functions. Launchpad still supports Scripts for existing Plus stores through the deprecation window, but new promotional logic should be implemented as Functions-backed automatic discounts, which also work with Launchpad's discount activation action.
  • Sales channel publication: publish or unpublish specific products to a sales channel on a schedule. Useful for product launches where you want inventory to go live at a precise time — midnight Pacific on a product drop, for example. Combine with inventory management to release exactly the right unit quantity at launch.
  • Inventory management: set specific inventory quantities for products at event start. Used for limited drops where you want to release exactly N units and sell out intentionally, creating scarcity. The inventory value set by Launchpad replaces (not adds to) the current inventory — make sure your actual stock is committed before setting this value.
  • Price changes: bulk update compare-at prices and sale prices for selected products or collections. Launchpad records the pre-event prices so it can accurately restore them at event end. This is the cleanest way to run a "was $120, now $89" sale display without manually editing hundreds of products and then editing them back.

A real-world flash sale playbook

Here is a concrete event configuration for a 48-hour sitewide sale event at a Plus apparel brand. All preparation steps happen in the week before the Launchpad event — rushing asset preparation is the single biggest source of flash sale failures we see in the field.

  1. Prepare a sale theme. Duplicate your current live theme in the Themes section. Apply sale-specific customizations (promotional banner section, countdown timer, sale badge metafield logic, hero creative swapped to campaign imagery) to the duplicate. Preview it thoroughly across mobile, tablet, and desktop. Do NOT publish it yet — Launchpad will do that at start time.
  2. Create the discount. Build a 20%-off automatic discount in Discounts, set it to Inactive status. If using a Functions-powered discount, deploy the Function first, then create the discount pointing to it and set it inactive. Test that it applies correctly in a draft checkout before the event.
  3. Build the Launchpad event. Set start time (e.g., Friday 00:00 PST), end time (Sunday 23:59 PST). Add action: Theme → publish your sale theme. Add action: Discount → activate your 20%-off automatic discount. Optionally add price change actions for compare-at prices on hero products to display strikethrough pricing.
  4. Pre-load theme assets. High-resolution hero images and video assets in the sale theme should be pre-loaded 24+ hours before go-live. Shopify CDN caches assets on first request; a cold cache on a flash sale start is a severe performance problem. Request every key URL in your sale theme manually using curl or a synthetic monitoring script 24 hours before the event.
  5. Monitor the activity log. Launchpad writes a timestamped activity log for every action executed. Have someone watching it for the first 15 minutes after start time. Most action failures show up immediately as API errors in the log. Common failure: the theme file was modified after the Launchpad event was created, causing a version mismatch — always lock the sale theme from edits once the Launchpad event references it.

Gotchas that burn experienced merchants

A second common failure: theme asset cache warming. When Launchpad publishes a new theme at event start, every returning and new visitor requests all CSS, JS, and image assets cold. Without a warmup, you can see 5-10 second page loads in the first few minutes of peak traffic even on Shopify's CDN. The mitigation: use a simple warmup script that requests key pages of your sale theme 24 hours before the event — the CDN caches the assets at edge nodes. Alternatively, use a third-party synthetic monitoring service that supports CDN warming.

Third: conflicting discounts. If you have always-on automatic discounts running (e.g., a loyalty app that applies a 5% member discount via a Function), confirm how it stacks with the event discount before the event goes live. Shopify's discount stacking rules apply at checkout: by default, automatic discounts stack unless you have configured them to use a FIRST strategy. A sitewide 20%-off automatic discount layered on top of a loyalty 5% can produce unintended 25% off outcomes on orders that technically have a maximum combined margin floor.

Fourth: Launchpad does not handle checkout-in-progress orders. When an event ends and prices revert, any order that was in checkout when the reversion fires will complete at the original sale price — Shopify locks checkout prices at the time the checkout was initiated. This is generally the desired behaviour (honoring prices that buyers were presented) but can cause confusion when your financial team sees a few orders at event pricing placed several minutes after the event officially ended.

Launchpad and Shopify Flow: using them together

Launchpad and Shopify Flow are complementary, not competing, tools. Launchpad handles time-based store state changes; Flow handles event-driven automation triggered by order events, customer actions, or inventory changes. A common combined pattern: use Launchpad to activate the sale and fire the theme swap at event start, and use a Flow workflow to automatically tag all orders placed during the event window (detected via a custom metafield that your sale theme sets as a cart attribute) for downstream reporting. This gives you a clean dataset of "sale event orders" without manual tagging.

Takeaway

Launchpad is genuinely powerful for any Plus merchant running time-bounded promotional events. The key to using it well is treating it as a discipline, not just a tool: prepare assets at least 48 hours early, QA the sale theme in a preview before scheduling, confirm timezone alignment in writing with every stakeholder, warm the CDN cache before go-live, and monitor the activity log at event start. Merchants who build Launchpad into their promotional calendar as a standard operating procedure stop dreading flash sales and start running them profitably as a repeatable growth lever. Those who treat it as a last-minute tool continue to have the same timezone incidents and cache performance problems every quarter.

Founder & Engineer

Rico Tan

Keep reading