Skincare sells in routines, and a routine is a bundle by nature: cleanser, serum, moisturiser, in that order. Most Shopify beauty stores pick one bundle mechanic and push every offer through it. A "3-step routine" set, a "build your own kit", a travel-size gift over a spend threshold, a "complete your routine" row and a refill pack are five different offers, each with a bundle type that fits it. This guide maps offers to mechanics, shows how to price a routine without discounting the product that carries your margin, and says where Shopify's built-in tools stop.
Match the offer to the bundle type
| Skincare offer | Bundle type | Why |
|---|---|---|
| 3-step routine (cleanser + serum + moisturiser) at a round price | Fixed bundle | One set, one price, one cart line, inventory deducted per component |
| "Build your routine": any 3 from the collection | Mix & match | The customer picks; the cheapest units carry the discount |
| Travel size free over $80 | Buy X get Y with auto-add | Added when the threshold is reached, removed when the cart drops below |
| "Complete the routine" under a serum | Frequently bought together | Pairs learned from your own orders, "Add all" button |
| Refill 3-pack of one cleanser | Volume discount | Tiers on one product; sizes and scents count together |
The routine set: a fixed bundle at a round price
A routine is the one offer where the customer does not want to choose: "Morning routine, $89" beats "any 3 for $89" for a first-time buyer. Build it as a fixed bundle: two to six products, a fixed price or a percent off, and a product page of its own to link from ads and email.
The part skincare stores get wrong is inventory. A set with its own stock count goes out of sync with its components the moment one sells alone. A fixed bundle built on Shopify's bundle components stays a real catalog product while deducting inventory from each component, so it disappears when the serum is sold out and never oversells. How fixed bundle inventory works on Shopify goes through the mechanics. If the moisturiser comes in two formulas (dry, oily), leave that component open: the customer picks the variant inside the set and the price follows.
Build your routine: mix & match
For returning customers who know the range, "any 3 from the collection for $75" is the stronger offer. Build it as mix & match on the collection, so new launches join automatically, with set sizes such as any 3 for $75 and any 5 for $115. Two rules matter: the set counts across products and variants (a 50 ml and a 30 ml of the same serum are two units), and with a set price the cheapest units must be the discounted ones. A customer who picks two $40 serums and a $12 lip balm must not get the discount on a serum, and checkout has to use the same maths as the page. Mix & match bundles on Shopify covers set sizes and pricing.
Travel size as a free gift over a threshold
"Free travel-size cleanser on orders over $80" is a Buy X get Y with a spend condition. Two decisions: auto-add the gift when the threshold is reached (the cart bar shows "Spend $14 more to get the travel cleanser free" before that), and whether the gift counts toward the threshold (it should not). Shopify's native Buy X get Y never adds the gift by itself; auto-adding a free gift on Shopify explains the difference.
Complete the routine: learned from orders
Under a serum, show the two products most often bought with it, from your own order history, with an "Add all" button and a small discount on the extras (5% is enough), falling back to products you pick while the store is new. Frequently bought together on Shopify describes what to expect.
Refills: volume tiers
A cleanser that runs out every six weeks is a refill product: "1 at $24, 2 at 10% off, 3 at $60", with the tier counting all sizes and scents together. Keep the deepest tier within a third of the gross margin; volume discount tiers that still make a profit has the table.
Pricing a routine without giving away margin
A routine usually contains one hero product with a high margin (the serum) and two supporting products with lower margins. Two rules:
- Anchor on the full-size set. Show the regular total of the three full sizes ($118) next to the set price ($89). The saving is real and compared with products the customer can see, not with an invented "value".
- Take the discount from the lowest-margin items, in your own accounting. The customer sees "$89 for the set". Internally, the serum sells at its full contribution and the saving comes out of the cleanser and moisturiser. This matters when you later discount the serum alone: if the set already gave away serum margin, a serum sale on top takes the routine below cost.
Example: serum $58 (cost $9), cleanser $28 (cost $8), moisturiser $32 (cost $11). Regular total $118, cost $28. Set at $89: margin $61 per set, serum contribution intact. Set at $79: margin $51, and $39 given away to sell three products a routine buyer was likely to buy anyway. Test the two prices on real traffic with profit per visitor as the metric, after filling in "Cost per item" on every product.
Page layout for a routine
- Routine order, not price order. Cleanser, serum, moisturiser. A set that starts with the most expensive item reads as a sales pitch.
- Step labels. Put the order in the product description ("Step 1 · Cleanse, Step 2 · Treat, Step 3 · Moisturise") and give the offer its own title and button text ("Your 3-step routine", "Add the routine"), editable per offer and per language without touching the theme.
- Badges on collection cards. "Bundle & save" on the routine's card, "Any 3 for $75" on every product in the mix & match collection.
- One offer prices each product. If the serum is in the set, the collection and a refill tier, decide which one prices it when added alone; two discounts never stack on one serum.
Subscriptions and bundles coexist
A subscription app such as Shopify Subscriptions handles the recurring part: the moisturiser every 45 days. A bundle app handles the first basket: getting a customer from one serum to a routine on the first order. They are different jobs and run side by side: a one-time routine set for the first purchase, subscribe-and-save on the individual refills afterwards. Do not expect either app to do the other's job, and keep the subscription discount on the subscription product and the bundle discount on the one-time set so they never apply to the same line.
The native Shopify route and where it stops
- Shopify Bundles app (free) builds the fixed routine set and refill multipacks with component inventory. No mix & match, gift over a threshold, bought-together rows or quantity tiers.
- Discounts › Buy X get Y builds "spend $80, get the travel size" as an automatic discount. The gift is never added to the cart and there is no progress message.
- Discounts › Amount off products with a minimum quantity approximates a refill tier, one tier per discount, no tier table.
- Theme blocks can show "complete the routine" sections with hand-picked products, no learned pairs, no discount.
For a new store with one routine set and one gift threshold, the native route works. Creating bundles on Shopify without an app lists the native options.
With MixMaxer
- Routine set: Offers › Create offer › Fixed bundle. Add the three products in routine order, leave the moisturiser on "Any variant (customer picks)" if it has formulas, set the fixed price. On publish the set becomes a real catalog product with component inventory; the cart shows one line.
- Build your routine: Create offer › Mix & match on the skincare collection, set sizes any 3 for $75 and any 5 for $115. Add the Mix & match block to the collection template for a builder with a live counter.
- Travel-size gift: Create offer › Buy X get Y, condition Spend $80 on the entire store, reward the travel size at 100% off, "Add Y to cart automatically" on.
- Complete the routine: Create offer › Frequently bought together on the serums, source Automatic, fallback picks while the store is new, 5% off the extras.
- Refills: Create offer › Volume discount on the cleanser, tiers 1 / 2 / 3, "count all variants together".
- Labels and badges: offer title and button text per offer and language; card badges (Growth plan). Order the Offers list so one offer prices each product; the overlap warning flags conflicts.
- Test at checkout with a sample cart, then A/B test the set price and read profit per variant.
Discounts are Shopify Functions, so they apply in Shop Pay and POS and keep working if MixMaxer's servers are down. The Free plan runs two live offers of any type.
FAQ
What is the best way to bundle skincare products on Shopify?
Match the mechanic to the offer: a fixed bundle for a routine set, mix & match for "build your own kit", Buy X get Y with auto-add for a travel-size gift, frequently bought together for "complete the routine" and volume tiers for refills.
How do I price a skincare routine bundle?
Anchor on the regular total of the full sizes and set a round price that is visibly lower. In your own accounting, take the saving from the lower-margin cleanser and moisturiser, not from the hero serum.
Can I let customers build their own skincare set on Shopify?
Yes, with a mix & match offer on the collection: any 3 for a set price, counted across products and variants, with the cheapest units discounted. Shopify's native discounts and the Shopify Bundles app do not offer this.
Do bundles work together with a subscription app?
Yes. The subscription app handles recurring refill orders; the bundle app handles the first basket, such as the routine set. Keep each discount on its own product so they never apply to the same line.
Does the Shopify Bundles app handle skincare kits?
It builds fixed sets and multipacks with component inventory, which covers a routine set and a refill pack. It does not do build-your-own kits, gifts over a threshold, learned "complete the routine" rows or quantity tiers.
MixMaxer builds the routine set, the build-your-own kit, the gift threshold, the bought-together row and the refill tiers in one app, with profit per offer and A/B tests on the set price. Install from the Shopify App Store · Fixed bundles: set price, hidden parent product, inventory. Last checked 2 November 2026.