Creating a Better Customer Service Workflow: Part 2 – Our Solution

Google Apps Customer Service System

In my previous post, Creating a Better Customer Service Workflow: Part 1 – The Problem, I gave an overview of the issues we’ve begun to face as we’ve introduced multiple people into our customer service workflow.

As you can see from the graphic above, our solution was simply Gmail. Well, a pimped out version of Google Apps Gmail that takes advantages of all of the unique features that Gmail has to offer in a manner that actually turns it into a pretty awesome customer service system for a small team. This solution sort of came about by accident. Since we use Google Apps Gmail on a regular basis, we’re always discussing all of the new features. One day Mike suggested that the combination of those would make for a pretty good customer service system. After some discussion, we all agreed, and we decided to give it a try.

How It Works

I’ve never been a fan of Gmail’s conversation view. In my personal Gmail, and in my Google Apps Gmail, I turn it off. However, for customer service, having these threaded conversations is ideal. This is the number one feature that makes Gmail an appealing customer service platform. It looks very similar to a ticketing system on the back end without having all of the downsides of a ticketing system I mentioned in the previous post.

Under our Google Apps account, we created support emails for our major sites, so detailedimage.support, lockerpulse.support, and sportslizard.support. Since we recently upgraded to the premiere business version of Google Apps, each of these accounts costs $50/year. We then routed all of our customer service emails to these new customer service addresses.

Stepping back for a second, the main downside of a shared inbox is that it can get messy if everyone isn’t on the same page. We made three simple rules: 1) every support email must have a minimum of two labels, one for the type of inquiry and one for the team member who is assigned the email, 2) emails should stay in the inbox until they are answered and then archived, and 3) if you’re passing an email to another person you should label it with their name, move it to the inbox, and mark it as unread.

Gmail has two features that make this super easy – address aliases and filters. We use address aliases to “tag” incoming messages from our contact form. For example, if someone picks “website issues” from the dropdown, the email will be sent to detailedimage.support+technical. Used in conjunction with filters, this allows us to automatically label every single incoming message with the type of inquiry and the person that should answer it. For instance, that email would be labeled “Site Issues” and “Team/Adam” because I handle all of the website issues.

This is absolutely huge. If I log in and there are 10 messages, I don’t need to look at all 10, only the ones that are labeled with my name. Given that there’s not a ton of overlap in our areas of expertise (I won’t be answering detailing questions, just like Greg won’t be answering technical questions), it would be a huge waste of time for someone to have to do this manually.

The last critical piece of the puzzle is Gmail delegation. Gmail allows you to grant other people access to your account to answer email on your behalf (like, say, a secretary). We took each support email account and granted access to each individual’s Pure Adapt account, making it super simple to switch between inboxes (remember, one of our goals was to not add complexity to our routine, and logging in and out of several Gmail accounts all day long qualifies as that). I’m the only one who answers questions on all three sites, so here’s what delegation looks like for me:

Gmail Delegation

When you send an email, it says that it’s from “Detailed Image Support (sent by [user])”, where [user] is the sender’s individual Pure Adapt email address. This lets us search by sender. For instance, if we want to get a quick look at all of the sent messages by a new customer service employee, to check for quality or quantity or response time, we can.

As an aside, because of this new system we have all stopped using the Thunderbird mail client and moved to using Gmail directly in the browser. It was a long time coming. Thunderbird served us well for years, long before we were on Google Apps, but the time had finally come to ditch it and move to the browser. Gmail is arguably a higher functioning email client than anything available on the desktop.

The Advantages

The primary advantages of using a system like this is that it solves all of the problems I mentioned last post. We can all see, search, and reply-to everyone else’s email. If someone goes on vacation, someone else can just step right in and pick up the slack. There’s never an issue of a customer contacting us twice in two different locations.

This also compliments with our internal “User History” system well. The system allows us to look up and modify everything someone has done on our site. We can search by all sorts of criteria, like name, email, user ID, order number, tracking number, etc. One of the bits of information that gets displayed is their inquires through our contact form, along with a corresponding request number, making it simple to then take that number and search it in Gmail to find the ensuing exchange. Down the road, I may integrate these two things further so that the entire conversation is available to view in their User History, but for now it seems to work really well. With a few clicks you can literally find out everything you need to know about a customer.

It also should be noted that the setup time for this was a huge advantage. Less than a day of time total on my end to configure everything, document it all, and then have a meeting to kick it all off. Compared with the setup time on a ticketing system, or the development time of a custom system, this was a breeze. Gmail is also a familiar interface for all of us, and it’s likely to be a familiar interface for our future employees, which will help cut down on the learning curve.

For what it’s worth, as we all move towards using mobile phones and tablets as complimentary email devices, Gmail is very well supported. Not something we really took into consideration, but it is nice to not have to worry about our ticketing system not having a mobile website/app for every platform out there. Gmail works well across the board. I know for me, it’s easy to switch back and forth between accounts on my Android phone.

The Limitations

Like with any system, there are some limitations. Here are the big ones to me:

  • Lack of stats. Even though we can search by user, and in Gmail you can see all of your account activity, we don’t have access to the types of stats most ticketing systems do. It would be nice to break things down by user, like average response time, number of requests handled, and overall time spent answering questions per day/week/month.
  • 10 person limit. You can delegate a Gmail inbox to up to 10 people. Not a big deal for us for a long time, but it’s a downside for sure when you talk about system scalability.
  • Conversation grouping isn’t perfect. If the subjects match, Gmail tends to group it into a conversation, even if it’s from a different sender. This has forced us to take any generic subject line like “Detailed Image Tracking Information” and change it to “Detailed Image Tracking Information. Order #12345” to avoid this. Kind of a pain, but not a huge deal.
  • No labs support. Gmail labs features don’t work when you’re in a shared inbox, whether you configure them in your account or in the master account. There are a few labs features I’d like to use, but we can’t.

That’s basically it. All in all, a relatively simple solution to what was becoming a big problem for us. We’ve been using it for about a month now and it’s been a huge improvement.

In my next post I’m going to discuss how we use synchronized text expansion to speed up our response time.

9 comments on Creating a Better Customer Service Workflow: Part 2 – Our Solution

  1. Rob says:

    Looks like a good system you’ve got there – I didn’t even know you could delegate. As for conversation view, I didn’t know you could turn that off, but I’m so used to it now I don’t think I’d want to…

    Is it possible to access delegated emails via IMAP?

    Also, I think your system is scalable to more than 10 users – instead of having all support emails go to one address, if you had order emails go to one address, website emails to another one and detailing ones to another one with each of those delegated out to 10 users then that’s 30. Admittedly it’d mean you’d then have 3 CS emails but I think it’s probably still one of the simpler solutions… and if you get to the point you need more than 30 CS staff then you can probably afford to build a custom system anyway!

    As for stats.. you could manually do random sampling or you could use RescueTime to see how long users spent in the delegated inbox each day/week/month/whatever. Not a complete solution, but might give you some useful data.

    • Adam McFarland says:

      Is it possible to access delegated emails via IMAP?

      You’d have to access them from the support account and not through your individual account, which really isn’t a big deal other than it won’t say who sent the email (which we can tell from signatures and labels anyway). If you use an IMAP client you could just set up a second IMAP account for the support email, which is probably what you guys are already doing.

      if you get to the point you need more than 30 CS staff then you can probably afford to build a custom system anyway!

      That’s kind of how we’re looking at it, we’ll worry about that problem when it becomes a problem. Not exactly on my radar at the moment.

      As for the stats, we probably will just do some random sampling in the beginning…and we *may* install some sort of monitoring software given the freedom this person will have.

  2. Rob says:

    It’s great you’ve got the technical side down and as well as this I’d be really interested to know how you handle unreasonable customer requests. Where maybe the customer wants you to do something that would cost you way more than it’s worth, or had a really shitty experience through an innocent mistake or sheer bad luck or is just generally a pain in the ass. How do you deal with them and stay calm? How do you get people to stop contacting you when you feel you’ve done all you can etc?

    • Adam McFarland says:

      That’s probably an entire post in and of itself 🙂

      Often times, my partner Greg and I will call each other any time we feel we’re dealing with someone who is being unruly or unfair and we decide together how to take care of it. It’s nice to get that second opinion from someone who hasn’t been agitated by the customer.

      In general though, if something is our mistake (we ship the wrong product or are missing a product) or a shipping mistake (FedEx damages the order), we take care of it right away and cover all of the costs, even if we ultimately take a loss (FedEx reimburses us for any mistake/damage that’s their fault). In general, those are the easy ones because the customers are usually pleasantly surprised with how fast we fix the problem. We’ll go as far as over-nighting a package to someone if they really need it the next day.

      On the flip side, we almost never honor any discounts after they’ve expired, and we don’t price match our competitors. We’re always running sales, so there’s always several other deals people can take advantage of. It doesn’t always result in the happiest customer, but if we honored every sale forever we’d fall apart (and open up a pandora’s box of requests). We’re only profitable because we craft certain sales to run at certain times in conjunction with other sales.

      I can almost always resolve any technical site issues with one or two emails. If it’s a bug on our end, I’ll give the customer a credit or something for free for the frustration.

      If someone keeps emailing repetitively, and it’s not regarding an order issue (usually detailing advice), we use the “stall” technique where we slowly space out our replies, get shorter and shorter with them, and increasingly point them towards our very thorough documentation on the website. Most people get the hint.

      That covers most issues. The other wacky things we take case by case and try to do our best to do what’s right and fair for both the customers and the business, which isn’t always easy. We do have a few really crazy customer experiences that Greg and I are planning on posting about at some point.

      • Rob says:

        Wow, sounds like there are some stories there! Thanks for such a great answer as ever.

        I agree that getting an opinion from someone who isn’t emotionally involved in the situation is the best thing. We’ve had things come up where we know that the customer is taking advantage of us, but also that it’s in our best interests to let them do it because of maintaining a future relationship. Stuff like that can be really hard to deal with if you know they’re in the wrong because pride tells you one thing but your business mind tells you something else.

        Do people often ask you to price match people or honour discounts when they’re invalid? Your page on your site with your policy on discounts/daily specials etc seems pretty clear on the matter. What do you mean about crafting your sales to run together – do you mean that you engineer them in such a way as to encourage a higher spend, or such that people can’t use more than one at once or what?

        How much power do you plan on giving non-partner CS people? I know that one of the many frustrations in life is when you have someone helping you with a support issue that isn’t allowed to do what needs to be done, but equally you need to ensure you look after your bottom line. Are you drawing up strict guidance, or giving training or something else?

        Would love to read about some of your more interesting experiences – I think that would make for good insight and an interesting topic for posts.

        • Adam McFarland says:

          Do people often ask you to price match people or honour discounts when they’re invalid?

          All the time. We always wonder – do Newegg or Amazon or Target or other big retailers get these questions as often as we do? I think they probably do but I guess I’ll never know for sure.

          What do you mean about crafting your sales to run together

          I just meant that the sales are all meant to run for a limited time, and if we let people combine them all together we’d be unprofitable. For instance, some people want to combine several days worth of Daily Specials into one order, and then combine those with a 15% off + free shipping special, and then add in the Weekly free item and the Monthly Specials at once…and they want the 15% off all of the already-discounted items. This request actually happens with some regularity. The time-sensitivity of the specials, and the fact that we only allow one coupon code per purchase lets us have a system where there are several sales running at once but almost no combination that loses us money. If you could retroactively apply every 25% off sale, free shipping sale, and free product sale we’d be broke!

          How much power do you plan on giving non-partner CS people?

          I think we plan on giving them full control to handle any regular issue, and ask that they bring any odd outliers to our attention. They’ll be working very closely with Greg for months before going off on their own, and even then Greg will still be involved a little bit so we’ll have some idea of what they’re doing. But I hope to give them full power to refund/credit/add products as they see fit, so long as it’s consistent with how we’ve handled similar issues historically. We’ll see how it works…

  3. […] of three posts. In Part 1, I’ll discuss the problem with the way we did things previously. In Part 2, I’ll go over our solution, and in Part 3 I’ll outline one of the major changes that […]

  4. Jeremy Birch says:

    May I ask how you’re changing the subject of incoming messages? I can’t seem to find a way to do this and I’ve found other people complaining they are unable to as well. This is a rather large hindrance with generic subjects being used and conversation view.

    http://www.google.com/support/forum/p/gmail/thread?tid=207f77f28633fe61&hl=en

    • Adam McFarland says:

      Jeremy –

      It can definitely be a pain. Two things we’ve done that help.

      Most importantly, since all of these emails are coming through our contact form, we have adjusted our contact form emails to create unique subject lines as I briefly mentioned in the post. For instance a question that used to come in as “Detailed Image Question” will now come in as “Detailed Image Question – Ticket #12345″…or something along those lines.

      Also, you can change the subject line when you reply to a message. You’ll see a link that says “Edit Subject”.

      But unfortunately there is no way currently to simply just edit and split messages up to make your conversations and archives better organized.

      Hope that helps.

      Adam

Comments are closed for this post.