A customer clicks "oily skin" on a filter bar and gets fourteen products back. All fourteen claim to control oil, reduce shine and refine pores. She's now looking at a shorter list, but she's no closer to knowing which one to actually buy.
That's filtering. It sorted the shelf. It didn't answer her question.
Filtering narrows a set. Matching answers a specific person's specific situation. Most skincare sites, and honestly most e-commerce sites in general, only do the first, and then call it personalisation.

What a filter actually does
A filter is a set of rules applied to a list. Tag every product with attributes like "oily skin," "fragrance-free," "under ₹800," then let the customer tick boxes until the list shrinks.
This works well for narrowing categories. It works badly the moment a customer needs a decision, not a shorter list.
Here's why. A filter has no idea that the customer's "oily skin" is actually oily-and-dehydrated, a combination that behaves nothing like textbook oily skin and often responds badly to the harsh, oil-stripping formulas a filter would happily serve up. A filter also can't weigh two products against each other. It can only include or exclude based on tags someone assigned at the product level, usually the brand's own marketing team.
A filter is a sieve. It removes what doesn't fit. It was never built to tell you what does.
What matching does differently
Matching starts from the person, not the shelf. It takes real inputs (skin history, current concerns, products already being used, reactions noted in the past) and reasons through which product actually fits that specific combination.
This is closer to how a good dermatologist thinks. A dermatologist doesn't hand a patient a filtered list and say "pick one." They ask a few pointed questions, connect the answers to what they know about how skin behaves, and land on a specific recommendation with a reason attached.
"Given your barrier is already compromised from over-exfoliating, avoid this active for now and start here instead." That sentence is a match. A filtered list of "exfoliants under ₹1000" is not.
The difference sounds small in language but it's large in outcome. One approach hands over options. The other makes a call.
Why this distinction matters more in skincare than almost anywhere else
Skin isn't static, and it isn't simple. Two people who both tick "oily skin, acne-prone, 20s" on a quiz can have completely different underlying causes: one hormonal, one purely topical, one made worse by a product they're already using without realising it.
A filter treats both of these people identically because they ticked the same boxes.
Matching treats them as different problems, because they are different problems, even if the surface symptoms look the same on a filter tag.
This is also where returns and bad reviews usually start. A customer filters their way to a "recommended" serum, uses it based on the tag alone, and it doesn't work for their actual skin. The problem often wasn't the product. It was that a filter, not a real match, put it in front of them.

What this looks like when it's built right
At Crea8, this is the distinction we build for D2C skincare brands. Not another filter bar dressed up with nicer copy, but a system that reasons through a customer's actual skin data and reaches a specific recommendation, along with the reason behind it.
That reason matters as much as the product itself. A customer who understands why a product was chosen for them trusts it more, uses it correctly, and comes back when it works. A customer handed a filtered list is left to guess, and guessing is exactly what leads to abandoned carts and returned bottles.
Filtering will always have a place. It's useful for narrowing a category before a real decision gets made. But brands that stop there, and call it personalisation, are leaving the harder and more valuable part of the job undone.
The shelf was never the problem. Knowing which bottle on it actually belongs to a specific person, that's the part worth building.