I guess it depends on how close you are with this friend. One of my best friends is a little, shall we say, fashion forward. We've been friends for half my life, and she's also good friends with my little sis. She calls my parents Mom and Dad and has even lived with them for a year, and she spends holidays with us when she's in town. We love her. In the same way that you can love a family member because they are family who sometimes you don't want anything to do with because they can be real snots. She's a little shallow when it comes to her wardrobe and accessories and this is something we all know about her.
So, over the years, I have made her jewelry for a number of occasions. Most in sterling silver, once a gold and diamond stud earring. And she has never worn a single piece of it except the diamond stud. It always hurt my feelings a little, but even though I THOUGHT I had matched her style at the time, I obviously hadn't. It's just something I know about her, and I love her anyway, so I have never said anything except to gently tease her for never liking my gifts, too which she always gently teases back that they are lovely, just not for her.
Finally, this year I gave her two necklaces for her birthday that she adores. She wears them all the time and says she gets tons of compliments on them, and she wants me to send her some more items for her to sell because her friends always ask her where she got them.

But anyway, like I said, I guess it depends on how well you know them. Snowy can realy upset me sometimes. And she can be hurtful without realizing it. But we know her well enough to let it roll off our shoulders. We love her despite it, and we usually know what to expect. So what we might say to her is probably different than if you were not a close friend of the person.
For the latter, I confess that I don't give gifts to very many people I don't know quite well. But for me, I think I'd tell her that I'd have liked to know that when I gave her the gift, not some time later after she had already given it away. This is partly because then I might know better what kind of gifts she likes, even if I might not give her another soon.