Graceful error handling is something that all good web developers pay attention to. There are too many weird scenarios out there for everything to work perfectly. Too many browsers, too many flavors of operating systems, and too many people that will do things that you never could have dreamed of.
When we were developing the new Detailed Image we weren’t sure what to do with people who were trying to place an order so large that we couldn’t return a shipping quote from the FedEx or USPS API. As you can tell from our shipping study, we take pride in accurately quoting and not just trying to get it right on average. It’s more fair to the customer and it’s better business for us.
After some thought, we decided that we’d send these people to a very nice error page stating that we were unable to generate a quote for them and that we would be in contact with them shortly to provide a quote. We figured that most people who saw the page would be people trying to place orders that would go in multiple large boxes, and we reasoned that those were orders that we wanted to handle on a case by case basis anyway. I had an email notification kicked to me any time someone reached this error page. I always emailed them back immediately apologizing and explaining that I’d be happy to help them complete the order. I figured that a lot of these email exchanges would lead to large sales. I was wrong.
The problem was that the overwhelming majority of people were just fucking around. Even though they can get a quick shipping quote on the shopping cart page (without logging in and going to the checkout page), some people liked to go to the final checkout page with like 400 items in their cart just for fun. And they liked to do it over and over and over and over, flooding my inbox with emails every 10 seconds.
Of the other people, I learned that they basically broke down into the same few cases. I had standard emails that I sent, but the majority of people never replied. Last week I finally realized that this was a feature that I could put on cruise control. All of my well refined standard responses could just be displayed on the error page. No new scenarios had emerged in months.
So I re-wrote the error page, set up a database to record the issues in case we need to go back and track them for some reason, and then got rid of the emails to me. Here’s what it says now:
Those emails were the majority of the DI customer service that I did. I probably just eliminated 95% of them without any loss in customer experience. If anything, providing the answers right away is better for the customer.
So why not do this from the start? All of this was a rather long way of saying that I had no idea what the problems would be when we started. So any time you launch a new website or new feature, I think that you need to approach customer service in a similar fashion:
- Collect every single bit of feedback that you can from every single customer. Reply to them all, apologize for any troubles, and ask a lot of questions.
- Create standard responses as soon as patterns start to emerge. Create a FAQ section. Fix any design and programming issues that are causing repeated inquiries.
- Once you’ve worked out all of the kinks and no new issues arise for a while (a few months at least), find a way to put the problem on cruise control so that you can save your time and move on.
I’d almost go as far as to say that having a FAQ page on launch of a new venture is worthless. Just make it really really easy for people to figure out how to contact you. You won’t know what the frequently asked questions will be until they are actually asked. And from my experiences with all of our sites, your guesses are always wrong.