Magento for skincare specialty stores: ingredient filters, routines and refills
Skincare customers read the back of the bottle before they look at the price. So when I set up Magento for skincare specialty retailers, most of the effort goes into ingredient data: which actives each product contains, which skin types it suits, and a search that knows ascorbic acid and vitamin C are the same thing. After that come routines bought as a set, refills that arrive before the bottle is empty, and returns for jars that have already been opened. Brand rules count too, since many professional lines only sell through authorized stockists.
- Filters for active ingredient, skin type and concern, built from clean product data
- Routines on one page, with refills on a schedule through a subscription extension
- MAP pricing and brand rules for professional skincare lines
Four buying habits that shape a skincare store
These come from how people shop for skincare, not from the platform. The store has to work around them, so they decide how I model the catalog.
-
Actives People shop by ingredient
A skincare buyer often types retinol, niacinamide or azelaic acid into the search box before naming any brand. If one product says vitamin C, another says ascorbic acid and a third leaves it out, the filter shows half your range and the customer assumes you do not stock the rest.
-
Refills Bottles run out on schedule
A cleanser or a serum runs out at a fairly predictable point, so the second and third orders matter more than the first. Magento has no recurring orders built in, in either edition, so refills need an extension, or at least a reminder email sent at the right time.
-
MAP Professional brands set rules
Many professional skincare lines only sell through authorized stockists, and some publish a minimum advertised price or forbid marketplace listings. Breaking those terms can cost you the account, so the store has to show prices the way each brand allows.
-
Opened Returns work differently
Once a jar of moisturizer has been opened it usually cannot go back on the shelf. Your returns policy has to tell sealed from opened, and your stock count has to agree. Magento Open Source has no returns module (Adobe Commerce has one), so this needs some thought before the first return arrives.
What goes into a skincare store on Magento 2
I start with the ingredient data because everything else depends on it. Where Magento needs help, I name the kind of extension or the small module I would write.
-
Filters built from clean ingredient data
I set up three filterable multi-select attributes, key ingredients, skin type and concern, each with one fixed list of values, so niacinamide cannot end up spelled three different ways. The full INCI list sits in its own field for the people who read every line. Magento also has search synonyms (Marketing > SEO & Search), which I fill with the pairs your customers mix up: vitamin C and ascorbic acid, vitamin B3 and niacinamide, BHA and salicylic acid. Most of the effort here is the data, not the code.
-
Skin quiz and routine pages
A routine page with cleanser, serum, moisturizer and SPF works well as a grouped product: the customer sees the whole routine, changes quantities, and adds everything with one click. A fixed starter kit at a set price is a bundle product instead. Magento has no quiz of its own, so a short skin quiz is either a small module I write or a quiz tool you embed. Its answers map to the same skin type and concern attributes, which is why the ingredient data comes first.
-
Refills and replenishment
For true subscriptions I install a subscription extension where the customer picks the interval, skips a delivery or pauses, and your payment provider stores the card for the next charge (Braintree and Stripe both can). If that feels like too much to start with, there is a lighter option: your email platform reads the order date and sends a reminder when the bottle is likely to be nearly empty. Klaviyo and similar tools can do this from Magento order data without any change to checkout.
-
Authorized brands and MAP
For brands with an advertised price policy I switch on Magento’s built-in Minimum Advertised Price setting and enter the MAP per product, so the lower price only shows in the cart. Brand pages are a brand attribute plus a landing category, since Open Source has no brand module of its own. If a brand only lets you ship to certain countries, a product attribute checked at checkout blocks the rest, with a clear message rather than an error.
-
Sunscreen and different label rules
In the US, sunscreen is an over-the-counter drug with a Drug Facts panel. In the EU the same SPF 50 is a cosmetic. If you sell in both, I keep the warnings and directions in their own attributes and fill them per store view, so each country sees the right text. What you are allowed to claim is for your regulatory advisor to decide. My part is making sure the store shows their approved wording and nothing else.
-
Returns for opened products
On Adobe Commerce I use the built-in Returns (RMA) module with an item condition such as sealed or opened. On Open Source I keep it simple: a returns request form, a yes/no returnable attribute shown on the product page, and a refund through a credit memo where you choose whether the item goes back into stock. That way a returned, opened serum is refunded without being counted as sellable again.
Magento isn’t the right answer for every skincare brand, here’s the honest cut
I do not push Magento on every skincare brand. Below: when Magento clearly wins, when Shopify is enough, and the rare hybrid case. Skim, find the one that fits, and skip the deep dive if you already know your answer.
-
Where Magento earns its cost
Pick Magento for skincare specialty if
Pick Magento if…
- Quiz-driven funnel (concern + age + budget)
- Ingredient + concern filtering (30+ attributes)
- Rx-skincare prescriber handoff in roadmap
- K-beauty / J-beauty multi-brand portals
- COSMOS / EWG / Leaping Bunny cert filters
- Subscription + replenish 40%+ of revenue
- Multi-region with different ingredient bans (US / EU / Korea)
-
Stick with Shopify if
Stick with Shopify if…
- SKU count under 500 and stable
- No Rx-skincare handoff (just OTC cosmetic)
- Single brand, single region (US-only or EU-only)
- Octane AI / Recharge cover the quiz + subs
- Ops team is 1-2 people, comfortable with app stack
- Under $2M GMV and growing slowly
- No K-beauty / J-beauty multi-brand portal needs
-
Hybrid (rare)
Hybrid setup…
- Shopify DTC front for OTC cosmetic SKUs
- Magento back for Rx + multi-brand portal + B2B
- Justified above $15M GMV with Rx revenue share >30%
- Shared Klaviyo + customer data via middleware
- Akeneo PIM as ingredient/concern source of truth
- Operational overhead is real, 2 admin UIs
- Single-platform usually wins below $15M GMV
Five steps from audit to optimised skincare DTC
Audit → plan → build → deploy → stabilise. Tuned for skincare DTC’s 60-day routine cycle: every launch ships with a Rx-handoff war-room playbook and a subscription churn-target. Optional ongoing retainer through the first four quarters.
-
01
Audit
Quiz funnel review (current conversion rate, drop-off step), ingredient + concern attribute schema audit, Rx-skincare partner state (signed contract, API access), subscription tooling baseline (churn rate, replenish rate), cert flag accuracy (COSMOS, EWG, Leaping Bunny), multi-region compliance (FDA cosmetic, EU EC 1223/2009, California Prop 65). 1 week.
Baseline + gaps -
02
Plan
Quiz architecture (Octane AI / Typeform / custom), ingredient taxonomy (30+ INCI names + concern tags), Rx-partner pick (Curology vs Apostrophe vs Dermatica) by territory, subscription manager pick (ReCharge / Bold / Skio) by GMV, brand-portal scope (which K-beauty / J-beauty brands to host), cert flag rollout. Written spec + Gantt.
Locked scope -
03
Build
Quiz + Klaviyo sync, ingredient/concern attribute set, Rx-handoff API wiring, subscription manager install + retention rule set, brand-portal multi-site, COSMOS / EWG / Leaping Bunny badges + schema, Hyvä storefront, replenishment-email flows. Built in 4-9 weeks. Test fixtures for medical-intake edge cases (under-18, contraindications, allergies).
Build + UAT -
04
Deploy
Pre-warm Hyvä + Cloudflare, dry-run Rx handoff to staging Curology / Apostrophe sandbox, subscription cron rehearsal, quiz A/B set up before launch. DNS / TTL prep. War-room for the first 72 hours after Rx-handoff goes live, that integration is the riskiest piece of any skincare specialty build.
Live + verified -
05
Stabilise
Monitor quiz conversion, subscription churn (target <6%/mo), Rx fulfillment SLA, replenish rate, ingredient-filter usage analytics, cert-flag click-through. Iterate quiz copy, routine logic, Rx intake friction. Quarterly compliance audit (FDA / EU / Prop 65). Optional retainer ($1.5k to $5k/mo) for ongoing tuning.
Optimised + iterating
Free extensions that fit a skincare store
Open source under MIT. Hyvä and Luma, Magento 2.4.4 to 2.4.9.
-
Downloadable files on the product page: manuals, data sheets, certificates.Product Attachments for Magento 2
Free -
Question and answer pages with FAQPage schema.FAQ Extension for Magento 2
Free -
Checks the postcode at checkout before you promise delivery.ZIP/PIN Code Validation at Checkout for Magento 2
Free -
Low stock warnings and back in stock emails.Low Stock & Back-in-Stock Alerts for Magento 2
Free
What clients say about working with me
Public reviews on Upwork. Same person, same rate card, same playbook for every brand.
Magento work and feedback View Upwork profile
-
Sports footwear and hockey shop, Netherlands -
Photo printing supplies wholesaler, Netherlands -
Educational toys and books shop
-
Kishan has done an excellent job in a timely manner. He is very knowledgeable, has a very positive attitude, easy to communicate.
Z. K.Magento 2 client -
He is technically strong, approaches problems thoughtfully, and focuses on stable, long-term solutions.
E. H.Magento 2 client -
Kishan was a pleasure to work with! He is highly skilled, professional, and delivered outstanding results on time.
M.Magento 2 client
- Working with skincare retailers in
- United States
- United Kingdom
- Canada
- Australia
- Germany
- France
- Netherlands
- India
Twelve questions skincare ecom leaders actually ask
Book a free 30-min skincare-Magento consultation
Tell me your SKU count, subscription share, and Rx-handoff plans. I’ll send a written platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.
Message me on WhatsApp
No form to fill. Send me a quick message. I reply during 10 AM to 7 PM IST, Monday to Saturday.
Helpful to mention
- Current platform
- Store URL
- Annual GMV (USD)
- Subscription share of revenue
- Primary category
- Compliance focus
These are already in the message for you. Just add your answers.
Message me on WhatsAppOr save my number: +91 84012 70422