Guides & Tips

How to Set Up a Loyalty Program Like Ulta Beauty Rewards on Shopify

GraemeGraeme
·Posted August 1, 2026
How to Set Up a Loyalty Program Like Ulta Beauty Rewards on Shopify

Ulta Beauty Rewards pays its best customers roughly three times what it pays its newest ones.

That is deliberate, and it is not one setting. It comes from two mechanisms running at the same time, and if you copy the program without spotting both you will copy the cost and miss the effect.

This guide walks through setting up a loyalty program like the Ulta Beauty Rewards program on your own Shopify store, using Mage. Every setting is included, so you can follow it start to finish. It takes about twenty minutes, and if you would rather not do it yourself, our team will set the whole thing up for you free of charge.

What is Ulta Beauty Rewards?

Ulta Beauty Rewards is Ulta Beauty's free loyalty program, and at over 46 million members it is one of the largest in retail. Customers earn points on every dollar they spend and turn those points into money off a future purchase. It is free to join and there is no paid tier.

If you already know the program inside out, skip ahead to what you'll set up. Everything below describes the Ulta Beauty Rewards program as it stands in 2026.

How Ulta Beauty Rewards works

There are two mechanisms, and it is worth separating them because you will build them separately.

Ulta Beauty Rewards points

Members earn 1 point per $1 on qualifying purchases. Points are calculated on merchandise only, so tax, shipping, gift cards and fees do not earn.

Points are then spent on a fixed ladder of discounts:

PointsValue
100$3.00
250$8.00
500$17.50
750$30.00
1,000$50.00
2,000$125.00

The minimum redemption is 100 points, and points expire roughly a year after they are earned.

Ulta Beauty Rewards tiers

There are three Ulta Beauty Rewards tiers, decided by how much a customer spends in a calendar year:

TierUnlocks atEarn rate
MemberFree to join1 point per $1
Platinum$500 a year1.25 points per $1
Diamond$1,200 a year1.5 points per $1

Qualify for a tier and you hold it until 31 December of the following year.

The benefits stack as you climb. Every member gets the birthday gift and the bonus point events, Platinum adds a better birthday perk and exclusive offers, and Diamond adds free shipping on orders over $25, a qualification gift and a credit toward a beauty service. Faster earning is the headline, but it is the Diamond perks that people actually talk about.

That is the whole program. Three tiers, one points currency, one ladder, and a birthday gift.

The two things that make it work

Ulta's program looks simple. It is doing two separate jobs at once, and if you copy the settings without noticing that, you will copy the cost without the benefit.

1. The tiers genuinely change the earn rate

Platinum earns 25% faster. Diamond earns 50% faster.

Plenty of loyalty programs use tiers purely to gate access to better rewards and leave the earn rate flat for everyone. Ulta does not, and its version has one big advantage: it is trivially easy to communicate. "Earn points 50% faster" fits on a banner. It also pays out on every single order rather than waiting for a redemption event, so the benefit feels continuous rather than occasional.

2. The ladder bends in the customer's favour

Look at the ladder again as cents per point:

PointsValueCents per point
100$3.003.00
250$8.003.20
500$17.503.50
750$30.004.00
1,000$50.005.00
2,000$125.006.25

A point saved to the top rung is worth more than double a point spent at the bottom. That curve is deliberate, and it is why Ulta customers hoard points instead of cashing out at 100.

What that combination costs you

The two mechanisms multiply. Work it through per dollar of customer spend:

  • A Member earns 1 point per $1 and cashes out at the bottom rung, 3 cents a point. That costs you 3% of revenue.
  • A Diamond earns 1.5 points per $1 and saves for the top rung, 6.25 cents a point. That costs you 9.4% of revenue.

Your best customers are on a reward rate three times richer than your newest ones. For Ulta, at their scale and their margins, that is a deliberate and correct trade. For your store it might not be.

This is the decision. If you have the margin and you want to compete hard for high spenders, copy Ulta. If you do not, keep Ulta's ladder and flatten the multipliers toward 1. Everything else in this guide works either way, and there is more on pricing the trade in our guide to how many points per dollar to offer.

If a tiered earn rate doesn't suit your margins

There is a well known alternative worth knowing before you commit. Sephora's Beauty Insider runs three tiers where every tier earns at exactly the same rate, and all of the value sits in rewards that only the higher tiers can redeem. It costs you nothing until somebody qualifies and redeems, which makes it the safer model on thin margins and the better one if you would rather give away product than money off.

Everything from Step 4 onward in this guide works with either approach. If that version sounds closer to what you want, we have a full build guide for it: how to create a loyalty program like Sephora's Beauty Insider.

What you'll set up

We will build this on a skincare store, with a program called Glow Rewards. The tiers keep Ulta's names, Member, Platinum and Diamond, so the mapping stays obvious. Rename them to suit your brand.

Ulta featureWhat you'll set up in Mage
1 point per $1Purchase earning rule
Member, Platinum, DiamondVIP Tiers, based on yearly spend
1.25x and 1.5x earningA points multiplier on each tier
The six rung points ladderSix fixed discount rewards
Diamond qualification giftA tier entry reward
Diamond exclusive offersTier specific rewards
Diamond free shippingAn automatic Shopify discount on the VIP tag
Birthday perks by tierA birthday rule with per tier amounts
Points expiry after a yearPoints expiry, from the date earned
Bonus point eventsA bonus campaign

Step 1: Set your earning rate

Go to Loyalty → Earning Points and open the Purchase rule. It already exists, so there is nothing to create.

FieldValue
Earning rule nameEarn 1 point per $1
Amount earned1
Spend threshold1
Exclude discounted products from earning pointsUnchecked
Approval Time0
StatusActive

That is Ulta's base rate exactly. Two things happen automatically and are worth knowing.

Points are calculated on your merchandise subtotal, so tax and shipping never earn. That matches Ulta's exclusion list with no configuration at all.

Leave the exclusion box unchecked. Your customers will be checking out with reward codes constantly, and ticking that box would stop those orders earning anything.

On Approval Time, Ulta credits online points within 72 hours of an order shipping, which you can copy by setting this to 3. We would set it to 0. Instant points are a better experience than Ulta's, they cost you nothing, and the moment a customer sees a balance move is the moment the program becomes real to them.

Step 2: Set your tier rules

Go to VIP Tiers → Program Settings. Set all of this before you switch VIP tiers on, because Entry Method and Tier Progress Expiry lock once the program is running.

FieldValue
Entry MethodAmount spent ($)
Tier Progress ExpiryCalendar Year
Protect tier statusChecked
Never downgrade the highest tierUnchecked
Program start date1 January of the current year
Points MultiplierPurchases Only

Entry method is spend, not points. Ulta Beauty Rewards tiers are about how much a customer spends in a year, not how many points they are holding. Using points here would also double count the multipliers, letting a Diamond requalify faster purely because they earn faster.

Calendar Year matches Ulta's stated qualification period, 1 January to 31 December.

Protect tier status is the setting people miss, and it matters more in Ulta's model than in anyone else's. It holds a customer's tier until the end of the following calendar year, which is Ulta's rule word for word: qualify for Diamond in November and you are Diamond for the rest of that year and all of the next one. Without it, a customer who works their way to your top tier in November is demoted six weeks later, having just been told they earn 50% faster.

Never downgrade the highest tier stays unchecked. Ulta really does demote people who fail to requalify, and the annual requalification is a large part of what drives December spending.

Points Multiplier set to Purchases Only means the 1.25x and 1.5x apply to purchases and nothing else. Set to All Earning Rules, your Diamond members would also earn 50% more for leaving a review or following you on Instagram, which gets expensive fast and is not what Ulta does.

Step 3: Create your three tiers

In VIP Tiers → Your VIP Tiers, add three.

Tier NameThresholdPoints Multiplier
Member01
Platinum5001.25
Diamond12001.5

The multipliers are the whole point of Ulta's model, and they are the field to think hardest about. The thresholds are worth pressure testing against your own order data rather than copying, because $500 and $1,200 are calibrated to a store where customers buy from dozens of brands at once. Our guide to designing VIP tiers that drive repeat purchases walks through picking thresholds from your actual spend distribution.

Give each tier a colour so customers can see where they are, then switch VIP Tiers on. Mage sorts your existing customers into the right tier automatically and tags them in Shopify, which you will use in Step 6.

Step 4: Build your redemption ladder

This is the six rung ladder, and it is the part of Ulta's program that does the most work.

Each rung is a separate reward. Go to Loyalty → Redeeming Points → Add Reward → Fixed Discount and create six.

Use these settings on every one:

FieldValue
Redemption typeSet amount
Applies toAll products
Minimum Spend0
Expiry Days90
CombinationsAll three checked
Reactivate discount code on full refundChecked

Then vary only these three:

Reward NamePoints CostDiscount Amount
$3 off1003
$8 off2508
$17.50 off50017.50
$30 off75030
$50 off100050
$125 off2000125

Six fixed rewards, not one flexible one. A flexible reward is a single straight line: pick your points, get a proportional discount. Ulta's ladder is not a straight line, it bends upward, and the bend is the entire saving mechanic. Six rungs is the only way to build a curve.

Check all three combination boxes. Ulta is explicit that points combine with other discounts and coupons in the same transaction, and it is one of the more generous parts of their program. Letting a customer put $17.50 on top of a sale is what makes a first redemption feel good, and a customer who redeems once is dramatically more likely to come back.

Reactivate discount code on full refund honours Ulta's return policy. Return something you bought with points and the points come back as a usable code.

The 90 day expiry on issued codes is our addition rather than Ulta's. It stops redeemed codes accumulating as an open ended liability and it gives customers a reason to use them. Set it to 0 if you would rather match Ulta exactly.

Make sure customers can see the curve

Whatever else you do, present all six rungs together, as a table or a carousel, the way Ulta does on their rewards page. A customer looking at one rung at a time has no idea that saving to 2,000 points more than doubles what every point in their account is worth. If they never see the curve, the curve does no work.

Step 5: Add your tier perks

Each tier has two reward sections and they behave completely differently.

Entry Rewards are given automatically, once, the moment a customer reaches that tier. They cost the customer nothing.

Tier Specific Rewards appear in the rewards list but only for customers in that tier. They still cost points.

The Diamond qualification gift

Go to VIP Tiers → Diamond → Entry Rewards → Add Reward → Free Product.

FieldValue
Reward NameDiamond Welcome Gift
Productyour hero full size product
Minimum subtotal0
Expiry Days90

Ulta gives Diamond members a choice of full size gift when they qualify. It arrives at the exact moment a customer has just proven they are one of your best, which makes it one of the highest impact rewards in the whole program.

Add a smaller version on Platinum. A deluxe sample, or 20% off one order.

Diamond exclusive rewards

Go to VIP Tiers → Diamond → Tier-Specific Rewards → Add Reward → Fixed Discount.

FieldValue
Reward NameDiamond $40 Reward
Redemption typeSet amount
Points Cost600
Discount Amount40
Expiry Days90

Compare that to the public ladder, where 750 points buys $30. Diamonds get a materially better rung that nobody else can even see.

This is worth doing even though your tiers already multiply. The multiplier is a rate, and rates are easy to forget about. An exclusive reward sitting visibly in someone's account is a reason to log in. It also costs you nothing at all until somebody qualifies and redeems.

Step 6: Set up Diamond free shipping

Ulta's best known Diamond perk is everyday free shipping on orders over $25. This one is set up in Shopify rather than in Mage, and it takes about a minute.

When you turned VIP Tiers on in Step 3, Mage started tagging your customers in Shopify with their tier name. Diamond members carry a Diamond tag. You can build any always on perk you like on top of that tag.

In Shopify Admin → Discounts → Create discount → Automatic discount → Free shipping:

FieldValue
Minimum purchase amount$25
Customer eligibilitySpecific customer segments
Segmentcustomer_tags contains 'Diamond'

Done. Every Diamond member now gets free shipping over $25, automatically, with no code to remember, and it turns itself off if they are ever demoted.

This same pattern covers any standing benefit you want to give a tier: early access, free returns, gift wrapping, a members only collection. Mage keeps the tag accurate, Shopify or your theme reads it.

Step 7: Add a birthday gift that scales by tier

Ulta gives every member birthday perks, and Platinum and Diamond members get more. That scaling is a single rule in Mage.

Go to Loyalty → Earning Points → Add Earning Rule → Birthday.

FieldValue
Earning rule nameBirthday Gift
Amount earned250
Date of Birth Eligibility Period30
StatusActive

Then open Advanced Settings, enable Set custom points per VIP tier, and set:

TierBirthday points
Member250
Platinum500
Diamond750

The effect is neat. A Member gets a birthday gift worth $8 at the second rung. A Platinum gets $17.50. A Diamond gets $30. The generosity scales on its own, from one rule, and it fires automatically in the customer's birthday month.

The Date of Birth Eligibility Period of 30 days is a small anti abuse setting. A customer has to have had their birthday on file for a month before it counts, so nobody sets their birthday to tomorrow.

One thing to check before you rely on this: your signup form or customer account has to actually collect a date of birth, or the rule has nothing to fire on. There is more on building campaigns around this in Shopify birthday rewards.

Step 8: Turn on points expiry

Go to Loyalty → Loyalty Program → Points Expiry.

FieldValue
Enable points expiryOn
Expiry modeTime after points are acquired
Points expire after365 days
Expiry reminder30 days
Reset Redeemable Loyalty Points AnnuallyNo

Ulta's rule is that points die about a year after you earn them, full stop. Points earned in March expire the following March no matter how much you have shopped in between. That is the Time after points are acquired mode.

The other mode, Customer's last purchase date, works on inactivity instead. Every order resets the clock on a customer's entire balance, so someone who keeps shopping never loses a point no matter how old it is. Several large programs run it that way.

Ulta's version creates more urgency, because there is always something about to expire and the customer can see the date. The inactivity version never penalises someone who is still shopping. Neither is wrong, and you can switch between them with one dropdown, so it is worth reading our guide on points expiry that drives redemptions without annoying customers before you commit.

The 30 day reminder gives customers a nudge before it happens. Those reminder emails are consistently some of the highest converting messages a loyalty program sends.

Step 9: Schedule a bonus points event

Bonus point offers are one of Ulta's most visible mechanics, and the way they stack is worth getting right.

Go to Loyalty → Bonus Campaigns → Create Bonus Campaign.

FieldValue
Campaign Name3x Points Skincare Event
TypeMultiplier
Purchase rule multiplier3
Override VIP tier multipliersUnchecked
Start and end dateyour event window
Bonus Collectionsyour Skincare collection
StatusScheduled

Leave Override VIP tier multipliers unchecked. This is the most important box on the page for an Ulta style program. Unchecked, the campaign multiplier stacks on top of the tier multiplier, so a Diamond in a 3x event earns 1.5 x 3. Ticked, the campaign replaces the tier rate, which quietly cancels your top tier's headline benefit every time you run a promotion.

Scoping to a collection means only those products multiply rather than your whole catalogue. Set the status to Scheduled and the campaign turns itself on and off on the dates you chose.

Campaigns stack with each other too, which is how Ulta runs a product specific 2x and a store wide 3x at the same time. Base points are only ever earned once.

There is a second campaign type, Tiered, if you would rather run a spend and get promotion. Spend $75, get 200 bonus points. Same idea, different shape.

Step 10: Put it in front of customers

A loyalty program nobody can see does not work. Three surfaces to set up:

Loyalty Pages. Your landing page. Add the How it works, Ways to earn, Ways to redeem, VIP tiers and FAQ blocks. They populate themselves from everything you just set up.

Account Sidebar. The signed in view, showing balance, tier progress and rewards available right now.

Checkout points earned. Shows customers the points they are about to earn while they are paying.

Spend your time on two blocks in particular. Ways to redeem is where the ladder curve becomes visible, and VIP tiers is where "earn 50% faster" turns from a claim into a comparison table. Those two blocks are carrying the whole program.

You don't have to copy all of it

Very few stores need the whole thing, and it comes apart cleanly.

If you want one thing, make it the tiered earn rate with a real difference between top and bottom. That is Steps 2 and 3, and it is the most legible loyalty benefit there is.

If margin is tight, take the ladder in Step 4 and skip the multipliers. Set every tier to 1 and let the curve do the work. You keep the saving behaviour without paying a premium on every order your best customers place.

If your customers already buy often, the bonus campaigns in Step 9 will move more revenue than tiers will, and they take five minutes to set up.

If they buy occasionally, the birthday gift in Step 7 and the expiry reminders in Step 8 do more for you than anything else on this list.

Take the parts that suit how your customers actually shop.

We'll set it up for you, free

If you would rather not configure any of this yourself, our team will do it for you at no cost. That includes the full build above, tuned to your catalogue and your margins, plus your branding across the widget, sidebar and loyalty pages.

Already running a loyalty program somewhere else? We handle migrations free of charge too, including your existing customer balances, tiers and history, so nobody loses the points they have earned. We have migrated stores from Smile.io, LoyaltyLion, Yotpo, Rivo, Stamped, Joy and Bubblehouse.

Talk to our team and tell us what you want your program to look like.

Frequently asked questions

What is Ulta Beauty Rewards? Ulta Beauty Rewards is Ulta Beauty's free loyalty program, with over 46 million members. Customers earn 1 point per dollar on qualifying purchases and redeem those points for money off a future order, on a fixed ladder running from 100 points for $3 up to 2,000 points for $125. There are three tiers, Member, Platinum and Diamond, based on how much a customer spends in a calendar year.

How does the Ulta Beauty Rewards program work? Ulta Beauty Rewards works on two mechanisms at once. Members earn 1 point per dollar, and spending $500 in a calendar year unlocks Platinum, which earns 1.25 points per dollar, while $1,200 unlocks Diamond, which earns 1.5. Tiers are held until 31 December of the following year. Ulta Beauty Rewards points are then redeemed at six fixed amounts, and the higher rungs are worth more per point, so saving up is rewarded. Members also get birthday perks, bonus point events, and in Diamond's case free shipping over $25. That is the program as of 2026.

What are the benefits of the Ulta Beauty loyalty program? The benefits stack by tier. Every member earns 1 point per dollar, gets a birthday gift, can redeem from 100 points, and qualifies for bonus point events. Platinum adds 25% faster earning and a better birthday perk. Diamond adds 50% faster earning, free shipping on orders over $25, a full size qualification gift, a credit toward a beauty service, and access to rewards and launches that lower tiers cannot get. Every one of those benefits is reproduced in this guide.

How many Ulta Beauty Rewards points do you need for $10 off? There is no $10 rung. The Ulta Beauty Rewards ladder runs 100 points for $3, 250 for $8, 500 for $17.50, 750 for $30, 1,000 for $50 and 2,000 for $125, with a 100 point minimum. The rungs are deliberately not proportional: a point spent at 100 is worth 3 cents, and a point saved to 2,000 is worth 6.25 cents.

How do the Ulta Beauty Rewards tiers work? There are three, and they are decided by calendar year spend rather than points held. Member is free, Platinum needs $500 a year and Diamond needs $1,200. Each one changes the earn rate, to 1x, 1.25x and 1.5x respectively. Qualify at any point in the year and you hold that tier until 31 December of the following year, so a customer who reaches Diamond in November keeps it for over a year.

How do I create a loyalty program like Ulta Beauty Rewards on Shopify? Every part of the structure in this guide can be set up in Mage: the 1 point per dollar earning rate, the three spend based tiers with their 1.25x and 1.5x multipliers, the six rung redemption ladder, tier gifts and exclusive rewards, Diamond free shipping, the birthday gift and points expiry. This guide covers each step with the exact settings to use.

How long does it take to set up? About twenty minutes if you follow this guide. If you would rather it was done for you, our team sets it up free of charge, including your branding.

Should my VIP tiers earn points faster? Ulta's do, and plenty of equally successful programs do the opposite. Sephora's Beauty Insider, for one, earns at a flat rate across all three tiers and puts the value into tier exclusive rewards instead. A tiered earn rate is easier to explain and rewards your biggest spenders on every order, but it costs you margin continuously and it costs the most on exactly the customers who buy the most. A flat rate keeps your costs predictable and only pays out when someone redeems. Work out the effective percentage back for your top tier before you decide.

What is the difference between Ulta and Sephora's loyalty programs? The main difference is what the tiers do. Ulta's tiers change the earn rate, to 1x, 1.25x and 1.5x, so a higher tier accumulates points faster on every single order. Sephora's Beauty Insider tiers all earn at the same flat rate and instead unlock access to rewards that lower tiers cannot redeem. Ulta's redemption ladder also rewards saving, with a point at the top rung worth more than double a point at the bottom, while Beauty Insider does something similar through a single high value reward reserved for its top tier. We have a full build guide for the Beauty Insider model if you want to compare the two side by side.

What happens to points when a customer returns something? Points earned on that order are removed automatically, including any bonus points from a campaign. Partial refunds reverse points proportionally. Tax and shipping never earned points in the first place, so nothing needs unwinding there. If the order was paid for with a reward, the discount code is reactivated so the customer keeps what they redeemed.

Can I switch from my current loyalty app without losing customer points? Yes. We migrate balances, tiers and history from other loyalty platforms free of charge, so your customers keep everything they have earned.

Mage is not affiliated with, endorsed by, or sponsored by Ulta Beauty. Ulta Beauty Rewards is a trademark of Ulta Beauty, Inc. This guide references the program for the purpose of comparison and education._

Ready to increase
customer lifetime value?

Join 100+ Shopify stores using Mage to turn one-time buyers into loyal repeat customers.

|Cancel anytime|5-min setup|Rated 5/5 by Shopify stores

Great app! User friendly and straightforward. The customer service team has been great and so helpful.

skynbio

Related articles