I tend to agree with Lowel on this one – getting referral business is perhaps the cheapest & most effective way to get customers, but really starts with the shop’s ability to provide great service, then continues with a good referral system.
I think when you evaluate a marketing company, these are the key things to take into consideration:
1. Their reputation (obviously!) – based on results.
2. Transparency: You want reports, frequently, and you want visibility into your campaigns & progress made. Get cost per lead, and make them include their management fees as part of that cost!
3. No cookie-cutter solutions: It’s important you receive individualized attention & each account is looked at uniquely. Too often companies try to specialize & end up making a “cooke-cutter” approach to your SEO / PPC or whatever, when really each account has its own unique challenges & you don’t really fit into a box.
4. Education: Will the company take the time to educate you on how to make important decisions regarding your marketing?
5. Control: Always retain control of your accounts if you can. For example, many companies like to restrict access to your adwords account because it’d be too easy for you to switch companies. This one is tough to get, simply because many companies spent time developing keyword lists that are exhaustive.
Just my 1 cent!