Great Customer Service for Indie App Developers

Written by Reinder de Vries on March 3 2017 in App Marketing

Great Customer Service for Indie App Developers

Do you know Zappos, the online shoe retailer? It’s led by CEO Tony Hsieh, who’s famous for his “Zappos Model” on customer service.

In this article, we’re going to apply that same model to apps, and tweak it so it can be used by one single app developer instead of a whole team.

Let’s go!

Zappos: Good Customer Service

A few facts about Zappos:

  • Reportedly, new Zappos employees get $ 100 to buy 2 pairs of shoes from Zappos, one of which they have to return through Zappos’ website. It gives the new employee first-hand experience as a Zappos customer, and allows them to see the company culture through its customer channels.
  • All new employees start out as service representatives at a Zappos call center, and often return to it on a regular basis.
  • Zappos customers can return their shoes up to one year after purchase, if they made up their mind. Their call center is available 24/7.

It’s almost too good to be true – aren’t Zappos’ return costs through the roof? What if every customer would return shoes after a year!? Can’t they just tell new employees how to be great customer service agents? Why doesn’t Zappos avoid customers returning their shoes?

The crux of Zappos’ customer service model is the effect it has on its customers, not the return policy itself. (This is your key take-away for this article!)

Allowing customers to return for a longer period than most online retailers radiates competence and trust. It says: “We believe that you’ll be satisfied with your shoe purchase, but in case you don’t, we got your back anyway.”

Zappos’ customer service model levels with the customer. Instead of avoiding a potential downside, and “punishing” all customers for a small segment that returns shoes often, they reward their customers for their loyalty and trust.

But… another aspect of The Zappos Model stands out.

Learn how to build iOS apps

Get started with iOS 12 and Swift 5

Sign up for our iOS development course Zero to App Store and learn how to build professional iOS 12 apps with Swift 5 and Xcode 10.

The Zappos Model: It’s All About Availability

Many companies have built effective brands around trust, loyalty and competence. Think about Apple, IBM, Microsoft – trust is essential for a brand. Then, what makes The Zappos Model stand out?

It’s availability.

Customer service is central in the Zappos Model. You can’t just promise to take back shoes a year after they’re purchased and not be around to take those shoes back in. Customer service is all-or-nothing, you either love your customers unconditionally, or you don’t love them at all.

The availability of a support center, a sales rep you can personally speak to, is the single most important internal factor in the Zappos Model. External to that availability is authenticity of the brand and company culture through trust, loyalty and competence.

The big question is: how does that fit into the indie app model?

Customer Service For Indie App Developers

As an indie developer, you don’t have the cash to hire a 24/7 call center support team. It’s too expensive, and most likely overkill anyway. So how can you apply the Zappos Model to your own customer service?

As an indie app developer you have a customer service role, even if you don’t know it (or don’t want it). A few examples:

  • People that download your apps can return those apps for a refund
  • Your app crashes and an unhappy user leaves a critical (or downright hateful) review on your App Store page
  • A user forgot their password and emails you to ask to reset it, using the email address they found on your website

Bug reports, feature suggestions, fan mail and hate mail – you have incoming customer service requests, whether you want it or not!

Currently, the only way a user can reach you is through the email address listed on your App Store page or by leaving an App Store review. Even with the new rating prompt API in iOS 10.3, there’s no way for users to give in-app feedback.

When your app crashes or has a bug, do you think a user takes the time to send you an email, or will they leave a negative review on your App Store page?

Before a user can send an email they have to find your email address, copy it, draft a message, send it, and wait for your reply. Leaving a bad review is easier: find the app in the App Store, rate it, write the review.

Most importantly: the unhappy user knows that their negative review ends up publicly on your App Store page. They are semi-anonymous, and until recently, you couldn’t respond to negative reviews. This anonymous commenting, similar YouTube’s comment section, can cripple your App Store page and its rating.

Suffice it to say, ratings matter:

  • 77% of people read at least one review before downloading an app
  • Jumping from a 2 to a 4-star rating can effectively double your app store conversion by as much as 680%
  • 73.2% of people indicate being likely to leave a review after a negative app experience

(Source: AppTentive)

It’s really easy to leave a review to complain: bugs, unclear UI, the inability to purchase or restore IAPs, etcetera. Unfortunately for you – the indie app developer – the review is public and greatly influences your App Store ranking.

Is it possible to avoid that these app users leave a negative review?

Learn how to code your own iOS apps by mastering Swift 5 and Xcode 10 » Find out how

In-App Messaging: Contextual, Frictionless, Trustworthy

The only way to do so, is to introduce a frictionless solution for contacting support in the most contextual way. In other words: apply a bandage when it still hurts.

A few ideas:

  • When a user starts your app, they’ll see a message or note that Customer Support is available. You’ve seen those chat icons at the bottom-right of a website, right? Apps can do that too.
  • In the app menu, or any other communication, include an option: “Support” or “Feedback”. When a user taps that menu option, they’re taken to an in-app message center. They can directly contact you or your support team and talk about their issues.
  • Don’t only use your app for communication with a customer. You brand is part of the product! Finding more ways to connect to your existing customers will increase engagement with your app, and it’s a great opportunity to tell them your customer service is everywhere.

If you save a “flag” in NSUserDefaults when your app successfully exits, you can track whether your app has crashed when the flag is missing. When the user starts the app again after a crash, you can apologize, and open up a chat with your in-app customer service.

Remember The Zappos Model? All it tells you is to build trust by being available when the customer needs you, and to make customer service a central point of your business. Instead of ignoring or avoiding negative reviews, you can turn the negative into a positive by applying the Zappos Model.

But… what if you’re a single indie developer without cash to hire a customer service rep?

Automation: Scaling Up To 24/7 Availablity

You’re not available 24/7! As a sole indie developer, you need your sleep. How can you still offer good service?

A few ideas:

  • When a user contacts you outside of “office hours”, you can show a message that the feedback is sent to your personal inbox. Then, instead of leaving the user out in the cold you can offer them a free coupon or a discount on their next purchase. Inform the user of your turn-around time, so they know they’re being heard. (This, in fact, is a great way to get a user’s email address.)
  • Use intelligent matching on the chat messages to find existing FAQ items. When a user inputs “I forgot my password”, you can match that to the Forgot Password FAQ item and send a link to the article to the user. When a user says “bug”, you can start asking for more information like “When did it happen?” and “What did you expect?” When a user says “feature”, you can ask them to explain what the feature is about.
  • When you’re getting too much customer service queries, it’s probably time to scale up. When your cashflow doesn’t allow that, reconsider your business model. Automation only works in an economy of scale. Eliminate before you automate!

With an in-app message center you’re automating customer service. That’s what Zappos did, too. Instead of making customer service a department, they made it so central to the operation of business that it almost became effortless. You don’t want your business, your employees or yourself to constantly decide how to address customers, and how to win their trust and loyality.

Automation is all about elimination: which steps can you remove to make the process as smooth as possible?

Instead of offering telephone support, you’re using in-app chat. You can intelligently match the text and suggest FAQ articles to the user when you’re not around. Also, you use your coding skill to contextually offer help on an app crash. You could even show a little tooltip on an app screen, to ask for help in that particular screen.

Next Steps

Still not convinced you need an in-app messaging center? Here’s a few reasons why you must install one:

  • Users leave less negative reviews and ratings for your app, because you’ve helped them before they could write a bad review. As a result, your app ranking is higher.
  • Users get in touch with your company culture, because you’re speaking directly to them. A central availability of customer service builds trust and loyalty.
  • You get feedback you wouldn’t get otherwise. An in-app message center has such a low barrier to entry, that users with positive feedback will find you too.
  • Indirectly, customer service is a sales channel too. You can directly tap into the need of a customer, and thanks to your good service they’ll stay loyal.

There’s no Apple API for in-app messaging centers yet. Fortunately, these companies have already created products that support in-app messaging:

Enjoyed this article? Feel free to share it!

Reinder de Vries

Reinder de Vries

Reinder de Vries is a professional iOS developer. He teaches app developers how to build their own apps at Since 2009 he has developed a few dozen apps for iOS, worked for global brands and lead development at several startups. When he’s not coding, he enjoys strong espresso and traveling.