In short: I counted the menus of 40 public skincare stores running on Shopify. 23 of the 40 put a skin concern in the header navigation, but only 12 let you filter the shop-all page by concern. 9 stores do both, which is the combination that actually lets a worried customer find their shelf.
Why I counted this
I design a skincare store on Shopify, and the first argument every project has is about the menu. Product types or skin concerns? “What’s in it” or “what’s wrong with my skin”? Everyone has an opinion; nobody brings numbers. So I wrote down what 40 real stores actually do.
How I counted
On 18 October 2026 I took 40 skincare and beauty stores that appear in public roundups of Shopify shops, dropped anything that is mainly shaving, grooming, hair or body care, and kept makeup brands that also sell skincare. Two of the 40 are multi-brand skincare retailers rather than brands. For each one I read the header navigation on the homepage, the filter list on its shop-all page, and its public collection sitemap, all fetched the same day with an English-language browser. Four stores (Tatcha, Topicals, Kylie Cosmetics and Pacifica) build their menus in JavaScript with nothing in the served HTML; for those I read the rendered page in a real browser instead of guessing. Topicals’ Shop and Learn dropdowns only render on click, so its counts come from the first level that does render. Most of the stores, 32, serve the US market; 5 serve the UK, and one each serve Canada, Ireland and Australia.
Finding 1: two ways to organise a menu, and most stores mix them
Of the 40 menus, 14 are organised purely by product type: cleansers, serums, moisturisers. 25 mix product types with something else: a concern column, an ingredient list, a routine builder. 1 store (Topicals) has a generic Shop menu with no categories visible at the first level. Pure “shop by concern” menus, with no product types at the top level, did not appear once in these 40.
Finding 2: over half of these 40 stores put a skin concern in the header
23 of the 40 have a concern-named entry in the header navigation: acne, redness, dark spots, ageing. 25 name skin types (oily, dry, sensitive). Routine entries appear in 11, ingredient entries in 14, and a skin quiz or finder link sits in 16 headers. In this sample the menu is not the bottleneck: most of these stores already tell worried customers where to click.
Finding 3: the shop-all page is where concern navigation dies
Only 12 of the 40 shop-all pages carry a filter named by concern. 10 filter by skin type and 9 by ingredient. On 12 of the pages there is no filter markup in the HTML at all, just a sort control and a grid. So even among these stores whose menu says “shop by concern”, the menu often lands you on a page where you cannot filter by one.
Finding 4: the cross-tab is the interesting part
31 of the 40 stores run at least one concern-named collection in their sitemap, pages like /collections/acne or dry-skin. Of those 31: 9 put the concern in the nav and make the shop-all page filterable by it. 14 put it in the nav but not the filters. 2 do the opposite, a concern filter with no concern in the menu. And 6 run the collections but expose them in neither place: the pages exist in the store’s sitemap with no organised way to reach them. 8 of the 40 have no concern collections in their sitemap. One further store, Topicals, is unverified because its collections sitemap redirects to a normal page.
Finding 5: how deep the concern shelving goes
Of the 40: 8 have zero concern collections, 3 have between one and three, 9 have between four and nine, and 19 have ten or more; 1 is unverified. In this sample the stores that commit to concern-based shopping tend to commit hard: the 10+ bucket is the largest.
The count, store by store
| store | market | menu logic | concern in nav | concern filter | concern collections |
|---|---|---|---|---|---|
| 100% Pure | US | product-type | y | n | 46 |
| Allies of Skin | US | mixed | y | y | 18 |
| Augustinus Bader | US | product-type | n | n | 0 |
| Baebody | US | mixed | y | n | 7 |
| Beauty Heroes | US | mixed | y | n | 6 |
| Beauty of Joseon | US | mixed | y | n | 24 |
| Blume | US | mixed | y | none in HTML | 14 |
| Cocokind | US | mixed | y | none in HTML | 13 |
| Derma E | US | mixed | y | y | 22 |
| Facetheory | UK | mixed | y | y | 22 |
| Fenty Beauty | US | product-type | n | none in HTML | 0 |
| Glossier | US | product-type | n | y | 0 |
| Glow Recipe | US | mixed | y | y | 18 |
| Herbivore Botanicals | US | mixed | n | n | 3 |
| ILIA Beauty | US | product-type | n | n | 0 |
| Indeed Labs | CA | mixed | y | n | 12 |
| Josie Maran | US | mixed | n | n | 0 |
| Juice Beauty | US | mixed | y | y | 18 |
| Kosas | US | product-type | n | none in HTML | 0 |
| Kylie Cosmetics | US | product-type | n | none in HTML | 0 |
| MCoBeauty | AU | product-type | n | y | 12 |
| Medik8 | UK | mixed | y | y | 12 |
| Morphe | US | product-type | n | n | 0 |
| Necessaire | US | product-type | n | y | 8 |
| Odacite | US | mixed | y | none in HTML | 15 |
| OSEA | US | mixed | y | n | 4 |
| Pacifica | US | product-type | y | none in HTML | 11 |
| Pai Skincare | UK | mixed | y | n | 14 |
| Pixi | US | product-type | n | n | 1 |
| Soko Glam | US | mixed | y | y | 10 |
| Summer Fridays | US | product-type | n | n | 4 |
| Sunday Riley | US | mixed | y | none in HTML | 3 |
| Tatcha | US | mixed | y | y | 18 |
| The Skin Nerd | IE | mixed | n | n | 31 |
| Topicals | US | n/a | n | none in HTML | unverified |
| Tropic Skincare | UK | mixed | y | none in HTML | 10 |
| True Botanicals | US | mixed | y | y | 9 |
| Tubby Todd | US | mixed | y | none in HTML | 4 |
| Versed | US | product-type | n | n | 5 |
| Votary | UK | mixed | n | none in HTML | 4 |
What this means if you run a skincare store
- Check the join, not the menu. The gap in this data is not menus, it is the shop-all page behind them. If your nav says “shop by concern”, the collection it lands on should filter by concern too.
- Six stores here run concern collections that neither the menu nor the filters reach. That is the gap worth checking in your own store: if you have built
/collections/redness, link it from the menu or the filters. - A quiz link is cheap and common in this sample. 16 of the 40 carry one in the header. If you cannot rebuild the menu this quarter, a finder link is a reasonable bridge.
- Do not copy the extremes. 19 of these stores run ten or more concern collections; that only works because their catalogues are wide. A store with forty products does not need eleven ways in, it needs the three concerns its customers actually have.
- Product-type menus are not wrong. 14 of the 40 use them. But if yours is one of them and your catalogue is skincare-led, you are betting customers already know whether they need a serum or an ampoule. Some do. The ones Googling their symptoms do not.
Corrections
Menus change, and this count is a photograph of one day. If your store is listed here and this is out of date, or I have misread your navigation, use the contact form and I will correct the row.
If you are building or rebuilding a skincare store on Shopify, this is the sort of thing I work on: see skincare brands.