I save two trade spots per month (for advertising on another blog) and give those out on a one month basis. It gives the advertisers a taste and then after a month they can decide if they want to pay or not. It also gets your blog name or shop out there.
Make sure you have information - pricing and stats - on an advertising page. I find more people respond when the info is right there and they don't need to email you for it. I also found doing my buy two months get one free special sparked interest.
And don't be afraid to contact companies and say, hey, I have this blog, it gets traffic and is in your target market, would you be interested. But you really have to prove to them that it will be worth their while. The more exposure you get, the more exposure THEY'll get.
If you have a company approach you for a giveaway you can give them the option of putting their blog in your sponsor section for the week of the giveaway and then give them the option of keeping it there for the rest of the month for a reduced rate.
And of course, people are followers, so if you get a few key companies advertising, then people are going to say - hey, if they are doing it, so should we.
Good luck and Happy Blogging!