Perks and discounts
Member perks that do not eat your margin
Personal codes on approval, reward codes for milestones, and campaign discounts — each governed by a rule that controls the offer, the eligibility, and how the order gets attributed.
Shopify-linked rules sync both ways. Manual rules work anywhere.

Discount sprawl is a real cost
Four hundred codes across two systems, and nobody sure which are live.
Codes with no owner
A code in Shopify with no record of who it was issued to is a code you cannot deactivate with confidence.
Perks paid as commission
If a member shares their own reward code and the platform treats the order as a referral, you pay twice for one sale.
No way to switch one off
When a code leaks, you need to kill that code without disturbing the four hundred others under the same offer.
How discounts are managed
Rules first, codes second.
Create a rule
The rule sets the offer — 20% off, fixed amount, specific products or collections — and acts as the container for every code beneath it. On Shopify it creates and syncs a matching top-level discount.
Codes get generated or imported
Roster creates codes as members join, campaigns publish, or milestones unlock. You can also import existing codes, assigned or unassigned, from a previous platform.
Manage them at either level
Deactivate a single leaked code or an entire rule. Find which orders used a given code. Export the full list for reconciliation.
What you can do
Personal discount on approval
Give every new member a code the moment they join a program — a common and cheap first reward.
Reward codes for milestones
Higher-value perks that unlock at a tier, always attributed as personal orders so they never trigger commission.
First-time customers only
Restrict an offer to new customers so acquisition discounts do not subsidize people who already buy from you.
Product and collection scoping
Limit an offer to a range, or exclude the products you never discount.
Advanced Shopify options
Click View in Shopify to add minimum purchase requirements, customer eligibility, or free shipping combinations.
Find orders by code
Search any code and see the orders that used it, which is how leak investigations actually get resolved.
Attribution
A perk should never be paid as a referral
Reward discount rules are for the member’s own use. Orders placed with them are always attributed as personal orders, even if the member passes the code to a friend.
That single distinction is what stops your perks budget from quietly turning into a commission line.

Control
Kill one code without touching the rest
Codes can be deactivated individually or by rule. When a shareable code turns up on a coupon site, you disable that code and issue a new one, and every other member is unaffected.
Shopify-linked rules stay in sync, so deactivating in Roster deactivates at checkout.

Where discounts show up
Four moments a code does useful work.
Joining
A personal code as a welcome perk, set at the program level.
Milestones
A higher-value reward code that unlocks at a tier.
Campaigns
A code as the reward for joining or completing a brief.
Referrals
The customer-facing offer attached to a smart link.
Only the last of those should ever generate a commission.
Related features
Questions brands ask
What is the difference between a rule and a code?
The rule is the offer and the container. The code is the thing a customer types. Every code inherits its rule’s settings and attribution behavior.
Can we limit an offer to new customers?
Yes, using leakproof codes with Shopify customer eligibility set to first-time buyers.
Do we manage codes in Roster or Shopify?
Both. Roster handles creation, assignment, and deactivation. Click View in Shopify for advanced native options like minimum spend or shipping combinations.
What if we are not on Shopify?
Roster creates manual discount rules that act as containers. You create the matching codes in your own platform with the same terms.
Can we export our codes?
Yes, the full list with assignment and status, which is what most brands use for reconciliation.