Skip to content
Growth · 6 min read

The push opt-in prompt, done right

The fastest way to lose a subscriber forever is a browser permission dialog the second someone lands. Here’s the two-step pattern that respects visitors — and grows your list.

Updated By the Pusharoo team
In short
  • Never call the browser’s permission dialog on page load. A “Block” is permanent for that site.
  • Ask with your own branded prompt first; show the native dialog only after a yes.
  • Wait for a signal: a few seconds, a scroll, or a click on your own “Get alerts” button.
  • Remember “Not now”, cap how often you ask, and stop after a few dismissals.

Why the native dialog is a one-shot

When a visitor clicks Block on the browser’s own dialog, the site can’t ask again — they’d have to dig into site settings to undo it. Chrome may also switch noisy sites to a quieter permission UI. So the native dialog should only ever appear when you already know the answer is likely yes.

The two-step pattern

The two-step opt-inFirst your own branded soft prompt appears after a delay or scroll. Only if the visitor taps Allow does the browser native permission dialog appear. Not now is remembered and capped; a browser block is never re-asked.📖Visitor readswait ~8 s or 30% scrollthen💬Your soft promptyour name, logo, wordsAllowNot now🔔Browser’s own dialogshown only after a yes → subscribed ✅⏳Remembered, asked latercap in days · stop after N “Not now”The two-step opt-inFirst your own branded soft prompt appears after a delay or scroll. Only if the visitor taps Allow does the browser native permission dialog appear. Not now is remembered and capped; a browser block is never re-asked.📖Visitor readswait ~8 s or 30% scroll💬Your soft promptyour name, logo, wordsAllowNot now🔔Browser dialog→ subscribed ✅⏳Ask latercapped & rememberedA browser “Block” is never re-asked.
Never fire the native permission dialog on page load. Ask nicely first.

Pusharoo does this by default: your own soft prompt (your name, logo and words) appears after a delay or scroll, and the browser’s dialog only appears after the visitor taps Allow on yours. Options like data-delay, data-scroll, data-cap-days and data-max-dismiss are in the docs.

Timing that works

  • After engagement — a scroll of 30–50% or a second page view says “I like this”.
  • At a moment of value — after a purchase (“Want a shipping update?”), on a sold-out product (“Tell me when it’s back”), at the end of an article.
  • On demand — a bell or “Get alerts” button anywhere, wired to Pusharoo.subscribe(). Set data-auto="false" if you only want this.

Copy that converts

Say what they get and how often. Specific beats generic:

Want first dibs on deals?We send 1–2 alerts a week. Unsubscribe anytime.
Get new recipes first?One ping when a new recipe goes up. That’s it.

Avoid “Allow notifications?” with no reason. Avoid fake urgency. Always offer a clear “Not now”.

Measure and adjust

Pusharoo fires browser events — pusharoo:prompt-shown, pusharoo:subscribed, pusharoo:dismissed, pusharoo:permission — so you can send them to your analytics and compare timing or wording. Change one thing at a time.

Questions

What is a soft prompt?

A soft prompt is your own on-page message asking if the visitor wants notifications. Only if they say yes does the browser’s native permission dialog appear.

How long should I wait before asking?

Usually a few seconds plus a meaningful scroll, or a moment of value like after checkout. Pusharoo defaults to about six seconds and lets you add a scroll threshold.

What happens if someone clicks Not now?

Pusharoo remembers it, waits a few days (configurable) before asking again, and stops after a set number of dismissals.

More in Growth: Push notification click-through rate (CTR), explained · Push notification opt-in rate: measure it, then raise it · Push notification analytics that actually answer questions · Push notification deliverability: what really affects delivery · How to get more push notification subscribers · Switching web push providers: a practical migration plan · All guides

Free for life. No limits.

Unlimited subscribers, campaigns and automations. No badges. About five minutes to install.