Update: Due to the threat of legal action, I've updated this post (and all linking posts) and removed all references to the company involved and replaced them with the name of a completely fictitious company - "FooBar Pty Inc". I've also changed the products involved so the "field of business" of the original company can't be identified either. Any comments that reference the original company have also been removed.
Update: 6 Jan 2010: I've disabled comments as it's becoming quite clear a lot of people are dissatisfied by the service offered by this company. If you have any issues, I encourage you to contact your local Trading Standards Office, Citizens Advice Bureau, BBC WatchDog and/or the Office of Fair Trading. I'm sure they'll all be more than delighted to offer some assistance in resolving your issue.
Update: 11 Oct 2013: The company that offered me my poor customer service and then threatened legal action because I was honest and didn't provide a glowing review has gone bust and their websites are now dead. You can now search Google for the company to see everyone else's experiences.
As I promised in my first update, I've made a list of tips they, and any other company can "take on board" and "assimilate" into their processes to provide a much better experience for customers as a whole, and when things go wrong.
Make sure customer facing stock values accurately reflect actual stock levels.
The whole beauty of shopping online is it's quick and easy and there's no need to ask the nice lady behind the counter to go check if there are any more out back if you can't see an item on the shelf. Generally, there is really no good reason for an online business's customer facing stock levels to not match what's actually in stock bar a few unforeseen circumstances like stock damage etc.
In theory the customer facing system and the stock management system should be the same system, just with different faces depending on the role of the viewer. The customer sees one view, purchasing see another and dispatch see another. All should be tightly linked with very little margin for error.
Only take payment at the point of dispatch, and only for the parts of the order you are dispatching.
When you go shopping physically, you don't pay until you're just about to walk out the door with the product. The equivalent in the online world is the point of dispatch. Not only will taking people's money at the point of dispatch improve trust in your business and remove the slight sense of unease people get when handing over money for a product they don't physically hold, it'll also save you money in transaction fees in the event you can't fulfill an order due to some rare system error or natural disaster or the customer just changes their mind. It'll also removes the need for you to put aggressive, accusatory and downright scary terms in your Ts & Cs like this:
This term/condition alone makes me feel my experience isn't just a one off.
Inform customers personally of stock issues etc that affect their orders immediately.
As I mentioned in my first point, customer facing and actual stock figures should be the same at all times, however there may be unforeseen circumstances, like damaged stock that hasn't been accounted for yet, that may result in a discrepancy for a small period of time. Luck has it that you WILL receive orders during this time, so you need to deal with it quickly and efficiently. Don't wait several days and certainly don't use an automated email for the first correspondence, especially when the customer ordered in the belief the item was actually in stock.
Ensure you acknowledge, document and follow up on ALL correspondence in a timely manner.
It is important that you acknowledge and document, even if automatically, all correspondence between your company and your customers regarding a transaction. Ideally this should be somewhere within the user's account so they can refer back to it if need be.
If you specify a date in any correspondence or specify a response time anywhere on your site, ensure follow ups and responses are sent on or close to the date/time stipulated. For example, if your email states you're expecting stock on 15 November, and this stock doesn't arrive. Ensure you follow up on the 15th when you know the delivery isn't taking place or first thing on the 16th. Don't send it any later. In fact if you're using an automated system to send out such notices in the first place, you can have the system send the follow up emails in a timely manner too. The same thing applies to responding to emails: if you say you'll respond within 24 hours, do so.
Sign off all manual correspondence with an actual person's name.
Generic sign offs are generally acceptable for automatic correspondence, but manual correspondence should be signed off with a person's name. It shows you do actually care about your customer and also indicates a certain degree of responsibility and ownership has been taken. This is especially important when things go wrong.
On the topic of using names, please please please identify yourself and company when answering the phone. This should be second nature in a work environment and conveys professionalism.
Don't mislead your customers.
On purely a customer level, this applies to all aspects of the shopping experience from product descriptions, stock levels and promises made in all correspondence.
If you can't guarantee accurate stock levels, don't advertise the fact the product is in stock when there's a very likely chance it's not. If you can't provide an accurate product description, don't provide one at all. If you can't keep your promises, don't make them in the first place.
Of course, in this day and age, you should really be aiming to run a completely transparent operation anyway. This will keep your customers and shareholders very happy.
A lot of these tips will fall into the realm of common sense for a lot of people, but they're things that are easily overlooked in an effort to get a business up and running and profitable quickly. Remember, it's all about the customer experience: if they don't enjoy the experience, they won't be your customers for very long.
Had "FooBar Pty Inc" employed these tips, my battle with them over the last 2 months would have been a lot less frustrating. In fact, "FooBar Pty Inc" really should have put their hands up right at the beginning and apologized for their system error, stated that they couldn't fulfill my order in the immediate future and weren't sure when they would be able to. They should then have offered to refund the cost of the kit to me and dispatched the rest of the order with a promise to let me know when the "FooBar" kit did come in stock, in case I wanted to order it then. As an added bonus, they could have thrown in a discount coupon code or similar token gesture for something like free delivery on my next order. It's something small and simple but would have made a huge impact on my impression of the way the company is run and their attitude towards their customers. I would also be more likely to make a larger purchase when the product did eventually come in stock.
Finally, remember the age old saying: someone will tell 3 people about a good experience. They'll tell 10 people about a bad experience. This is especially important to remember in the internet age when things like blogs and Facebook groups have major influence on companies and governments.