Non profits get a note of sympathy because they are human and ethics based.
A zoo, a cat shelter, a church, a cultural organization.
One of the best ways to get my word out, as a non-profit, is to team up with a for-profit business for a day.
Say, a cat shelter wants to raise awareness of their foster-home program. They should talk to local for-profits. Not just any for-profit business. A for-profit that is (1) small business (2) sells fairly cheap/dispensable goods (3) high traffic. Such a business can be a frozen yogurt store, a local bar, a costume jewelry retailer. In other words, a business that sees on-a-whim customers.
The non-profit can join efforts with the for-profit for that day, doing business together. As a result, the non-profit can get a percentage of the day’s profits, and at the same time promote the for-profit and get promoted via the for-profit.
The for-profit benefits as well. Since the non-profit is trying to raise awareness, and PR their efforts, customers will sway to buy at the for-profit – as if to help the non-profit. In order to ensure that, do two things: (1) put up signs that the for-profit is promoting the non-profit (2) set up a donations stand.
On the topic of the donation stand: it’s the perfect plan. People who feel too cheap and too removed to give to the non-profit, will still gladly ‘give’ to the non-profit via for-profit. They are in that store to consume anyways, and will contribute to the non-profit indirectly.