Increase push notification opt-ins

Unlike Android, iOS does not allow your app to send push permissions by default, which means your app must explicitly get permission from each user before you can send them push notifications. Unfortunately, on average, only 42 percent of people opt-in to push notifications. And, once a user opts out by selecting "Don't Allow", your app cannot ask them for permission again; the user can only opt-in from the iOS Settings app, which requires multiple steps.

Luckily, you can greatly improve the number of push opt-ins by using a push pre-permission, a similar popup window that can be customized to explain why your app needs to send the user notifications.

Doing so has been shown to increase push notification opt-ins by as much as 182 percent.

Leanplum allows you to create and send targeted and triggered push pre-permissions from the Message Composer. This allows you to:

  • Experiment with when to ask certain users.
  • Customize the message text to explain the benefits of push notifications in your app.
  • Ask for permission at the right time.
  • Avoid the permanent "Don't Allow" option of iOS, so you can ask again at a better time.

You can even A/B test the message to ensure you're getting the best results.

Key Strategies

Ask at the right time

One of the key benefits to using pre-permissions is that you don't have to get it right the first time like you do with push permissions. But still, the fewer times you ask, the sooner the user will opt-in.

It's best to ask for permission when the user is engaged with your app, especially after a fun or positive experience (so they'll see the value in subscribing to push notifications).

  • For retail, try after a user makes their first order. Or - a bit earlier - after they search for a product or look at a promotion/deal. (e.g. "Enable push to get shipping alerts for your order")
  • For travel, try after a user books their first trip. Or calls their first ride. (e.g. "Enable push to get alerts about your flight")
  • For media, try after a user plays - or likes - their first video. (e.g "Enable push to get alerts when more great videos are added...")
  • For social, try after a user adds a new connection, likes something, or publishes their first post. (e.g. "Enable push to get notified when someone replies to your post")

A/B test it!

In Leanplum, you can A/B test the use of push pre-permission easily. This lets you measure how much pre-permissions have affected push opt-ins.

Going beyond a single A/B test, if you'd like to experiment with different triggers and measure results for each to see what works best, we recommend creating multiple push pre-permission messages targeted at different audiences. You should then A/B test each message against a control group that does not receive the pre-permission message. This way, you'll see which technique had the greatest improvement vs. the default of not sending a message.


For our travel app, let's send a push pre-permission after a user books their first flight. Note: for this example, we must track a Leanplum event called "bookedFlight" when a user books their first flight in our app.

In the Composer, create a new push pre-permission message and simply set your Targeting criteria to User triggers Event and enter the event name "bookedFlight". For a refresh on how to create an in-app message, click here.

The default targeting is all users, but you can limit the audience to a specific user segment. So, if we only want to send this to U.S. customers we could use the Localization > Country option under Targets.

Note: You do not need to limit the audience using "push support is off". The pre-permission message by default will only be displayed to users that have not opted in to push notifications.

Next, add this message to an A/B test, and be sure to leave targets and impression criteria, since your message's settings will be applied for you, and verify that the pre-permission message is disabled in the control group. You could choose to fine-tune the audience and distribution to control how many of targeted users are entered into the test (audience) and how many are split into the control versus the variant (distribution). For a refresh on how to create an A/B test for a message, click here.

Was this article helpful?
Have more questions? Submit a request