Technology gives us an increasing number of ways to pay for stuff. When things are easy to physically pay for, we buy into the illusion that they are financially easy to pay for. You are a lot more likely to make a spur-of-the-moment purchase if you can pay for it before you have to think about it.
Take it upon yourself to limit the amount of payment options you have access to. If you were to only carry cash, for example, then you would have a fixed amount of money in your pocket to spend, and in order to spend more than that, you’d have to take the time to go to the ATM or go back home. When you have to take a little bit longer to pay for something, you have time to reflect on whether or not you really want to spend that money.
Carrying just a debit card instead of cash might work if you’re the type of person who finds it very easy to spend “pocket cash.” If your dollars seem to disappear, a debit card might help you take each purchase more seriously. Open an account just for your discretionary spending and keep the money you need to pay your bills in a separate account.