Skip to content
Learn Measure Blog Case studies About
On this page
  • How the Lighthouse notification audit fails
  • How to ask for users' notification permissions responsibly
  • Resources

Requests the notification permission on page load

May 2, 2019 — Updated Aug 28, 2019
Appears in: Best Practices audits
On this page
  • How the Lighthouse notification audit fails
  • How to ask for users' notification permissions responsibly
  • Resources

Good notifications are timely, relevant, and precise. If your page asks for permission to send notifications on page load, those notifications may not be relevant to your users or their needs.

How the Lighthouse notification audit fails #

Lighthouse flags pages that request notification permissions on load:

Lighthouse audit shows page requests notification permissions on load

Lighthouse checks all JavaScript executed on page load. If the code calls notification.requestPermission(), and notification permission has not already been granted, the audit fails.

If notification permission was granted to a page before the audit, Lighthouse can't identify any notification permission requests. So, make sure to reset permissions before running the audit.

Lighthouse reports the URL and line number of each request for notification permission.

Each Best Practices audit is weighted equally in the Lighthouse Best Practices Score. Learn more in The Best Practices score.

How to ask for users' notification permissions responsibly #

Remove all calls to notification.requestPermission() that occur on page load.

To provide a better user experience:

  • Offer to send users a specific type of notification.
  • Present the permissions request after users opt in to the notification type.

Resources #

  • Source code for Requests the notification permission on page load audit
  • Web Push Notifications: Timely, Relevant, and Precise
Last updated: Aug 28, 2019 — Improve article
Return to all articles
Share
subscribe

Contribute

  • File a bug
  • View source

Related content

  • developer.chrome.com
  • Chrome updates
  • Web Fundamentals
  • Case studies
  • Podcasts
  • Shows

Connect

  • Twitter
  • YouTube
  • Google Developers
  • Chrome
  • Firebase
  • Google Cloud Platform
  • All products
  • Terms & Privacy
  • Community Guidelines

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies.