I don't think I've ever bought a gift bag. I keep all the gift bags we receive and reuse them, plus I make a lot of gift bags. I especially love the homemade ones, since they can so easily be personalized.
Trevor made a gift bag for his friend Jordan's 6th birthday. We started with a plain white lunchsack, alphabet stickers, and chalks. I helped Trevor arrange the letters in Jordan's name on a piece of clear plastic sticker backing, with the top half of the letters hanging off the top edge. Then we pressed them onto the bag, removed the sticker backing, and finished pressing the letters down. (I hope you all know that trick already- it is so helpful for making sure your letters are straight and evenly spaced!)
Next, Trevor used the sponge daubers to apply chalk directly over the letters. I love these things and highly recommend them, but if you don't have them cotton balls work just fine.
For the record, I don't normally have Trevor do messy crafts on the carpet of his bedroom floor. We keep his birthday card making supplies (paper, stickers, and crayons) in his bedroom, so he'd been working on Jordan's card when I started setting up the gift bag supplies. It wasn't until he finished the gift bag that I realized the mess potential. Fortunately, Trevor is the world's neatest 5 year old and nothing got on the carpet.
Here's the bag after he finished all the chalking.