How to Use Surveys to Get Great Feedback From Your Users

Gathering great feedback is an invaluable for growing your app, but your customers are busy and it’s hard to get them to tell you what you could be doing better.

I’ve found surveys to be a fantastic way to get feedback from my customers. I can help them overcome issues, get ideas for features and even get new subscribers to my mailing list. You can also use any positive comments in your marketing efforts.

In this post, I’ll share the messaging I use to get people to take the survey, the questions I ask and the results I’ve seen. I’ll also be sharing the tools I use to tie it all together.

In the App

Here’s the prompt I show to my customers:

The message is shown in a component I made called Unobtrusive. It is very rough around the edges, but the source is available on GitHub so you may be able to save a little time by looking at it. My goal is to show the message but not interrupt what they are doing.

In the past I’ve used plain old UIAlertController (with style alert) to ask about the survey and I think it’s a great way to get started quickly – as long as you are considerate about where in the flow you pop up the message.

I offer the prize as a bit of incentive to users to give their time. It seems only fair. You might think that this would encourage a lot of people to submit an empty form just to be part of the draw, and this does happen, but actually, once people see I am a real person rather than a faceless app factory, the vast majority give useful information.

I do think you need to be careful about when to show this prompt though. If you show it too early in the flow it is less likely that users can give useful feedback. You also don’t want to show it too often and cheapen your app.

For my weight tracking app I only show it once they have made three separate entries and I am confident that they have had a chance to get to know the app.

In other apps I’ve shown the prompt the second time they use the app. Only you know when it’s best to show this to your users so do give it some thought.

I wouldn’t show the message too many times though. With this prompt I show it 3 times max, and if they tap to dismiss it I don’t show it again. For an alert dialog I would only show it once.

You can certainly experiment and see what works best for you and even consider adding analytics to track your response rate. And then A\B testing different messages.

When the user taps the “Yes!” button they are taken out of the app into Safari and the online survey.

The Survey

You can check out the survey itself here. This is actually a copy of the one I use, not the one in the app, so feel free to go all the way through and submit if you want to see the whole flow.

The core questions to ask are:

  • What should we STOP doing in {app name}?
  • What should we START doing to not only meet but exceed your expectations?
  • What should we keep doing the same? What do you like about {app name}?

This might feel kind of repetitive, but it works really well and this kind of technique is often used in professional surveys.1

I’ve also found these broad questions to be more successful than asking specific questions like: what feature would you like to see next?

You can download all the texts in a swipe file here. It includes:

  • The intro
  • Core questions
  • Questions about the mailing list
  • Automatic response

If you look at the sample survey, you’ll notice that I ask people if they want to join the app’s mailing list. I was expecting that no one would do this and that I would turn it off in after a few weeks, but in fact, the sign-up rate is about 40% and it gets more subscribers than people signing up from within the app.

What to Do With the Responses

I have it set up so that the responses are emailed to Help Scout (a helpdesk platform) so I can deal with them along with other customer support emails, which I do once a day.

First up, I send an automatic reply thanking them and confirming they have been entered into the draw.

Then, when I’m looking through the responses, I’ll process them with one or more of the following actions:

  • If they ask for a feature that is already there I will reply and explain how to use it
  • If they ask for a feature that isn’t already there I’ll add a tally to my feature request spreadsheet. I also tag the message in Help Scout so I can email them if/when I implement the feature
  • If they ask something that doesn’t quite make sense to me I’ll ask a follow-up question
  • If none of the above criteria are met, depending on how busy I am and how much other mail there is, I may just reply anyway and say thank you, especially if they have said something nice

I find that people appreciate the personal response, but there’s certainly no expectation to reply. If I’m very busy I might not reply at all.

Survey HOWTO

I use Typeform to create the survey. It’s possible to use a free Typeform account, although I think you need to use the paid Typeform option if you want to do the mailing list integration.

I use Mailchimp and it gets sent new subscribers using this Zapier Zap. It’s very easy to setup and you can use the free tier of Zapier.

You can download all the texts in a swipe file here.


I get just less than one survey response a day (0.8 per day to be precise) which is a good amount for me and I haven’t tried to increase it.

Another approach could be to try and get a really high response rate, but only leave the survey running for a short amount of time.


I’ve found adding surveys to my apps makes a real difference in bringing me closer to my customers, helping steer future development and guiding people to existing features which they didn’t know about.

I hope I’ve given you the tools and inspiration to try it in your own apps!

Leave a Reply

Your email address will not be published. Required fields are marked *