1. Everything I want to buy I write down the best price I can find. For example a mouse at $48 or a game at $15. I will only buy at that price or better, which keeps me from falling for a "sale".
2. I set aside one spending account and debit card for all unnecessary purchases.
One day I was going home from a long day at work, I had some hard earned money I wanted to spend.
There was a gamer store. I just walked in, saw a mouse I had on my list for about 3 years. I didn't need it but it was under my budget. Swiped the spending account card and it went through.
Also once I had this large budget I didn't know what to use on. Took it all out from the ATM and gave it to my wife in cash. She was so surprised she suspected me of having an affair, lol.