To curb impulse buys, the best thing you can do is shop from a list. Think about it - what happens when you go to the grocery store without a list? You end up with random things that sounded good in the moment but don’t necessarily fit together to make a whole meal. When you meal plan and shop with a list, you actually buy the things you need to make a recipe. It’s the same with clothes. Many people wonder why they have a closet full of clothes and nothing to wear, but it’s this - it’s like having a pantry full of ingredients but no plan. If you buy clothes without thought to how they fit into the rest of your wardrobe, you’re going to end up with a bunch of random stuff.
Here’s what to do instead: define your style (pick a recipe), declutter (throw away that rotting head of broccoli), take stock of what's left (what’s in your pantry), and make a list of what’s missing. You might get rid of all the pants that don’t fit and find that you have plenty of jeans, but you’re only left with one pair of pants that’s appropriate for work. Put it on the list. Maybe every time you try to wear a dress in the winter, you don’t have the appropriate tights. Put them on the list. The next time you end up in front of a clearance rack, you’ll have a plan. If you find well-fitting work pants on sale, go for it. They’re on the list, you must need them! If they're not on the list, you can be pretty sure that you're being swayed by the bargain and that item will end up in the purge pile the next time around.
Do you use a list when shopping - grocery or otherwise? Do you think it helps?
P.S. My other tip to avoid impulse buys.