Loading tutorials…
Loading tutorials…
Launchpad lets Plus brands schedule the entire choreography of a sale — theme swap, discount activation, product availability, Script toggle — to a single launch time. The alternative is staying up till midnight clicking buttons.
Who this is forShopify Plus brands running scheduled campaigns: Black Friday, product launches, flash sales, theme swaps. Anyone whose ops team has stayed up till midnight to toggle a discount on.
What you'll need
Step 1
Launchpad is a free Plus app. Each "event" is a scheduled set of changes that activate at a specific time and deactivate at another.
Shopify Admin → Apps → search 'Launchpad' → Install. Plus-only and free.
Open Launchpad. The main view: list of events (past, scheduled, live). Each event has: start datetime, end datetime, set of changes.
Changes an event can perform: enable/disable discounts, swap themes, change product availability (publish/unpublish), enable/disable Scripts (legacy) or Functions, change collection sort order, update metafields.
Mental model: an event is a 'scene' for your store. Pre-scene = current store. Mid-scene = sale active. Post-scene = sale ended, theme swapped back.
Each event must have both start and end times. The end activates the rollback (e.g., disable the discount after the sale).
Step 2
Before configuring Launchpad, write down every change the campaign needs: theme, discount, products, scripts. Time-sequence them.
Open a doc. Title: 'Campaign: [Name] — [Date].' List in chronological order: T-7d (announce), T-1d (warm cart, retargeting), T-0 (sale starts), T+72h (sale ends), T+96h (cleanup).
For each timestamp, list every change: discount toggles, theme swap, products published/unpublished, banner ads on, banner ads off, email send.
Identify Launchpad-eligible changes (in-store): discounts, theme, products, Scripts/Functions, metafields, collections.
Identify NON-Launchpad changes (external): email sends, paid ad campaigns, social posts. Schedule those separately in Klaviyo / Meta Ads Manager.
Map the changes to one or more Launchpad events. Common pattern: Event 1 = warm-up (banners on, products published), Event 2 = sale active (discount on, theme swapped), Event 3 = cleanup (discount off, theme reverted).
Step 3
Launchpad triggers existing discount codes — it doesn't create them. Build the discount in admin first, leave it inactive, then schedule it via Launchpad.
Shopify Admin → Discounts → Create discount → Discount code or Automatic discount.
Configure: code (if applicable), discount amount/percentage, eligibility (all customers, specific segments, B2B Companies, etc.), combinations, minimum spend.
IMPORTANT: leave the discount INACTIVE (toggle off). Launchpad will activate it at the scheduled time.
Test the discount: in a sandbox, manually activate, run a test order with the code, verify it applies. Then deactivate again.
For complex discounts (volume-tiered, conditional), build a Shopify Function instead. Launchpad can enable/disable the Function the same way it does code-based discounts.
Step 4
Launchpad can swap themes. Build a "Sale" theme variant in advance, in your live theme library but not published.
Shopify Admin → Online Store → Themes → Add theme → Duplicate your current theme. Name the duplicate: 'BFCM 2026' or 'Spring Sale.'
Open the duplicate in Customize. Edit: hero banner ('Black Friday 30% off everything'), product page badges, navigation links, color scheme, footer copy.
Save. Do NOT publish — leave the variant as a draft theme.
Test: in sandbox, publish the variant manually, browse the store, verify the campaign appearance.
Note the theme ID — you'll need it in Launchpad.
Step 5
Launchpad → Create event. Set start datetime, end datetime, and the list of changes.
Launchpad → Create event. Name the event ('BFCM 2026 — Main Sale').
Set Start date/time and End date/time. Use the EXACT timezone you intend (e.g., 11:59pm PT for a PT-based brand).
Add changes for start: 'Activate discount: BFCM30,' 'Publish theme: BFCM 2026,' 'Publish collection: BFCM Featured,' 'Enable Script/Function: free shipping for BFCM.'
Add changes for end: 'Deactivate discount: BFCM30,' 'Publish theme: Main 2026' (your normal theme), 'Disable Script/Function: free shipping for BFCM.'
Save the event. Launchpad shows it as 'Scheduled' with the start time.
Optional: layer additional events (Event 2: 'Final 24 hours' — adds urgency banner, doesn't change discount). Launchpad supports multiple concurrent events.
Step 6
Copy the event configuration to a Plus sandbox store. Schedule it 5 minutes in the future, watch it trigger, verify every change.
In your Plus sandbox, rebuild the same discount, theme variant, and Launchpad event — but set the start time for 5 minutes from now.
Wait. At the start time, watch the store: theme should swap, discount should activate, products should publish.
Run a test purchase. Verify: discount applies, theme renders correctly, free shipping triggers if you set that up.
Wait for the end time. Verify everything rolls back: theme reverts, discount deactivates.
If anything didn't work, fix in admin, re-test the event (delete + recreate, or edit the same event).
Only after sandbox passes: replicate the exact same event in production.
Step 7
Production Launchpad event ready. Set monitoring so you know if it triggered correctly without staying up to watch.
In production Launchpad: create the same event. Triple-check start time, end time, all listed changes.
Set up monitoring: configure an alert via Better Uptime, Pingdom, or Datadog to check a specific URL at the start time — e.g., your campaign landing page should show 'BFCM 30% off.' If it doesn't, alert.
Schedule a backup human: someone on call at the launch time to manually intervene if Launchpad fails (rare but possible).
Pre-stage email sends in Klaviyo + paid ads in Meta/Google. Don't tie email send to Launchpad — too many failure modes.
At launch time: monitor. Verify the alert fires green. Spot-check storefront, admin, checkout. Run a real test order.
Post-campaign: Launchpad shows event history. Confirm the event ended correctly. Audit the discount usage report to spot anomalies.
Common mistakes
Forgetting the end action
What goes wrong: Discount activates at midnight, never deactivates. Sale meant to end at 11:59pm Sunday is still live Monday morning. Loss: 1-3 days of unintended discounts. On a $50K/mo store, that's $500-1,500 in margin given away.
How to avoid: Every Launchpad event MUST have both start and end actions. Use a checklist when creating events.
Wrong timezone on the start/end time
What goes wrong: Set 'midnight EST' but timezone is UTC. Sale activates 5 hours early or late. Customers email confused. Worst case: discount goes live in a region while you're asleep, runs for 12 hours unmonitored.
How to avoid: Double-check timezone on every event. Always specify timezone explicitly in the event name (e.g., "BFCM 2026 — 12am PT start").
Not testing in sandbox first
What goes wrong: Theme swap breaks on production at midnight — missing image, broken Liquid, JavaScript error. Storefront shows a half-rendered page for the entire sale. Revenue impact: 30-80% of campaign sales.
How to avoid: Always test the full event in sandbox 24-48 hours before the production launch. Sandbox is free, mirrors production.
Manually toggling things at midnight "to be safe"
What goes wrong: Defeats the purpose of Launchpad. Increases human error (forgot to toggle X, toggled Y by mistake). Stresses ops team. The whole point of Launchpad is no-touch automation.
How to avoid: Trust the event after sandbox passes. Monitor (alerts) instead of staying up to click. If you don't trust Launchpad, the event isn't configured correctly — fix in sandbox.
Layering too many concurrent events
What goes wrong: Five overlapping events all toggling different discounts/themes. Conflicts emerge: Event A activates Theme X, Event B activates Theme Y at the same time. Storefront shows whichever loaded last — non-deterministic.
How to avoid: Keep events distinct in time. If you need concurrent changes, combine them into one event. Use at most 2-3 concurrent events.
Not pre-staging emails and ads outside Launchpad
What goes wrong: Trying to time email sends to Launchpad. Klaviyo and Meta have their own schedulers — when they're tied to Launchpad indirectly, one missed sync means the email goes out 2 hours late. Misaligned email + storefront = customer confusion.
How to avoid: Pre-stage all emails in Klaviyo with explicit send time. Pre-stage all paid ads in Meta/Google with explicit start time. Launchpad only handles in-store changes.
Recap
Done — what's next
How to set up Shopify Plus Flow automation
Read the next tutorial
Hand it off
BFCM and big launches are not the time to debug Launchpad. A Plus specialist who's run 20+ scheduled campaigns can plan, configure, sandbox-test, and monitor your campaign for $14-16/hr — typically $400-800 per major campaign. Cheap insurance against a $20K-200K BFCM weekend.
See specialist rates
Yes — Launchpad is a free app for Plus accounts. Install via the Shopify App Store. No usage fees, no per-event fees.
No. Launchpad handles in-store changes only: discounts, themes, products, Scripts/Functions, metafields, collections. For email, use Klaviyo's scheduler. For paid ads, use Meta/Google's campaign scheduler.
Rare, but possible. Launchpad shows the event status in real time — Scheduled, Live, Completed, Failed. Set up external monitoring (alert on a key URL) to detect a failure independently. Have a human on-call backup for high-stakes events.
Yes — multiple events can run concurrently. Avoid overlapping events that change the same resource (don't have two events both swapping the theme — they'll conflict). Use distinct events for distinct purposes.
Yes — Launchpad can publish any theme variant. For B2B, build a B2B-styled theme and schedule the swap via Launchpad. Markets-specific theme swaps work the same way.
Shopify Plus
Shopify Flow is the free Plus-included automation tool. Most brands install it, build one workflow, then forget about it. The brands that get value out of Flow build 10-20 workflows that run silently in the background.
Shopify Plus
Shopify Functions are the official Scripts replacement. They run server-side at checkout, written in JavaScript or Rust, deployed via CLI. Most Plus brands need 3-7 Functions to replicate their old Scripts. Here's how to build the first one.
Shopify Plus
On standard Shopify, checkout extensibility is mostly settings. On Plus, it's UI extensions, branding APIs, and Functions — code-deployed, version-controlled, infinitely flexible. The wrong setup is also infinitely expensive.
Shopify Plus
Most Plus brands rush into expansion stores for multi-country sales when Markets does it on one store. Same inventory, same customer database, same admin — with per-country pricing, currency, and tax. Here's the right setup.