These are all great ideas. In giving the "gift of experiences" a few years ago we made coupons good for various activities. Our kids, who were about 9 and 11 at the time, thought they were incredibly cool and read each and every one aloud. They didn't cash them all in but every so often we'd remind them and they'd go through and pick something out. These were everything from a cooking or knitting lesson to a visit to a local wacky museum to ice skating. Not only did we give experiences--we also spread the cost of doing so over the year instead of taking a big December budget hit.
One more idea for those who live somewhere that makes it difficult to buy local and who end up buying online: If you use AmazonSmile, smile.amazon.com, as your starting page you can designate one of thousands of charities both large and small that will receive 0.5% of your eligible purchases as a donation from Amazon.
As long as you remember to "start your shopping with a smile." you don't have to think about it again until/unless you want to designate a different charity. The tough part is remembering NOT to start at the regular Amazon site; they don't reward your designated charity for purchases made there.