Impulse purchases are always the things that trip up our budgets and cause us to overspend. You may not be able to avoid impulse purchases all the time, but you can limit them by rewarding yourself each month with something that you really want. Decide on something that you really want each month. When the impulse hits you to spend, ask yourself do I want this impulse item more than I want my designated reward. If the answer is no, set aside that money for your monthly reward. The reward should be something that you consider a real luxury or frivolous item. While it does not need to be expensive, it should be somewhat whimsical so that you feel that you have indeed rewarded yourself.
After having this squib in my Yahoo Notepad for a couple of years, I think, I finally figured out how to implement it. In my Clie's Memopad "Lists" category, I have a memo titled (ta-da) "Splurges."
In this memo, I list each month's name. Then, under each month, I list one or two splurge items I'm interested in. But, I also use this list to record my impulse buys and splurges I make throughout the month. I was quietly shocked at how many little items I bought for myself in February; none of them individually expensive, but taken en masse, most disquieting. I think when I'm busy, I have less time to shop and spend.
In any case, when I look at this list during my GTD weekly review, or when I'm hit with the urge to treat myself to something, I am naturally moved to consider my spending habits.