Discover how to boost app retention by mastering the art of permission requests. Learn strategic timing and context to engage users effectively.

Did you know that the average app loses 80% of its daily active users within the first 3 days post-install? Most people download an app, open it once, and delete it. This happens because users try out a lot of apps but decide which ones they want to delete within the first few days.

Image credit: Material Design

Are these user behaviors a result of poorly made apps? Not always, but the first interaction with the app plays a key role in creating an overall impression (either good or bad). When users open a new app, the last thing they want to see is multiple popups in a row asking for permissions:

  • App Would Like to Access Your Locations
  • App Would Like to Access Your Contacts
  • App Would Like to Access Your Camera

This action has a very negative impact on user experience and usually leads to the app being discarded. The app needs to be able to keep in touch with users before asking for permission in order to retain engagement. This article will help you avoid common pitfalls in your permission request logic.

Build a strategy

When it comes to requesting permission, the worst thing an app can do is bombard users with permission requests without any notice or explanation. Asking your users for permission too early or for too many things at once is a common mistake. And yet, many apps still do that — right up front, as the first thing the user sees when opening the app. For example, Inbox by Gmail asks for permissions even before its onboarding tour, with no additional information or context.

Image credit: Inbox by Gmail

When you send permission requests, you expect all users to accept them. To achieve this goal, you should build a permissions strategy. The strategy depends on the clarity and importance of the permission type you are requesting. Critical permissions should be requested up front, while secondary permissions may be requested in context.

Permission request patterns. Image credit: Material Design

When to ask the user

One of the biggest factors that determine whether users accept or deny your requests is when they occur.

A simple rule: Don’t ask a user for access until you really need it.

Ask up-front only for critical permissions

For many apps, not getting access to data can change the entire user experience. For example, if an app depends on an SMS service, declining access to the service makes the app useless. Luckily, users expect a messaging app to request SMS permissions, so requesting it up-front makes sense.

Image credit: Google Hangouts

When more than one permission is needed for a feature to work, ask for those permissions and nothing extra.

Takeaway: Make sure the user clearly understands what the app does (based on the app’s description or previous familiar experience) and ask up-front only critical permissions that the user expects the app to request.

Ask for permissions in context

In most cases, if a new user experience begins with a set of permissions requests, you may be missing a critical opportunity to engage users. Apps should ask for permissions in context and communicate the value the access will provide. Once users are engaged, they will be more likely to accept your requests.

Image credit: thinkwithgoogle

Takeaway: Users are more likely to grant permission if asked during a relevant task.

How to ask the user

Apps should clarify why each permission request is needed, either through the feature name or an explanation provided. Remember, if you want to get a Yes answer, you have to ask nicely.

A simple rule: Make sure it’s crystal clear for users what they’ll get in return for accepting the request.

Benefit explanation

Permissions that are less clear should provide education about what the permission involves. If your app has a walkthrough, use it to explain what your app does and why unexpected permissions will be requested.

Image credit: Material Design

Another well-done example is explaining permission in context. It helps gauge user interest and improve comprehension of the permission. Try to explain to a user the benefits they’ll receive by giving the app access.

Image credit: Google Maps

Priming during the request

You can do this by providing a background image that explains the permission request. Foursquare primes users by providing a background image that explains why the app needs that particular permission.

Image credit: Foursquare

“Primer” Message Before Actual Permission Request

You can only trigger the iOS default permission request once per feature. The worst possible thing is for a user to deny permission at the system level because reversing that decision in iOS is very complicated. In most cases, it’s better to “prime” your users to accept requests before the actual iOS permission request screen appears.

Cluster is a good example of priming before the request. Its flow includes a context-building screen, a primer, and finally, the permission request. Using pre-permissions dialogs almost eliminated the “Don’t Allow” problem for Cluster.

“Primer” is a pre-permission educational overlay with a dialog. Image credit: Cluster

Ask in the context of action

User-triggered dialog works even better than a context-building screen because users are expecting the request and are more likely to allow permission when they want to use the feature it enables. Wait until a feature is invoked to request permission. When the user taps a feature like a camera in the Cluster app, that triggers the request for photo permissions.

Prompt users to accept permissions only when they try to use the feature. Image credit: Cluster

How to deal with denied permissions

Because denying permissions may prevent a feature from working as intended, whenever permission is denied, it should be explained to the user.

A simple rule: You should provide feedback whenever permission is denied.

Critical permissions

If the app can no longer run because critical permission has been denied, explain why that permission must be allowed and offer a link to open Settings so the user can allow it.

Below is an example of Google Hangouts screen that explains that permission is needed for an app to function.

Image credit: Google Hangouts


Clearly, every app is different, but you should think about when the user would need access to different parts of their phone and data and make sure they expect to be asked. Improving the user experience is an ongoing process. Don’t miss the opportunity to prepare your user to accept permissions! Test each case to see what works best for you.

About the Author

Nick Babich is a software developer and author of a blog dedicated to usability.

Subscribe to
Icons8 Newsletter!

Stay tuned and get the latest news
in design world

Welcome to the community, buddy. We promise never to spam you.