Overview

“Prompting” refers to the process of asking users for permission to send them push notifications. Prompts are pop-up messages presented by the browser or mobile app and require the user to click “Allow” to be subscribed and receive push notifications.

Web Push works on Desktop, Android and iOS, but please note that web push for iOS requires some additional steps to configure. If you have a mobile app, see how to prompt for Push Permissions with In-App Messages.

Browsers provide their own native, system-level permission prompt, which is required to be both shown and clicked “Allow” for the user to subscribe to your website. Browsers now highly recommend websites be more selective when it comes to showing the native permission prompt. This is why using OneSignal Prompts or your own custom “soft prompts” before the native prompt is encouraged.

OneSignal prompts (soft prompts)

OneSignal soft prompts are user-friendly, customizable prompts that appear before the browser’s native permission dialog. These prompts do not subscribe users to notifications by themselves; instead, they help:

  1. Explain the value of subscribing to notifications (push, email, or SMS).
  2. Prevent browsers from automatically blocking permission requests.
  3. Launch the native browser prompt only after the user expresses interest.

Soft prompts are recommended by browsers and help maximize opt-in rates while protecting your domain reputation.


Prompt icon

To customize the icon shown in your web push notifications, go to your OneSignal dashboard: Settings > Push & In-App > Web Settings.

In the Site Setup section, configure the Default Icon URL. This icon appears in all your notifications unless otherwise specified.

  • Accepted formats: .png or .jpg
  • Recommended size: 256x256 pixels (to meet Safari’s requirements)
  • If left unset, OneSignal will use a generic bell icon

This setting can be changed at any time.

Image shows the Site Setup section of your web push settings. This is where you configure your website name, site URL, and default icon.


Permission prompt setup

Configure the prompts you’d like to display on your site to encourage user subscriptions. In your OneSignal dashboard, navigate to: Settings > Push & In-App > Web Settings > Permission Prompt Setup

From there, click Add Prompt to choose from OneSignal’s available prompt types. You can also edit any existing prompts already shown in the list.

Add new prompts or select the prompt you want to edit.

Each prompt type has different use cases and display behaviors. You can use them individually or in combination to guide users through the subscription process in a way that fits your website’s UX.

Available prompts are:

  • Slidedown: A visually prominent prompt used for push notifications and optional category selection.
  • Email/Phone prompt: Used to collect user email addresses, phone numbers, or both.
  • Subscription bell prompt: A persistent floating widget for push subscriptions, typically placed in the bottom corner of your site.
  • Custom link prompt: A customizable button or link embedded in your site that triggers the native browser prompt.
  • Native permission prompt: The required browser-level prompt that must be accepted for users to receive push notifications.

Slidedown & category

The Slide and Category prompts appear prominently at the top center of the screen on desktop and bottom center on mobile. These are high-visibility, soft prompts shown before the required native permission prompt. They do not subscribe the user on their own but help initiate the subscription flow.

Example showing the Slide Prompt with Category Tags.

To add a Slide Prompt:

  1. Go to Settings > Push & In-App > Web Settings > Permission Prompt Setup
  2. Select Add Prompt > Push Prompt > Push Slide Prompt

For Custom Code setup, within your OneSignal init code’s promptOptions object. Use the slidedown properties. See Web SDK Reference for more details.

The push slide prompt options.

For details on triggering the prompt, see Auto prompt & display settings.

Slide prompt text

You can customize the text displayed in the slide prompt:

  • Action message: up to 90 characters
  • Button labels: up to 15 characters each
  • Customization of font, size, or colors is not currently supported

Enable the text customization option in the dashboard. If no text is entered, default text will be used.

Slide prompt text options.

When finished, click Done and Save again on the next page to see this go into effect.

For Custom Code setup, within your OneSignal init code’s promptOptions object. Use the text properties. See Web SDK Reference for more details.

Categories

You can enhance the Slidedown prompt by adding categories—checkboxes that let users indicate interest in specific message topics (e.g., News, Sales, Updates).

  • Up to 10 categories allowed
  • Each category is stored as a Data Tag with a 1 (selected) or 0 (not selected)
  • Useful for segmentation and targeting messages by user preferences

You may display the category prompt again later to let users update their preferences. Previously selected values will be retained unless overwritten.

  • Label: what the user sees in the prompt. Recommended to capitalize the first letter.
  • Tag Key: what the tag in OneSignal will be. Recommended to use lower case and underscores (_) for spaces.
  • Update Instructions, Positive and Negative Buttons: if you choose to display the category prompt again after the user is already subscribed to push, the update instructions will be shown instead of the action message. This allows you inform the user they can update their categories.

Example categories. The Label is what users see while the tag key is what gets set as a tag key with a value of "1".

When finished, click Done and Save again on the next page to see this go into effect.

For Custom Code setup, within your OneSignal init code’s promptOptions object. Use the categories properties. See Web SDK Reference for more details.

For details on triggering the prompt, see Auto prompt & display settings.

Email & phone number prompt

The Email & Phone Prompt collects optional user contact information directly within a Slidedown. Each field has built-in validation to ensure correct formatting.

Once submitted:

  • New Email and/or SMS subscriptions are created for the user
  • You can start messaging them across these channels

To add this prompt:

  • Navigate to Settings > Push & In-App > Web Settings > Permission Prompt Setup > Add Prompt > Email/Phone Prompt.

Email & Phone Number Prompt Setup

Customize which input fields are shown, the text labels, and the auto-prompt delay.

Email & Phone Number Prompt Setup

When finished, press Done and Save again on the next page to see this go into effect.

For Custom Code setup, within your OneSignal init code’s promptOptions object add the type to be either email, sms, or smsAndEmail. See Web SDK Reference for more details.

For details on triggering the prompt, see Auto prompt & display settings.

Subscription bell prompt

The Subscription Bell Prompt is a small, persistent widget that appears in the bottom corner of your website. When clicked by an unsubscribed user, it triggers the Native Browser Prompt.

Because of its minimal footprint, the bell can be left visible at all times, making it a passive yet effective option for ongoing opt-in opportunities. It does not require dismissal and provides users with control over when to subscribe.

Subscription Bell Prompt

You can customize the OneSignal Bell Prompt’s color, size, bottom position, text and more! 🛑 You cannot currently change the icon image or place the bell in the top corners.


The Custom Link Prompt is a user-triggered button or link you can embed anywhere on your website. When clicked, it displays the Native Browser Prompt for push notifications.

Custom Link Prompt

Common use cases:

  • Below a blog post: “Like this article? Get updates as soon as we post!”
  • In your site footer
  • In a sticky header or floating toolbar

Native permission prompt

The native permission prompt is the browser-controlled dialog that users must accept to subscribe to push notifications from your website. This prompt is:

  • Required for subscription
  • Automatically triggered after OneSignal soft prompts (like a Slidedown or Custom Link)
  • Not customizable in appearance, text, or behavior

Native Permission Prompt

Browser native prompt behavior

Different browsers impose unique behaviors and restrictions to reduce spammy permission requests:

Chrome

Chrome 80+ may display a quieter UI instead of the full prompt:

  • Automatically applies to users who frequently deny prompts
  • Also applies to sites with a high rate of denials

Chrome implements back-off logic if the user clicks the “X” on the native prompt:

  • You have 3 attempts to prompt
  • After the 3rd dismissal, the prompt is suppressed for 7 days (source).

Firefox

  • Firefox 72+ requires a user gesture to trigger the prompt
  • Auto-prompts are blocked, and users must actively interact with a site element

Safari

  • Safari 12.1+ prompts require a user gesture
  • Auto-prompting is silently blocked unless triggered by a direct interaction

Edge

Edge uses a trust-based model:

  • If the site is untrusted, the prompt is suppressed and replaced by a bell icon in the browser bar:

Bell icon shown for unfamiliar or untrusted sites in Edge.

  • If the site is trusted, the native prompt appears normally:

Native prompt appears directly for trusted sites in Edge.


Auto prompt & display settings

To maximize engagement and avoid disrupting your users, it’s best to delay showing prompts until after they’ve spent some time on your site. OneSignal allows you to automatically display prompts based on user behavior using two delay conditions:

  • Page Views: Number of times the user loads any page on your site
  • Seconds on Page: Amount of time the user must spend on the page

These delays are applied using an AND condition, meaning both must be satisfied before the prompt appears.

Example: If you set the delay to 3 page views and 30 seconds, the prompt will display on the third page load, after 30 seconds have passed. If the user doesn’t interact with the prompt, it will continue showing on each page load (after 30 seconds) until it’s clicked or dismissed.

Slidedown prompt back-off logic

Once a Slidedown (Push, Category, or Email/Phone) prompt is shown and dismissed (via Allow, Cancel, or closing the dialog), it will back off and reappear on a defined schedule:

Interaction OutcomeNext Prompt Timing
First DismissalWait 3 days
Second DismissalWait 7 days
Third and later dismissals (not subscribed)Wait 30 days

For example, if the user clicks “Allow” on the Slidedown but then clicks “X” on the browser’s native prompt (without subscribing), the Slidedown will follow the back-off cycle above.

This logic applies to Push, Category, and Email/Phone Slidedown prompts. For native prompt back-off logic, see Browser native prompt behavior.

If the user clears cookies or browser data, the back-off cycle resets and the prompt may appear again as if for the first time.


FAQ