Creating a promotion

A field-by-field walkthrough of the promotion form — discount, conditions, usage limits, and the dealer-wide guardrails card.

Create and manage discount codes from Marketing → Promotions. This page walks through every field on the form; targeting and margin rules have their own deeper guides.

Create a promotion

  1. Open the list — go to Marketing → Promotions and click New Promotion.
  2. Fill in the basics — a title, the code, and whether it’s active.
  3. Choose the discount — type, value, and what it applies to.
  4. Add conditions and limits — optional minimums, dates, and redemption caps.
  5. Save — click Save Promotion. You land on its edit page, where a Usage panel tracks redemptions.

🖼️ [SCREENSHOT: New Promotion form, Basics and Discount sections filled in — Marketing → Promotions → New Promotion]

Basics

Field What it does
Title (required) Internal name — customers never see this. e.g. Spring Sale 10%
Code What shoppers type at checkout, e.g. SPRING10. Saved in ALL CAPS. Must be unique — you’ll get an error if it’s already in use
Active The on/off switch. New promotions start Active
Description Optional internal note

Discount

Field What it does
Type Percentage off · Fixed amount off · Free shipping
Value The percent (up to 100) or dollar amount. Must be greater than zero. Hidden for free shipping
Applies to Whole order · Specific products · Shipping only
Maximum discount ($) Percentage type only — caps the dollar amount, e.g. “10% off, up to $50”

ℹ️ Note: Choosing Specific products reveals the targeting section — see Targeting rules. Switching back to Whole order clears any targeting you’d set, so the promotion never carries hidden filters.

Shipping discounts two ways: Free shipping (type) makes shipping free outright. Shipping only (applies to) lets you discount shipping by a percent or amount instead — e.g. 50% off shipping.

Conditions

Field What it does
Minimum spend ($) Cart subtotal required before the code applies — the classic “$10 off when you spend $100”
Minimum quantity Item count required in the cart
Starts / Ends Schedule window. Outside it the code is rejected. End must be after start
Don’t apply to items already on sale Skips products with a sale/compare-at price, so discounts don’t double-dip

Usage limits

Field What it does
Total redemptions Cap across all customers — “first 100 uses” campaigns. Blank = unlimited
Per customer How many times one customer may redeem. Blank = unlimited

⚠️ Warning: A per-customer limit requires shoppers to sign in to use the code — it can’t be enforced against guest checkout, so guests are asked to log in first. The form reminds you of this when you set a value.

The guardrails card (dealer-wide)

At the top of the Promotions list sits Promotion guardrails — policy that applies to every promotion automatically:

  • Minimum margin floor (%) — no promotion may leave a line below this gross margin. Blank = no floor.
  • When a promo would breach it — Trim the discount to the floor or Reject the code entirely.

Individual promotions can override the floor — see Margin protection for how trimming and blocking work, and why cost prices matter.

🖼️ [SCREENSHOT: Promotion guardrails card with a margin floor set and the cost-coverage note visible — Marketing → Promotions]

Managing existing promotions

The list shows each promotion’s code, discount, usage, schedule window, and an Active/Inactive badge.

  • Edit — opens the form plus the read-only Usage panel (“Redeemed n times, of X allowed”).
  • Delete — removes it permanently (you’ll be asked to confirm).
  • To pause a promotion, open it and uncheck Active — that keeps its stats and lets you re-launch later. Prefer this over deleting.

💡 Tip: There’s no duplicate button — to run a similar campaign, create a new promotion and copy the settings across. Keeping one promotion per campaign keeps your usage stats meaningful.

Next: Targeting rules.

← PreviousPromotions overviewNext →Targeting rules