Welcome to PreSet Promo
Thank you for choosing PreSet Promo
This guide covers every page of the app, with step-by-step instructions for the tasks that need them. Simple, self-explanatory settings are listed briefly so you can find them fast.
If your question isn't answered here, open Help & Support in the app (top right of every page) and send us a message — we're happy to help.
Use the menu on the left to jump to any section.
How PreSet Promo works
What PreSet Promo does
PreSet Promo runs time-limited promotions on your Shopify store: a sale, a holiday announcement, or both. You build a campaign once, and the app puts everything in place for its dates, then takes it all down again when it ends:
- A banner across the top of every page (or only the pages you choose), with your message, an optional countdown and an optional button.
- An automatic discount in Shopify that applies at checkout. Shoppers never type a code.
- Product-page touches for festive campaigns: a product badge, a delivery message, a gift-message field and add-to-cart button styling.
- Cart rewards (Power and Elite): a free-shipping progress bar and a free gift inside your cart. Flash campaigns can also add discount tiers (Power and Elite).
- A consolation offer (Power and Elite): a small follow-up discount for a few days after a flash sale runs to its end date.
- A shareable landing page for every campaign.
Campaign types
- Flash sale — an automatic sale with a banner. Works with every booster: cart rewards, tiered discounts, escalating offers (Elite) and a consolation offer.
- Festive — a holiday or event announcement with festive product-page touches. It has no discount of its own; you can show your own Shopify discount code on the banner and add cart rewards.
- Flash + Festive — both in one campaign: an automatic discount, festive product-page touches and optional boosters.
Plans at a glance
PreSet Promo has a free plan, Core, and two paid plans, Power and Elite. Power and Elite start with a 7-day free trial. Features that need a paid plan are marked in this guide. See Plans & Pricing for the full comparison.
Install the app
Install the app
- Open the PreSet Promo listing on the Shopify App Store and click Install.
- Approve the permissions. PreSet Promo reads your products, orders, discounts, shipping settings and markets, creates discounts, and adds one checkout rule (free gift protection). It never edits your theme files.
- The app opens on its Dashboard. You're on the free Core plan — nothing to pick, nothing to pay.
- Check your store email for "Welcome to PreSet Promo — your first campaign is 3 steps away". It has a one-click button to turn on the app embed.
Find your way around
PreSet Promo's pages are in the Shopify admin's left sidebar, under the app's name:
- Campaigns — every campaign, templates (Quick launch), the Planner, drafts, landing pages and the Danger zone.
- Calendar — your campaigns and upcoming holidays on a month grid, plus a calendar feed for Google, Apple or Outlook.
- Analytics — store-wide results and each campaign's performance.
- Plans — your plan and billing.
Click the app's name (PreSet Promo) to return to the Dashboard. Every page has a dark Help & Support button at the top right for the documentation, the FAQ and messaging support.

Turn on the app embed (required)
Your campaigns can't appear on your storefront until the PreSet Promo app embed is on in your theme. You only do this once.
- On the Dashboard, under 1 · Turn on the app embed in your theme, click Enable the app embed (or use Turn on the app embed in the welcome email).
- Your theme editor opens in a new tab with PreSet Promo already switched on under App embeds. Click Save.
- Return to the app. Within about 15 seconds the step changes to 1 · App embed is on — "Your theme is ready".
To do it by hand: Online Store → Themes → Customize → App embeds (left sidebar) → switch PreSet Promo on → Save.


Quick start — your first campaign in 3 steps
- Turn on the app embed (above).
- Launch a campaign. On the Dashboard, under 2 · Launch your first campaign, pick one of the three suggested events and click Activate. Or open Campaigns → Quick launch for all 176 templates, or Create campaign to build one from scratch.
- Check your storefront. Open your store and look for the banner at the top of the page. If today is inside the campaign's dates it's live now; otherwise it goes live on its start date.
Dashboard
Your Dashboard
Click the app's name in the sidebar to open the Dashboard. It changes once you have your first campaign.
Before your first campaign
A new store sees a short setup page, "Your storefront is quiet":
- 1 · Turn on the app embed in your theme — shows whether the embed is on, with an Enable the app embed button when it isn't.
- 2 · Launch your first campaign — three suggested templates (this month's events first, then next month's), each with Activate (creates the campaign, with its automatic discount if it has one — live now if today is inside its dates, otherwise scheduled) and Edit (opens the builder with the template filled in). Below them: Browse all 176 templates and Or build one from scratch.

Notices at the top
These appear only when they apply:
- Your storefront banner may be out of date — your latest changes didn't reach the storefront. Click Retry now. If it still fails, close and reopen the app from Apps in your Shopify admin, then retry.
- Your campaigns were paused by a plan change — a downgrade paused your campaigns. Click Review campaigns to resume, end or delete them.
- A Shopify discount may be overriding your campaigns (or "…is bigger than your campaign") — one of your own automatic discounts in Shopify can beat a live campaign at checkout — if the two aren't set to combine, Shopify applies only one of them. Pause the campaign, change the Shopify discount, or click Keep both to hide the notice.
- Your campaign is live, but shoppers can't see it. — the app embed is off while a campaign is live. Click Enable it in the Theme editor → and Save, or Dismiss for today.
- Your "Summer Sale" consolation offer is running, but shoppers can't see it. — the app embed is off while an ended campaign's consolation offer is running. Its discount still applies at checkout; turn the embed on so shoppers see the offer.
- "Summer Sale" starts in 3 days, but shoppers won't see it. — nothing is live, your next campaign that your plan can run is scheduled, and the app embed is off. The time adjusts (for example "starts in 5 hours"). Turn the embed on before the campaign starts.
- Cart bar on your theme: <theme name> — shows only if the cart bar was recently left out of your cart drawer or add-to-cart popup because it found no safe spot there (while a live or scheduled campaign has free shipping, a free gift or discount tiers). Ask us to fit it to your theme → opens Help. Dismiss hides it; it comes back only if something changes (a different theme, or the bar is left out again in a later week). It can't check a password-protected store.
Only one app-embed notice shows at a time, in that order, and dismissing one doesn't bring up the next. Each has Enable it in the Theme editor → (it opens in a new tab: switch the embed on and Save) and Dismiss for today. When you switch back to this tab, the Dashboard checks again and the notice goes away once it sees the embed is on. The check reads your public storefront, so these notices can't appear while your store is password-protected — if your store has a password, check the embed yourself in the Theme editor.

Overview
- The header shows today's date and time in your store's timezone, a Sync button to refresh, and Create campaign.
- Six tiles, on every plan: Live now, Upcoming (with when the next one starts), and this month's Impressions, Reached, ATC clicks and Revenue (attributed revenue, in your store currency). "This month" is your store's calendar month.

Live campaigns
One card per live campaign, with its type, a Live or Queued badge, when it started, and an Ends in countdown. A queued campaign shows "Waiting for a slot" and how many campaigns are ahead of it.
- Power and Elite show live counters: Impression · ATC Clicks · Orders. Core shows the dates and product scope instead.
- Buttons: View, Edit, Watch live (Elite), and ⋯ for Pause, End and Delete.

Running consolation offers
Power and Elite. Ended campaigns whose consolation offer is still running, with the date it ends. Use ⋯ to Edit consolation (its message) or Turn off consolation.
This week and Upcoming campaigns
- THIS WEEK — a seven-day strip (on screens wide enough) marking live and scheduled campaigns (one per day, by type), and a View calendar link.
- Upcoming campaigns — your next six scheduled campaigns, soonest first. The first one counts down with UP NEXT IN. With nothing scheduled, a link takes you to the templates.

Campaigns
The Campaigns page
Campaigns has six tabs: All campaigns, Quick launch, Planner, Drafts, Landing pages and Danger zone, plus a Create campaign button on the right. The Planner has its own section in this guide.
All campaigns
Find a campaign
- Click a status in the strip — All, Live, Scheduled, Paused or Ended — to filter. The Live cell also shows how many are queued; the Ended cell shows running consolation offers.
- Narrow further by Type, Category, or Search campaigns (by name).
- Sort by: Upcoming date (default), Most popular first, A to Z, Recently created, Revenue (high to low) (Power and Elite), or Needs attention — only campaigns with a problem to fix.
- Clear filters resets everything. The list shows 20 campaigns per page.

Read a campaign card
Each card shows the dates (in the campaign's own timezone), the discount % (fixed-amount discounts aren't shown here), whether it covers all or selected products, and a status:
- Live / Queued — live now, or in its dates but waiting for a free live slot. A queued campaign goes live automatically when a slot frees up.
- Scheduled — starts later. The next one to start gets an Up next countdown.
- Paused — switched off by you or by a plan change; resume it to run again.
- Ended — finished. It may also show Running consolation or Consolation queued.
- Held — needs its discount / over your plan's limit / built on a higher plan — due to start but blocked. See Troubleshooting.
- Code missing in Shopify — a Festive campaign shows a code that doesn't exist in your Shopify discounts yet.
- Built on a higher plan — the campaign uses a feature your current plan doesn't include. It can only be ended, deleted, or run again after an upgrade.
Card actions
- View opens the campaign's page. Edit opens the builder (not shown for ended campaigns or campaigns built on a higher plan).
- The ⋯ menu offers what fits the status: Pause, Resume, End (live or paused campaigns only), Delete, and for a running consolation Edit consolation and Turn off consolation. End and Delete ask you to confirm with a second click.
- End keeps the campaign with all its results and frees a slot on your plan. Delete removes the campaign and its results page; the sales it made still count in your store totals. A campaign can't be deleted while its consolation offer runs — turn the offer off first.
- To copy a campaign to next year or save it as a template, open it and use Reuse this campaign (see Campaign details).
End or delete many at once
- Click Select, then click the cards you want (or Select all N).
- Click End N or Delete N, then click again to confirm. Up to 100 at a time.
- The message afterwards lists anything skipped and why (for example, a scheduled campaign can only be deleted, not ended).
Plan limits on this page
- Open campaigns (live, scheduled and paused together): 3 on Core, 30 on Power, unlimited on Elite. Only ending or deleting a campaign frees a slot.
- If you're over the limit after a downgrade, a banner explains how many to end or delete. The End all N paused campaigns button ends every campaign a plan change paused, keeping their results.
Quick launch
Ready-made campaigns you can launch in one click.
- Template library — 176 built-in templates for sales events, major holidays, social-media days and awareness days, including three "any date" templates under Custom.
- My templates — campaigns you saved as templates (up to 20), shown as "N / 20".
Launch a template
- Open Campaigns → Quick launch.
- Pick the Year and a month in the month bar (or Custom). Narrow with Type, Category or search — search looks across the whole year.
- Check the card's run window ("Runs Nov 24 – Nov 27"). A template's campaign ends on the event date.
- Click Activate. If today is inside the window the campaign goes Live now; otherwise it's Scheduled for its start date. If the template has a discount, it's created in Shopify first.
- Changed your mind? Click Undo on the same card before you leave the page.
To adjust a template first, click Edit — the builder opens with everything filled in as a new campaign. Events that have already passed this year are dimmed and marked Passed.

Drafts
Save a new campaign you're still working on with Save as draft in the builder. Drafts don't run, have no discount and don't count toward your plan's limits.
- Continue editing reopens a draft in the builder. Launching it removes the draft.
- Delete removes it (click again to confirm). You can keep up to 10 drafts.
Landing pages
Every campaign gets its own shareable page on your store, plus one page that lists all current offers. Landing pages are included on every plan.
Share a landing page
- Open Campaigns → Landing pages.
- Under Landing page (All campaigns), click Copy link for the page that always lists what's live right now (yourstore.com/apps/preset-promo/campaign). Put it in your menu, emails or link-in-bio.
- Under Campaign landing pages, click Copy link on a campaign for its own page (yourstore.com/apps/preset-promo/campaign/campaign-name). Share it in emails, social posts or ads, or paste it as your banner button's Custom link (URL).
Choose which products it shows
- On the campaign's row, click Choose collection and pick the collection to showcase.
- Set Products to show (4 to 50; 12 by default).
- Click Save (or Save in the bar at the top). To go back to the default collection, click Reset, then Save.
If you don't choose a collection, the page shows the campaign's first targeted collection, or your full catalog when the campaign covers all products or only individual products.

What shoppers see on a campaign's link
- Live — the campaign's page: your message, the end date, the offer ("15% off · Sitewide" and "Applied automatically at checkout — no code needed"), and a grid of products with a View all products link. Products show their regular price; the discount is applied in the cart and at checkout.
- Scheduled — a "Coming soon" page with the campaign's name and start date. The offer and products aren't revealed yet.
- Ended with its consolation offer still running — "This sale has ended" with the offer shoppers can still use.
- Paused, queued, ended or deleted — "This offer isn't available right now", with a Browse products button.


Danger zone
Before you uninstall
The banner at the top reminds you that a live campaign's automatic discounts keep applying at checkout if you uninstall, because there's no app left to switch them off. Before uninstalling, end your live campaigns, or use Pause all live campaigns or Delete all campaigns below. A running consolation offer also keeps discounting — turn it off, or use one of the two buttons below, which stop it too.
Emergency kill switch
Pause all live campaigns pauses every live campaign at once: all their discounts stop (the sale, free shipping, free gift and tier ladder) along with any running consolation offer, and banners disappear from your storefront within minutes. Campaigns stay saved and can be resumed one by one. Click again to confirm.
Scheduled campaigns aren't paused — they still start on their dates. Pause or delete them individually if they shouldn't.
Delete all campaigns
Permanently deletes every campaign and all analytics, including store totals kept from campaigns you deleted earlier. Every discount the app created in Shopify is removed first. Your drafts and saved templates are kept. Type DELETE in the box, then click Delete all campaigns forever. This can't be undone.

Create or edit a campaign
Open the builder
- Create campaign (Dashboard or Campaigns) starts a blank campaign.
- Edit on a template, a campaign or a draft opens the builder with everything filled in.
A blank campaign starts with Select a campaign type: choose Flash sale, Festive or Flash + Festive and click Continue. You can go back with ← Change campaign type until the campaign starts.

The builder has two tabs, Campaign basics and Boosters. On the right, the LIVE PREVIEW shows exactly what shoppers will see and the CAMPAIGN SUMMARY lists your settings.

Campaign name
- Campaign name — up to 50 characters. For a store-wide Flash sale, shoppers see it at checkout in the discount label ("20% off — Black Friday").
- Emoji (optional) — shown as a small round stamp at the start of the banner. Click the field for a searchable palette. Leave it blank for no stamp.
Schedule
- Check the Timezone (your store's timezone by default). The campaign starts and ends in this timezone.
- Pick the Start date and End date.
- Adjust the Start time and End time (00:00 and 23:59 by default). If you start today, the start time begins at "now".
The campaign's duration is shown in the summary on the right. Once a campaign has started, its start date, start time and type are locked; you can still change the end.
Discount and regions
Flash sale and Flash + Festive. (Festive shows Products and regions here, without the discount.)
Discount
- Choose the Discount type: Percentage, Fixed amount, or None — rewards & tiers only (Power and Elite; the offer then comes only from boosters).
- Enter the Discount % (1–99) or the Discount amount (in your store currency).
- Optionally set a Minimum purchase. The banner doesn't show the minimum, so mention it in your message.
The discount is created automatically in Shopify at the value you set and removed when the campaign ends — nothing for shoppers to type.
Which products
- Apply campaign to: All products, or Specific collections or products (every plan). Click the Collections and Products cards to pick in Shopify's picker — up to 100 of each. A ⚠ on an item means it's already in another campaign.
Which countries (Power and Elite)
- Geolocation targeting: Worldwide (or All markets), Specific countries, or Worldwide except…. Only shoppers in the countries you target see the campaign and get its discount — with Worldwide except…, shoppers in the countries you pick don't. On Core this is locked and campaigns show worldwide.

Banner visibility
Choose Show the banner on:
- Every page — with an optional Exclude link to leave out page types (Home, Collections, All product pages, Blogs, Blog posts, Cart, Search, 404) or content pages (your Pages and Policies) whose web address contains a keyword.
- Home page only.
- Where the campaign applies and Where the campaign applies, plus the home page — for campaigns on specific collections or products.
Only one banner shows on a page. If two campaigns want the same pages at the same time, the builder warns you and explains which one shows; the other waits and appears automatically when the first ends.

Banner
Message
- Write your Banner message (one line, up to 120 characters).
- Type {discount} where you want the offer to appear — it shows as a pill such as "20% OFF". The banner doesn't show the discount value anywhere unless you add {discount}.
- Use the toolbar for bold, italic, underline, strikethrough, text colour, highlight and Size. The Aa menu sets UPPERCASE, Capitalize Each or As typed.
Banner messages show in UPPERCASE by default. Choose Aa → As typed to keep your own capitals.

Your own code (Festive only)
Turn on Show your own Shopify discount code as a copyable chip and type a code you've already created in Shopify. The app checks it: "✓ Found in your Shopify Discounts" means you're set. Type {code} in the message to place the chip inside it; shoppers click it to copy. PreSet Promo never creates or changes this code.
Look
- Background — Solid (your 8 brand swatches, plus one custom colour) or Gradient (presets or your own colours and direction). Recolouring a swatch saves it as a brand colour for all future campaigns.
- Text color — Auto picks dark or light text to contrast with the background. Or choose a colour.
- Show Call-to-Action button — button text (default "Shop now"), where it Links to (a custom link, a collection or a product), style, size and colours.
- Show countdown timer (Flash sale and Flash + Festive) — off by default. Choose a style: rounded boxes, square boxes, segmented pill or colon clock. It counts down to the campaign's end.

Product page extras
Festive and Flash + Festive. All optional; they appear on the product pages your campaign covers.
- Product badge — a small label above the product title (e.g. "Perfect gift").
- Delivery message — a bar above the product form (e.g. "Order by 2pm for same-day dispatch").
- Colors — one background and text colour for both the badge and the delivery bar.
- Add-to-cart button — new button text, and Match add-to-cart button to campaign color.
- Gift message — Add a gift-message field on product pages, with your own field label. The message is saved on the order line as "Gift message", so you see it in the cart, at checkout and on the order.

Boosters
Open the Boosters tab with Next: Boosters →. Sections on a lower plan show a plan badge and Upgrade →. A Festive campaign offers Cart rewards only.
Cart rewards (Power and Elite) — shown as a progress bar in your theme's cart:
- Free-shipping progress bar in the cart — set Free shipping at. The app checks your real shipping settings: if your store doesn't already give free shipping at that amount, click Let PreSet set it up and the app creates a free-shipping discount for the campaign. Optionally limit it to Specific countries.
- Gift with purchase — set Free gift at and Choose gift product (its first variant is used). When a cart reaches the amount, the gift is added automatically and made free at checkout.
Progressive discount reveal (Power and Elite; Flash types) — Tiered discounts — bigger carts, bigger discounts:
- Tier 1: set Cart value reaches, a Discount % higher than your base discount, and a Message — the banner switches to it once the cart reaches that value.
- + Add tier for up to 3 tiers. Each needs a higher cart value and a higher %.
Tiers work with percentage discounts only. On a campaign for specific products, tiers count only those products, so they can't be combined with free shipping or a free gift (which count the whole cart).
Escalating offer (Elite; Flash types) — Escalate the offer if the campaign underperforms:
- Choose Offer & message (raises the discount) or Message only.
- Set Escalate in the final (hours) and …if total ATC clicks are below — if the campaign's add-to-cart clicks since launch are below this number when the final hours begin, the offer escalates.
- For Offer & message, set the Escalated % (or Escalated amount on a fixed-amount campaign) — higher than your base, and lower than Tier 1's % if you use tiers — optionally a Minimum purchase, and write the Escalated message.
Consolation offer (Power and Elite; Flash types) — Post-campaign consolation offer: a small follow-up discount for 1 to 7 days after the campaign ends. Write the message and set the discount and Show for (days). It starts only when the campaign reaches its end date — ending it early with End doesn't start it.
Only one campaign can run cart rewards or tiers at a time. If another campaign already uses them on overlapping dates, the builder tells you which one and how to free the cart bar.

Preview, save and launch
- LIVE PREVIEW shows the mobile layout; Desktop opens the full-width view. On the Boosters tab it also previews the cart bar, each tier, the final hours and what happens after the campaign ends.
- Save as draft (new campaigns) saves without checks to the Drafts tab.
- Launch campaign 🚀 (or Save changes when editing) checks every section and takes you to anything that needs fixing. The Save bar at the top of the admin saves from either tab.
- If a Check before saving banner appears (for example, another banner shares these dates), read it, then click Save anyway or change your settings.
After launching you're taken to Campaigns, where a banner confirms "“Name” is saved" and whether it's live now, scheduled, or waiting for a free slot.
Editing rules
- Ended campaigns can't be edited — they're a permanent record. To run one again, use Clone to next year or save it as a template.
- A campaign built on a higher plan (after a downgrade) can't be edited on your current plan.
- Editing a paused campaign keeps it paused.
The campaign page
Open a campaign
Click View on any campaign. The page shows everything about one campaign, top to bottom.

Status & summary
The status badge, the campaign's category and type, and its settings: Starts, Ends, Duration, Time zone, Applies to, Banner shows, Geo targeting, Discount and Boosters.
Buttons, depending on status:
- Watch live (Elite; live campaigns).
- Edit (not for ended campaigns or campaigns built on a higher plan).
- Pause (live or scheduled) — if the campaign has a consolation offer, click again to confirm. Pausing switches off its discounts and lets a queued campaign take its slot.
- Resume (paused) — the campaign goes live at once if today is inside its dates. If it can't resume (for example, you're at your plan's limit), a message explains why.
Warnings you may see
- Discount code missing in Shopify / Discount code not created yet — a Festive campaign shows a code that isn't an active "Discount code" in Shopify. Click Open Discounts →, create it (not automatic), and come back; the warning clears by itself.
- This campaign's discount is missing in Shopify or Live discount doesn't match this campaign — edit and save the campaign to recreate it.
- The free gift can't be delivered — the gift product is out of stock, deleted, or its discount is missing. Use Recreate gift discount when offered.
- This campaign is held — due to start but blocked, either by your plan's campaign limit or because its discount couldn't be created yet. It goes live automatically once the cause clears.
- Built on a higher plan — uses a feature your plan doesn't include. End it, delete it, or Upgrade.
- A consolation offer overlaps this sale — another campaign's consolation discount runs on some of the same products. The two never stack; open that campaign to keep or turn off its consolation offer.
Performance
Power and Elite. On Core the section shows "—" with Upgrade →.
- Impressions — banner views. After at least 10 impressions it can compare with your last similar campaign.
- Reached — unique shopper visits. ATC clicks — add-to-cart clicks on the pages the campaign covers. Code copies (Festive with a code) and Discount usage (orders that used this campaign's discount).
- For campaigns with a discount or code: Contributed orders, Conversion (impressions to orders) and Attributed revenue. Each campaign is credited only the items its discount applied to — see Analytics → How orders are attributed for why campaign figures don't add up to your store total.
- Impressions over time — hourly or daily chart. Top products during campaign — the top 10 products, by orders for discount campaigns, or by views and add-to-cart clicks for announcements.
A live campaign's numbers are "so far", not final. Once an ended campaign is older than your plan's analytics window, its chart and top products are hidden; upgrading brings them back while a longer plan's window still covers them.

Campaign landing page
The campaign's shareable link with Copy link, and a line saying what shoppers see on it right now (for example "Coming soon" while it's scheduled). It's hidden once the campaign has ended, unless its consolation offer is still running. See Campaigns → Landing pages for more.
Reuse this campaign
- Clone to next year — creates a scheduled copy exactly one year later (the year in the name updates too). You can clone into each year once, within your plan's campaign limit.
- Save as template — saves the campaign's content, colours, discount, product-page extras and length as a template in Quick launch → My templates (up to 20, every plan). Dates, targeting, the button, countdown and boosters aren't saved.

Danger zone
- End campaign now (live or paused) — stops the campaign and its discount now and keeps all its results. Ending early never starts the consolation offer.
- Delete campaign — removes the campaign and its results page (its sales still count in your store totals). Disabled while a consolation offer runs.
- Consolation offer still running — Edit consolation changes the offer's message (up to 120 characters; the discount can't change). Turn off consolation offer stops it.
Watch live
Elite. Click Watch live on a live campaign for a real-time view that refreshes every 10 seconds while the page is open:
- Live performance — Impressions, Reached, ATC and Revenue per hour, compared with the previous hour.
- Projected campaign total — revenue, impressions, reach and add-to-cart clicks projected at the current rate, plus Time remaining.
- Live feed — the 10 most recent shopper events.
On Core and Power the page opens with "—" values and an Elite badge. A queued campaign shows "Not showing right now".

Campaign Planner (Elite)
What the Planner does
Plan a whole month or year of promotions in one go. Every event you pick becomes its own campaign right away — scheduled for its dates (or live now if today is inside them), with content, dates and discount prepared. Each one appears in All campaigns, the Calendar and the Dashboard, and you can edit, pause or delete it on its own.
Open Campaigns → Planner. On Core and Power the tab shows the Planner with an Elite badge and Upgrade →.
Create a sales plan
- Click Set up my sales plan (or Create new sales plan once you have one).
- Choose Plan length — Whole year or By month — then the Month (for a monthly plan) and Year, and optionally a Plan name (internal).
- Click events to select them (Select all N selects a whole month). Passed events can't be selected.
- For a whole-year plan, open + Custom to add "any date" events and set their Starts and Ends dates.
- Check any Overlapping events warning — when events overlap, the later-starting one takes over while it runs, then the earlier one resumes.
- Click Create plan (N events).
Events that can't be created — for example ones that would clash with an existing campaign's discount — are skipped, so check the plan's campaign list after creating it.

Manage a plan
Click a plan to expand it:
- Add events — pick more events for the plan (or Start from scratch to build one in the builder).
- Repeat for [next year] (for example Repeat for 2027) — copies the plan to next year with every date moved to match.
- Rename the plan.
- Delete plan — deletes the plan and every campaign in it, including ended ones (their sales still count in your store totals). Campaigns still running a consolation offer are kept. Click again to confirm.
Campaign calendar
Your promo calendar
Calendar shows your campaigns and upcoming events on a month grid. It's on every plan.
- Use ← and → to change month (up to 24 months ahead) and Today to come back.
- Solid chips are your campaigns; outlined chips are upcoming event suggestions; greyed chips are suggestions whose date has passed.
- Each campaign is marked on one day: its holiday date for a holiday campaign, otherwise its start day. Live, scheduled and paused campaigns appear, plus ended ones whose consolation offer is still running.

Launch an event from the calendar
- Click a day with an outlined suggestion.
- In the day card, click Activate to launch it with the template's content for that year, or Edit first to open the builder.
- The chip turns solid. Campaigns launched this way cover all products.

This month's campaigns
Below the grid, the month's campaigns are listed as cards with the same actions as on the Campaigns page: View, Edit, Watch live and the ⋯ menu.
Calendar export
Keep your promo schedule in Google, Apple or Outlook Calendar.
- Open Calendar export and click Show export options.
- The first time, click Enable calendar feed.
- Choose Add to Google Calendar or Subscribe (Apple / Outlook), click Copy link, and follow the steps shown. For Google, Open Google Calendar takes you to Settings → Add calendar → From URL.
The feed lists your live and scheduled campaigns and updates itself; calendar apps refresh it periodically (Google can take up to 24 hours). Regenerate link creates a new private link and revokes the old one.

Analytics
Store performance
Analytics opens with your store-wide results for the selected range. These tiles are on every plan, including Core:
- Impressions — banner views: page views where a campaign's banner (or consolation offer) showed.
- Reached — shopper visits, counted once per campaign per browser session.
- ATC clicks — add-to-cart clicks on pages a live campaign covers.
- Discount usage — orders where a campaign's own discount applied.
- Orders — attributed orders, each counted once.
- Conversion — orders divided by impressions.
- Attributed revenue — net sales (after discounts and refunds, excluding tax and shipping) of attributed orders, in your store currency.
Badges compare with the previous period of the same length.
Date range: Core offers the last 7 or 30 days, Power adds 90 days, and Elite adds All time (about 13 months). Your history is kept on every plan, so upgrading shows older data.

Charts and product insights
Power and Elite. On Core the chart is hidden and the two product sections show a Power badge and Upgrade →.
- Chart — Impressions, Reached, ATC clicks, Orders or Revenue per day.
- Most engaged products — the top 10 products by add-to-cart clicks and views on their product pages, and which campaign drove each one.
- Top products by campaign — the top 5 campaigns in the range with up to 3 products each: by orders for campaigns with a discount or code, by views and add-to-cart clicks for announcements.

Performance by campaign
Power and Elite. Two tables compare your ended campaigns using their all-time numbers (live campaigns are on the Dashboard and their own pages):
- Performance by campaign (with discounts) — impressions, ATC clicks, contributed orders and revenue. Each campaign is credited only the items its discount applied to, so these won't add up to the store totals.
- Performance by campaign (no discounts) — impressions and ATC clicks for announcements.
Each table shows the top 10. Campaigns you deleted appear as "Deleted campaigns" in the product tables.

How orders are attributed
An order counts toward your store totals once, with its net sales (after discounts and refunds, excluding tax and shipping), when:
- one of PreSet Promo's discounts applied to it; or
- the shopper added to cart from a page a campaign covered (this is how announcements without a discount add to your store totals); or
- it used a live Festive campaign's own code.
Each campaign's own orders and revenue count only the items its discount applied to; if two campaigns discount the same item, the bigger discount gets the credit. That's why adding up your campaigns won't match your store total: an order with items from two campaigns counts toward both, and an order credited only from a banner visit counts in the store total but not in any campaign. New orders usually appear within a couple of minutes; missed orders are picked up automatically within 72 hours. PreSet Promo stores no customer names, emails or addresses — only order IDs, amounts and products.
Plans & Pricing
Compare plans
| Core | Power | Elite | |
|---|---|---|---|
| Price | Free | $19/month or $205/year | $39/month or $421/year |
| Free trial | — | 7 days, first subscription | 7 days, first subscription |
| Open campaigns (live, scheduled and paused) | 3 | 30 | Unlimited |
| Live at the same time | 1 | 2 | 3 |
| Templates (176) and your own saved templates | ✓ | ✓ | ✓ |
| Collection and product targeting | ✓ | ✓ | ✓ |
| Countdown, call-to-action button | ✓ | ✓ | ✓ |
| Product badge, delivery message, gift-message field | ✓ | ✓ | ✓ |
| Landing pages, calendar and calendar export | ✓ | ✓ | ✓ |
| Store-wide analytics tiles and attributed revenue | ✓ | ✓ | ✓ |
| Country (Markets) targeting | — | ✓ | ✓ |
| Free-shipping bar, gift with purchase, tiered discounts | — | ✓ | ✓ |
| Consolation offer | — | ✓ | ✓ |
| Per-campaign performance, chart, top products | — | ✓ | ✓ |
| Analytics history | 30 days | 90 days | 13 months |
| Escalating offers | — | — | ✓ |
| Campaign Planner | — | — | ✓ |
| Watch live | — | — | ✓ |
Prices are in USD and billed by Shopify on your Shopify invoice.
Upgrade
- Open Plans and choose Monthly or Yearly (yearly saves 10%).
- Click Start 7-day trial (or Subscribe) on the plan you want. Shopify's plan page opens.
- Choose the plan and approve it on Shopify's page. You return to PreSet Promo on your new plan.
Power and Elite include a 7-day free trial. Shopify keeps track of the trial days your store has used, so cancelling and subscribing again to the same plan doesn't start a new trial.
To switch the same plan between monthly and yearly billing, set the switch to the other period and click Switch to Yearly (or Switch to Monthly) on your current plan's card.
Upgrading never restarts campaigns that an earlier downgrade paused — resume the ones you want.
Downgrade or cancel
- Switch to Free on the Core card opens Shopify's plan page, where you choose Core. To move from Elite to Power, use the Power card's button and choose Power there.
- If Shopify schedules the change for the end of your billing period, you keep your current plan until then, and Your plan on the Plans page says so.
- A confirmation explains what happens: every open campaign pauses (live, scheduled and queued), their discounts switch off, and any running consolation offer stops for good. Nothing is deleted.
- Afterwards, resume the campaigns your new plan can run. A campaign that uses a feature your plan doesn't include shows Built on a higher plan and can only be ended, deleted, or run after an upgrade. Paused campaigns count toward your open-campaign limit.
Cancelling the subscription from your Shopify admin has the same effect as switching to Free; PreSet Promo applies it within two days of Shopify ending it.
What shoppers see
The banner
- A full-width bar at the very top of the page, above your theme's announcement bar and header. It appears with the page itself, so the page doesn't jump.
- It contains, as you set them: the emoji stamp, your message (with the {discount} pill where you placed it), the countdown, the Festive code chip (click to copy) and the call-to-action button. On phones it stacks into a centred column.
- Shoppers can't close the banner — it stays for the whole campaign.
- It uses your theme's font and supports right-to-left languages.
- One banner shows per page. A banner limited to certain pages owns those pages; everywhere else, an "every page" banner shows.
- If a shopper keeps a page open past the campaign's end, the banner removes itself at that moment.


Product pages
For Festive and Flash + Festive campaigns, on the product pages the campaign covers: the product badge above the title, the delivery message bar and the gift-message field above the add-to-cart button, and your add-to-cart text or colour.
PreSet Promo doesn't change the prices shown on product pages; the discount is applied in the cart and at checkout.

The cart bar
Power and Elite. Inside your theme's cart drawer or cart page:
- Free shipping — "You are $X away from Free Shipping!", based on the cart total after discounts.
- Free gift — "You are $X away from a Free Gift!", based on the cart before discounts. When reached, the gift is added to the cart and shows as FREE GIFT at checkout. It's removed again if the cart drops below the goal.
- Tiers — "You are $X away from 10% OFF", and the banner message switches as each tier unlocks.
Amounts are converted to the shopper's currency using the rate your store shows. On a theme PreSet Promo hasn't tested, the bar goes only where it fits safely: if the cart drawer has no safe spot, the bar is left out of the drawer, while the cart page, the discount and any free gift keep working. The Dashboard tells you when that happens (see Cart bar on your theme). Contact support and we'll fit it to your theme.

The consolation offer
Power and Elite. After a campaign ends, a small card appears at the bottom centre of the page with your message and "✓ Applies at checkout" for the days you set. It shows on the pages the campaign covered when no other banner is showing. Shoppers can close it with ×, and it stays closed in that browser.

How discounts combine
Every discount is automatic
Every discount PreSet Promo creates is an automatic Shopify discount: shoppers never type a code, and it applies at checkout for carts that qualify.
When campaigns overlap
- Two campaigns on different products (for example Parts 10% and Wheels 15%): each item gets its own campaign's rate. A cart with both gets 10% on parts and 15% on wheels. A product in both campaigns gets the higher rate — rates never add up on one item.
- A campaign's tiers replace its base discount once the cart reaches them; they don't stack on top.
- A store-wide sale and a product campaign together (store-wide here means All products with the banner on Every page): with a store-wide percentage sale, items in the product campaign get the better of the two rates and every other item gets the store-wide % — never both on one item. With a store-wide fixed-amount sale (for example $20 off), both apply: the product campaign's % comes off its items first, then the $20 comes off the order. If the product campaign takes a fixed amount off, the store-wide sale has an escalating offer turned on, or the All-products campaign's banner isn't on Every page, the two don't combine and checkout applies whichever single discount saves the shopper more. The builder won't let you run a store-wide sale at a higher % than a product campaign (counting tiers and escalated offers) in the same dates and regions, because the product campaign would never apply.
- Two store-wide sales never both apply for the same shopper: one shows, and the other waits in the queue with its discount off (sales targeted at different countries each run in their own countries).
- A sale, free shipping and a free gift combine as intended.
- A consolation offer and a live sale never stack. On products both cover, shoppers usually get the bigger of the two — but a store-wide consolation pauses while an overlapping store-wide sale runs (or while it would beat a live product campaign's rate) and picks up again when the sale ends, if its days haven't run out.
Your own Shopify discounts
Your own Shopify discounts follow the combination settings you gave them. Most PreSet Promo discounts allow combining, so if yours is set to combine too, shoppers can usually get both. If it isn't, Shopify applies only one — normally the one that saves the shopper more. The Dashboard warns you when one of your own automatic discounts is bigger than a live campaign, and the builder warns you when you create a campaign, because checkout would use that one instead.
Performance
Speed
PreSet Promo is built to keep your store fast:
- The banner is part of the page from the start, so nothing jumps when it appears.
- The app's script loads in the background at low priority after your page appears. The cart-bar code loads only when a campaign uses it.
- With no campaign live or scheduled, the app loads almost nothing.
- Everything renders in an isolated container, so your theme's styles can't break it and it can't break your theme.
Why changes aren't always instant
Saving a campaign updates your storefront right away, and each page view re-checks in the background — a paused or ended campaign disappears on the shopper's next page load. Because Shopify and browsers cache pages, a change can occasionally take up to about 5 minutes to show everywhere. Start and end times are exact: the banner appears and disappears at the scheduled moment.
Troubleshooting
The banner isn't showing on my storefront
Check in order:
- The campaign shows Live on the Campaigns page — not Scheduled, Paused, Queued or Held. Check its timezone.
- The PreSet Promo app embed is on in the theme you're viewing (Online Store → Themes → Customize → App embeds). Preview themes have their own toggle.
- The page is covered: check Banner visibility (Home page only, Where the campaign applies, and any excluded pages).
- For country-targeted campaigns, you're browsing from one of the chosen countries.
- Reload the page; a change can occasionally take up to about 5 minutes.
My campaign says Queued
Your plan runs 1 (Core), 2 (Power) or 3 (Elite) campaigns live at once, and only one "every page" banner shows at a time. A queued campaign shows no banner and no discount, and goes live automatically when a slot frees up. To run it now, end or pause the other campaign, change the dates, or upgrade.
My campaign says Held
It's due to start but blocked:
- Held — needs its discount — the discount couldn't be created in Shopify yet. The app keeps retrying. If it stays held, your store may be at Shopify's limit of 25 automatic discounts: end or delete one in Shopify, then save the campaign again.
- Held — over your plan's limit — you have more open campaigns than your plan allows. End or delete one.
- Held — built on a higher plan — it uses a feature your plan doesn't include. End it, delete it, or upgrade.
The discount isn't applying at checkout
- The campaign must be Live (not queued or held).
- If you set a Minimum purchase, carts below it don't get the discount.
- For a campaign on specific products or countries, only those products — and shoppers in those countries — get the discount.
- One of your own automatic Shopify discounts may be bigger — if it isn't set to combine, Shopify applies that one instead. The Dashboard warns you about this.
- For Festive campaigns, the code on the banner is your own: it must exist as an active "Discount code" in Shopify. Look for Code missing in Shopify.
The banner doesn't show the discount
Add {discount} to your banner message where you want the "20% OFF" pill. The value isn't shown anywhere else on the banner.
Product badge, delivery message or gift field is missing
They're part of Festive and Flash + Festive campaigns only, and appear on product pages the campaign covers. Check Apply campaign to and that the fields are filled in.
My campaign paused itself
A plan downgrade (including a cancelled or ended subscription) pauses every open campaign. Look for the notice on the Dashboard or Campaigns page, then resume the campaigns your plan can run. The emergency kill switch also pauses live campaigns, but only when you use it.
I can't edit a campaign
Ended campaigns are permanent records — clone or save them as a template instead. Campaigns built on a higher plan can't be edited on your current plan.
I can't launch a new campaign
You're at your plan's open-campaign limit (3 on Core, 30 on Power). Paused campaigns count. End or delete a campaign, or upgrade.
The landing page shows "Coming soon" or "This offer isn't available right now"
"Coming soon" means the campaign is scheduled. "This offer isn't available right now" means it's paused, queued, ended or deleted — or the link is from before the campaign was renamed. Copy the current link from Campaigns → Landing pages. An empty product grid means the chosen collection's products are all sold out.
The free-shipping bar or free gift isn't showing
- The cart bar appears in your theme's cart drawer or cart page. On a theme PreSet Promo hasn't tested, it's left out of a drawer that has no safe spot (the Dashboard's Cart bar on your theme says so); the cart page still shows it.
- Free shipping only shows to shoppers in the countries you chose.
- A gift that's out of stock can't be added. Check the campaign page for The free gift can't be delivered.
- Goals in another currency are hidden if your theme doesn't show a currency rate.
Analytics look lower than expected
Impressions count page views where the campaign's banner (or consolation offer) actually showed — not every page view. Pages the campaign doesn't cover, or where another banner shows, don't count. Recent activity appears when you open Analytics, and new orders usually within a couple of minutes.
"Your storefront banner may be out of date"
Click Retry now on the Dashboard. If it keeps failing, close and reopen the app from Apps in your Shopify admin, then retry. Don't reinstall.
Frequently asked questions
Quick answers to the most common questions about PreSet Promo. Pick a topic, then a question.
Getting started
What does PreSet Promo do?
It runs time-limited promotions on your Shopify store. Each campaign puts a banner on your storefront, creates an automatic discount in Shopify for its dates, and can add product-page touches, cart rewards and a follow-up consolation offer — then takes everything down when it ends. Start from one of 176 ready-made templates or build your own.
Is there a free plan or a free trial?
Core is free to use, with no time limit. Power and Elite include a 7-day free trial. Shopify keeps track of the trial days your store has used, so cancelling and subscribing again to the same plan doesn't start a new trial.
Does it edit my theme code?
No. It runs through Shopify's app embed: you switch it on once in the theme editor, and nothing is written into your theme files.
What happens if I turn off the app embed?
The banner, product-page touches, cart bar and consolation card disappear from your storefront, but discounts PreSet Promo created keep applying at checkout. For a live campaign that's its sale discount (Flash sale or Flash + Festive), discount tiers, free shipping PreSet Promo set up for you, and the free gift if a shopper adds it to the cart themselves — pause or end the campaign to stop them. A running consolation offer keeps applying until its days run out; use Turn off consolation offer on the campaign to stop it early. A Festive campaign without cart rewards creates no discount, and your own Shopify code keeps working as you set it up in Shopify.
Does it work with my theme?
Yes — any Online Store theme (headless storefronts aren't supported). The banner sits at the top of your storefront and the cart bar appears in your theme's own cart. We test PreSet Promo on popular themes on desktop and mobile. On a theme we haven't tested, the cart bar only goes where it fits safely: if your cart drawer has no safe spot, the bar is left out of the drawer, while the cart page, the discount and any free gift keep working. If that happens, the Dashboard tells you (it can't check while your store is password-protected). Contact support and we'll fit it to your theme.
Will it slow down my store?
It's built not to. With no campaign running it loads almost nothing, and a live campaign's script loads in the background after your page appears, with the banner designed so your page doesn't jump around.
Discounts
Do my shoppers need a discount code?
No. Every discount PreSet Promo creates is automatic — it applies at checkout with nothing for the shopper to type.
Can I use my own Shopify discount codes with it?
Yes. Create the code in Shopify's discount editor (Discounts), then create a Festive campaign and turn on "Show your own Shopify discount code as a copyable chip". PreSet Promo shows the code on the banner for shoppers to copy; it never creates or changes the code itself. If the code doesn't exist in Shopify, the campaign warns you with "Code missing in Shopify".
Why doesn't my banner show the discount?
Add {discount} to your banner message where you want the offer to appear — it shows as a pill such as "20% OFF". The banner doesn't show the discount value anywhere unless the message contains {discount}.
How do discounts combine when two of my campaigns overlap?
Two percentage discounts never add up on the same item.
- Campaigns on different products (for example Parts 10% and Wheels 15%): a cart with both gets 10% on the parts and 15% on the wheels. A product in both campaigns gets the higher rate.
- A store-wide sale and a product campaign together (store-wide here means All products with the banner on Every page): with a store-wide percentage sale, items in the product campaign get the better of the two rates and every other item gets the store-wide % — never both on one item. With a store-wide fixed-amount sale (for example $20 off), both apply: the product campaign's % comes off its items first, then the $20 comes off the order. If the product campaign takes a fixed amount off, the store-wide sale has an escalating offer turned on, or the All-products campaign's banner isn't on Every page, the two don't combine and checkout applies whichever single discount saves the shopper more. The builder won't let you run a store-wide sale at a higher % than a product campaign (counting tiers and escalated offers) in the same dates and regions, because the product campaign would never apply.
- Two store-wide sales never both apply for the same shopper: one shows, and the other waits in the queue with its discount off (sales targeted at different countries each run in their own countries).
- A sale, free shipping and a free gift combine as intended.
Will it clash with my other Shopify discounts?
Your own Shopify discounts follow the combination settings you gave them. Most PreSet Promo discounts allow combining, so if yours is set to combine too, shoppers can usually get both. If it isn't, Shopify applies only one — normally the one that saves the shopper more. The Dashboard warns you when one of your own automatic discounts is bigger than a live campaign. See “How discounts combine” in the documentation.
Can I put PreSet Promo's discounts in a Shopify discount rollout?
Please don't — there's no need. PreSet Promo already switches its discounts on and off at your campaign's start and end times. A Shopify rollout schedules discounts too, so a PreSet Promo discount inside one has two schedules, and the rollout could switch it on or off at a different time from your banner. Set the dates on your campaign instead; PreSet Promo keeps the banner and the checkout discount in step. Rollouts work as usual for your own Shopify discounts.
Can a shopper be charged for the free gift?
Rarely, and you'll know if it happens. PreSet Promo adds a checkout rule to your store, “PreSet Promo — free gift protection”. When a cart no longer qualifies for the free gift at checkout (it dropped below the goal, the gift's quantity was raised, or the offer ended), the shopper sees a short note asking them to add items or remove the gift before paying. The rule is on by default, once you approve PreSet Promo's updated permissions, and you can turn it off in Shopify under Settings → Checkout → Checkout rules. The note isn't shown when one of your own discounts that doesn't combine with PreSet Promo's wins, or when the shopper switches to a country the offer doesn't cover. Then the gift is charged, and the Dashboard tells you so you can refund it. The rule only checks the gift PreSet Promo added, never products the shopper chose.
Can I offer a free gift or free shipping without a discount?
Yes, on Power and Elite (cart rewards and tiers are paid features). Two ways:
- A Festive campaign — it has no discount of its own, so you can add a free gift or free-shipping bar on its own (for example "Spend $100, get a free gift").
- A Flash sale or Flash + Festive campaign — set Discount type to None — rewards & tiers only, then add the gift, free shipping or a tier ladder.
To run a gift and a price cut together, keep the discount type on Percentage or Fixed amount and add the gift alongside it.
Does a "spend $X" reward count the full cart, or the amount after discounts?
- Free gift and discount tiers unlock on the merchandise total before discounts (the free gift itself doesn't count). On a campaign for specific products, only those products count toward its tiers.
- Free shipping unlocks on the total after discounts, to match how checkout applies the free-shipping minimum.
So on a discounted cart the gift may unlock a little sooner than free shipping. That's expected — the cart bar is built to match what checkout charges.
Why won't the builder let my escalated offer be as high as my tier?
If you use both an escalating offer and discount tiers, the escalated offer has to stay below your lowest tier. Escalation raises your base offer in the final hours, but your tiers don't move — so if your base is 10%, Tier 1 is 15% at $100 and the escalated offer is also 15%, every shopper already gets 15% with no minimum and the tier rewards nothing. Keep the escalated offer below Tier 1 (say 12%) or raise the tier. The same goes for minimum purchases: any minimum must be below Tier 1's cart value.
Running campaigns
Why isn't my campaign live even though I saved (or scheduled) it?
The usual reasons:
- It's scheduled for later. A campaign goes live on its start date — until then it shows as Scheduled.
- Another campaign holds the slot. Only one "every page" banner shows at a time, and your plan sets how many campaigns can be live at once (1 on Core, 2 on Power, 3 on Elite). A campaign that's in its dates but waiting its turn shows as Queued and goes live automatically when a slot frees up, usually within a few minutes.
- The app embed is turned off in your theme. The banner can't appear until the PreSet Promo app embed is on in your theme editor. The Dashboard warns you: "Your campaign is live, but shoppers can't see it" when a campaign is live, or "… starts in 3 days (or hours), but shoppers won't see it" when your next campaign is only scheduled, so you can turn it on before it starts.
- Its discount isn't ready yet. A campaign is only shown once its automatic discount exists in Shopify, so shoppers never see an offer that doesn't apply. It goes live the moment the discount is created. If your store has reached Shopify's limit of 25 automatic discounts, end or delete one in your Shopify admin, then save the campaign again.
- Your plan was cancelled or moved down. If you switch to Free, cancel a paid plan (including during its free trial), or Shopify ends your subscription, your store moves to the free Core plan. A plan that ends outside PreSet (for example, cancelled from your Shopify admin) moves your store to Core within two days. Moving from Elite to Power works the same way. Every open campaign pauses, so the banner stops showing. Nothing resumes on its own, even if you upgrade again: resume the campaigns you want from Campaigns. On Core, one campaign can be live at a time and you can have up to 3 open campaigns, paused ones included; if you have more, end or delete some first. A campaign that uses a feature your plan doesn't include (such as country targeting, a free-shipping bar or a free gift on Core, or an escalating offer on Power) can only be resumed on a plan that includes it. Your campaigns and settings are kept.
Why does my campaign say "Queued"?
You have more overlapping campaigns than your plan runs live at once, or another "every page" banner holds the slot. A queued campaign shows no banner and no discount until a slot frees up — then it goes live on its own. To run it now, end or pause the other campaign, change the dates so they don't overlap, or upgrade your plan.
Can I run more than one promotion at once?
Your plan sets how many can be live at the same time: 1 on Core, 2 on Power, 3 on Elite. Extra overlapping campaigns wait in a queue and go live automatically as slots free up. Only one banner shows on a page at a time.
Can I schedule campaigns in advance?
Yes. Set a future start date in the builder, launch holidays from the Calendar, or (on Elite) use the Campaign Planner to lay out a whole month or year at once.
What happens when a campaign ends?
The banner disappears at the campaign's end time — even for a shopper who has the page open, without reloading — and its discount stops applying at checkout. On Power and Elite, an optional consolation offer can then run if you have it enabled, but only if the campaign is still live when it reaches its end date; ending it early, or letting it end while paused, doesn't start it.
Can shoppers close the banner?
No. Campaign banners stay visible for the whole campaign. Only the small consolation offer that appears after a campaign ends has a close button.
Why do two campaigns with the same dates show different durations?
Duration measures the actual time your sale runs, rounded to the nearest whole day for anything a day or longer. Two campaigns on the same dates can read differently when their times differ: Aug 25, 9:10 AM → Aug 26, 11:59 PM runs about 39 hours (2 days), while Aug 25, 10:55 PM → Aug 26, 11:59 PM runs about 25 hours (1 day). Start both at the same time and the day counts line up.
Results and data
How is revenue attributed to a campaign?
Your store totals count each order once, with its net sales (after discounts and refunds, excluding tax and shipping), when one of PreSet Promo's discounts applied to it, when the shopper added to cart from a page a campaign covered, or when it used a live Festive campaign's code. Each campaign's own orders and revenue count only the items its discount applied to; if two campaigns discount the same item, the bigger discount gets the credit. That's why adding up your campaigns won't match your store total: an order with items from two campaigns counts toward both, and an order credited only from a banner visit counts in the store total but not in any campaign. Core shows your store's total attributed revenue; each campaign's orders and revenue are on Power and Elite.
What data does PreSet Promo collect?
Only what it needs to run your promotions and show you results: your store settings, the campaigns you create, anonymous storefront activity (banner views, add-to-cart clicks), whether the cart bar could be shown on your theme (with the theme's public name) and order totals for attribution. Its database never stores shopper names, emails, addresses, IP addresses or payment details, and it never sells your data. See the Privacy Policy.
Does it support international stores and multiple currencies?
Yes. PreSet Promo follows your store's currency settings in Shopify Markets. When a shopper browses in another currency, cart-bar amounts and fixed-amount discounts are shown in their currency, using the same conversion your store uses. PreSet Promo doesn't change the product prices your store displays. On Power and Elite you can also target campaigns to specific countries.
Plans and uninstalling
What happens if I downgrade or cancel?
Every open campaign pauses and any running consolation offer stops; nothing is deleted. Afterwards, resume the campaigns your new plan can run. Upgrading again doesn't restart paused campaigns — you resume the ones you want.
What happens to my live discounts if I uninstall the app?
Your live campaigns create automatic discounts in your Shopify store. When you uninstall, PreSet Promo tries to remove them — but Shopify may already have revoked the app's access by then, and any discount it can't reach keeps applying at checkout until its campaign's end date. Your campaigns and data are kept for about 48 hours (a reinstall finds everything), then permanently deleted.
Before uninstalling, deal with your live campaigns first — in the app's Danger zone you can Pause all live campaigns or Delete all campaigns, whichever you prefer — then remove the app.
Support
Get help
- Click Help & Support at the top right of any page.
- Send a message for questions or setup help, Send a report for a bug, or Share your idea for a feature request.
- We reply to your store's email address, usually within one business day.
- You can also contact us here.
Before you uninstall
When you uninstall, PreSet Promo tries to remove its discounts, but Shopify may already have revoked the app's access by then — any discount it can't reach keeps applying at checkout until its campaign's end date. End your live campaigns first, or go to Campaigns → Danger zone and use Pause all live campaigns or Delete all campaigns. Your data is kept for about 48 hours after uninstalling — reinstalling within that time finds everything — then permanently deleted.