I know a lot of well-intentioned people who give haphazardly. A check to some charities they get mail from, a pledge to the organizations that call them, a few dollars in the Salvation Army kettle, change to homeless people.
(The most extreme case I've seen, from my days working at a nonprofit, was an elderly man who sent $3 checks to 75 charities. Since it costs more than that to process a donation, this poor guy was spending $225 to take money from his favorite organizations.)
That's not to say you have to pick only one cause to donate to. Maybe you want to give to organizations that benefit you, like your public radio station or place of worship. Maybe it warms your heart to give that guy on the street corner a few bucks. Maybe your daughter's school is doing a fundraiser and you want to support her.
There's nothing wrong with spending money this way. It's like buying a magazine subscription, or lunch with a friend, or anything else that nourishes your spirit or your bonds with other people.
The problem is when you give some money here and there as the mood strikes you, and by the time you think about giving to something that saves lives, you think, "I've already done my part."
But random donations are not the same as effective charity.
$50 toward the utility bills at your church is not the same as $50 to vaccinate a child against a disease that may kill him. $500 to your alma mater is not the same as training a community health worker in Mozambique who can help her neighbors stay healthy. If your child were in danger, you know how you would choose to use the money.
So make a plan. Figure out who is doing good work in a field you think is important, and decide how much you're going to give in the next year or so. Then, budget a separate amount for feel-good giving.
That's something you can feel good about.