How to effectively ask for permissions in web

Matt Wilcox writes that it’s meaningless to ask a person to subscribe for notifications when they’re visiting a site for the first time.

He’s right. Here’s how to ask for permission to make it effective:

1. Find the right moment#

In mobile apps, 60-70% of users dismiss the permission request if it’s requested straight on the first launch.

Asking the user to subscribe for notifications when they visit a site for the first time is ineffective. They don’t know anything about you yet. It’s likely they’ll just block your request.

Instead, find the right moment:

Wrong Right Why
Asking to share the location when a user opens a pizzeria site Asking to share the location when a user clicks “Show pizzerias nearby” on a pizzeria site In the latter case, it’s clear why the site is asking for the permission. In the former case, it’s not
Suggesting to subscribe for notifications when a user visits a news site for the first time Suggesting to subscribe for notifications when a user visits a news site for a third time in a week In the latter case, the user is frequent, so they might find notifications relevant. In the former case, they don’t even know what content the site has

2. Show a custom permission request at first#

This is how e.g. a Russian media called TJournal does this:

A custom non-modal popup in the top left corner of the window. Text: “Would you like to subscribe to important news from TJ?” Buttons: “Yes, I would” and “Close”
“Would you like to subscribe to important news from TJ?” – “Yes, I would”

TJournal won’t trigger the browser request until the user clicks the “Yes, I would” button. There’re two reasons for this:

  • If the user blocks the browser request, you won’t be able to ask for the permission again. On the contrary, if the user dismisses your custom request, you’ll still be able to ask again in a different situation – e.g., when a user clicks on a “Subscribe” button in a different part of site.
  • The browser request is non-customizable. You can’t put a picture or a custom text there. But you can with a custom request.

3. Finally, if a user accepted the request, show them the browser dialog#

This one:

That’s it.

Further reading#

Author: Ivan Akulov

I'm a software engineer specializing in web performance, JavaScript, and React. I’m also a Google Developer Expert. I work at Framer.

2 thoughts on “How to effectively ask for permissions in web”

  1. Great read, cleared a lot of things that lingers in mind, I have a site fashiontrends.pk/ that uses location access to show nearby boutiques and fashion stores, due to improper UI setting the users have difficulties selecting their cities(working on it). Because of the opportunities and marketing issues the default access to location seems a preferable choice. How to get around this in your opinion?
    Many thanks in advance.

    1. I’d suggest to either:
      a) show a custom permission popup first – and explain the benefits a user will have if they allow the access. A-la “Please allow us to access your location to show nearby boutiques [Button: Allow]”

      b) or build your UX in a way that the site works well without location access but suggests to share the location to improve the experience. E.g. you could guess the user’s city based on IP, show most popular stores in that city and add a block with the text like “Share your location to get even more precise recommendations. [Button: Share]” into the header.

Comments are closed.