Tried a few new things this year, as of now this is what works best for us:
We run an emailing campaign aprox once a month for various things. This is done utilizing our existing customer database via the Sage ACT program. This generates a great deal of work by directly marketing to people that are already our customers.
Yard signs. Making sure all your vehicles have company lettering. Making sure all your employees are wearing company shirts with your logo and number. Ninety percent of our business is word of mouth and people that see us working in our area.
I am not in advertising, I am a roofer by trade. I suppose it depends on your particular area and what type of shop you run but I have yet to find any costly advertising that works well. For us it seems to be the "smarter" more creative things that work best. Do good work, be professional and don't neglect your current data base as a huge resource for leads. The only thing I would say to make a decent investment in is a solid professional looking website.