Run loyalty-style discount programs instead of juggling one-off codes. Create programs, enroll customers, and let Shopify checkout apply the discount automatically for everyone who qualifies.

Features
Set discount %, cycle length, spending limit, and enrollment validity. Control how rewards renew without open-ended free discounts.
Discounts apply only to logged-in shoppers with an active enrollment — not guests, and not everyone in Admin.
Enroll one-by-one or in bulk; pause individuals; override cycle, limit, validity, or discount % for specific customers.
See attributed sales, discounts given, and health warnings so you can judge whether a program is worth the cost.
Pause all enrollments, choose what happens at the spend limit, optionally stack with other discounts, and tag program orders.
Enrollment validity of 6, 9 or 12 months — or indefinite — so group discounts can require re-verification.
In the app




Use cases
From loyalty rewards to verified group discounts, Program Manager adapts to how your business actually works — with limits and controls that keep every use case sustainable.
A flat ongoing discount or an unlimited-use code quietly eats into margins as customers keep buying — especially high spenders.
Public discount codes for healthcare workers, first responders or students get shared and abused, with no way to control how much one person redeems.
Wholesale and VIP spending limits tracked by hand are slow and error-prone as the customer list grows.
Eligibility is tied to an enrollment, never to a shareable code.
Rewards stop at the limit and start again on the next cycle.
Attributed sales next to discount investment, per program.
FAQ
Each enrollment tracks spend toward a cycle limit over a cycle length (for example, 30 days). Spend counts as merchandise total as if the program discount was not applied. When a paid order uses the program discount, remaining cycle spend updates. Checkout reads the last synced remaining balance from customer metafields, so rapid successive checkouts can briefly overshoot until paid orders sync. When the cycle ends, it can roll forward; Settings control whether discounted spend carries into the next cycle.
Only if Allow stacking with other discounts is on in Settings, and the other discount also allows combining. Otherwise the program automatic discount may not combine with product, order, or shipping discounts.
Settings control this: discount only the remaining eligible spend, apply no discount, or cap the discount amount. Pick the behavior that matches how you want limits enforced at checkout. These rules apply to a single cart against the last synced remaining balance; see the FAQ on rapid successive checkouts for multi-tab overshoot.
No. Program discounts apply only when the customer is logged into their Shopify account with an active enrollment. Entering an enrolled email as a guest does not apply the discount, even after refreshing checkout. Ask customers to sign in before or during checkout.
On paid plans, Customers lets you upload a list of customer emails to enroll into a program. Already-enrolled customers and emails not found in your store are skipped. Check the result toast for enrolled vs skipped counts.
On a customer’s enrollment you can override cycle length, spending limit, validity, or discount percent for that person only. Leave overrides empty to use the program defaults.
Create your first program in minutes. Enroll customers, set the cap, and let checkout handle the rest.