UX Recipe

Push Notification Consent

A soft-ask pattern that respects user attention and maximizes opt-in rates without dark patterns.

Stay in the loop

Get notified when your reports are ready, team members mention you, or scheduled jobs complete. No spam — only the signals that matter.

Enable notifications
Maybe later

You can change this anytime in Settings → Notifications.

1. Context first

Never trigger the native prompt on page load. Wait for a meaningful moment — after the user completes an action that benefits from notifications.

2. Soft ask

Show an in-app primer before the browser dialog. Explain the value proposition. Let users self-select before the OS gate.

3. Graceful decline

A visible “Maybe later” option preserves goodwill. Never guilt-trip. Never block core functionality behind consent.

Implementation notes

  • Use the Permissions API to check current state before showing the primer.
  • Store a “primer dismissed” flag in localStorage to avoid re-prompting on every visit.
  • If the user previously denied at the OS level, direct them to browser settings instead of re-triggering the prompt.