Designing a contact form
Recently, a colleague asked me how I would redesign a contact form on a website. An e-commerce site he was working on had a “basic” (as he claimed) form where you had to provide:
- Your full name.
- Your email address.
- Your postal address.
- The type of your question, with a series of choices.
- The subtype of your question, with the choices which depend on the previous field.
- The checkbox that confirms you have read some legalese stuff.
- The text zone for your question, limited to 500 characters.
- The checkbox that you check if you want to receive a copy of your message.
The stakeholders were complaining that:
- The company receives too many of the same questions and complaints.
- The type and subtype are not correct in most cases.
One of the stakeholders suggested to put some artificial intelligence in order to understand what the question is about, and to provide, when possible, an automatic answer from a pool of predefined answers. The user is allowed to contact an actual human only when the new system is unable to provide the answer. So for instance if the user asks “How do I cancel my order GT-85409?” which can also be rephrased as “Hi. I made an order a few minutes ago, but I changed my mind. How do I cancel it?” the system should automatically reply with the instructions about the order cancellation, the cancellation policy, and the conditions.
This approach is totally wrong, and shows a complete misunderstanding of the actual problem.
The first question the business need to answer is who's the customer. Is it the guy who buys the product, or the persons from the support? I bet it's the guy who pays the money. The business should focus on responding to the needs of the customer. Here, the business is completely disregarding the customer itself.
Imagine the same situation in a supermarket. You come to buy whatever you need to buy there, for instance a new washing machine. You're unsure about the shipment cost. You catch a person who seems to work there, but instead of answering, the person tells you to fill a form first. Then, he tells, the form will be processed by a computer, and maybe then, he might answer your question, but not before. Would you happily do what he says, or call the security to tell them that there is a crazy guy walking in the supermarket, disguised as the staff? Why would your reaction be any different when you're shopping online?
The raison d'être of a business is to serve its customers. Not to make their life miserable to make a support person happier, or to satisfy the sick need of a stakeholder to put whatever fancy technological stuff is there at a given moment. Customers don't care if you're doing machine learning or big data or microservices, nor does he care about paradigm shifts, cloud computing, digital convergence, or other crap. Nor does he care about the happiness of a support guy. By showing that you care more about those things that you're caring about the customer, you're doing a bad job.
Back to the form itself, marketing guys love collecting data. They want absolutely to know who their customers are, where are they from, are they married, and how many pets they have. This is all very interesting, but here again, it doesn't bring any value to the customer to have to spend ten minutes filling a form.
Categories are another thing which is absolutely wrong. I shouldn't have to scroll through all the options in order to contact a company. An argument I hear the most when trying to explain that it makes no sense to force the customers to choose between the categories is that “it makes it easier to redirect the question/remark to a correct department.” I'm sorry, but I don't see why I, as a customer, have to do the work that should be done by the personnel, just to make the life of the personnel easier. Once, a person even responded that “the personnel doesn't always know where to redirect a given question/remark.” I really don't see why I'm supposed to have a better understanding of the organization of a company, than the persons who actually work in this company. Another person gave a different reason: “well, actually, sometimes we don't know how to classify a question/remark, because it doesn't fit the cases.” Right, let's talk about the cases.
A few days ago, I was expecting a shipment to arrive. The tracking showed that the shipment is about to come, and then, it showed that it was delivered, even if nobody came. A few minutes later, I received an email asking me to provide my feedback about the delivery man. When I gave 1/5 stars, I got the question why was my rating so low, with several choices. Was he impolite? Or was the parcel damaged? Or was he late? Followed another three or four reasons, all assuming that the parcel was delivered. Essentially, I was forced to check a wrong case, because the company never assumed that their delivery guys don't bother to come.
With contact forms, the same problem happens all the time. You have something to say, and then you waste your time trying to find a category which would be the least irrelevant. What for? How putting something irrelevant would help the support guys? Or how should it make me happy and willing to continue dealing with the company?
The idea of artificial intelligence preventing the customer to get any support is beyond stupidity. Essentially, the person has to guess how to trick the system in order to get to the real person. While it could be fun for a hacker to do, it is much less fun for a customer, who usually has other things to do. The support shouldn't be conditioned by the merit of being able to hack a system. Don't do that.
Any contact form should contain two and only two fields:
- The email address (or a phone number, if the user prefers to be contacted by phone; note that it's up to the person to choose).
- The message itself.
Any additional field is just showing to the customer that you don't care about him.