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). And 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 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 permissions, in order to retain engagement. In this article will get you on the right track by helping 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 to bombard users with permission requests without any notice or explanation. Both asking your users for permission too early or for too many things at ones are common mistakes. 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 the request. In order to achieve this goal, you should build a permissions strategy. Permission 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 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 only 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 which user expect 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. Because once users are engaged, they could 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

Explaining a permission in context is another well-done example — 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 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. Cluster’s flow includes a context-building screen, a primer, and then finally the permission request. Using pre-permissions dialogs made the “Don’t Allow” problem for Cluster almost disappear.


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

Ask In Context of Action

User-triggered dialog works even better that context-building screen, because users are expecting the request and more likely to allow a 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 the camera in 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 thinking about when the user would need access to different parts of their phone and data, and making sure they expect to be asked. Improving the user experience is an ongoing experience. 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.

Try free tools for creators by the Icons8 team

Icons8, a library of about 120K+ free icons and free clip art images
Lunacy, free graphic design software with built-in design resources
Photo Creator, free collage maker with AI-based technologies to make custom photos for your story
Fugue, royalty free music for videos of any kind
Pichon, the desktop app to download icons and clip art and use them offline
Icons8 Photos, the big collection of free stock photos designed to work together
Ouch!, a library of free vector illustrations

Also, get the lists of free vector software and free photo editing software.

Subscribe to
Icons8 Newsletter!