Why Build Progressive Web Apps: Push, but Don't be Pushy! Video Write-Up
A great article and video and sample by Thomas Steiner on good push notifications on the web. A particularly bad practice is to pop up the permission dialog on page load, without any context at all. Several high traffic sites have been caught doing this. To subscribe people to push notifications, you use the the PushManager interface. Now to be fair, this does not allow the developer to specify the context or the to-be-expected frequency of notifications.