To “allow” or not to “allow,” that is the question.

The Hopper app analyzes billions of flight prices daily to predict how prices will change, and tells you when to buy your tickets.

The app can predict — insanely accurately — if you should buy your tickets now or if you should wait, based on future price predictions. If you should wait, you can press “watch” and the app will literally watch the flight prices until it hits its expected “good deal” range (a historically great price), before your departure date, and then it will send you a push notification to buy. Whoa.

Our product team wanted more users to discover and understand the “watch” feature, and in turn, use it more. We were sure our numbers for conversion on this metric had not reached their peak and understanding users’ willingness to watch is an integral part of our product strategy. Given that the watch feature has important engagement hooks — i.e., a user who watches trips is more likely (by a significant multiplier) to return to the app and engage with it and other features — we wanted to make sure their first visit is set up properly and that they understood the value. We set out to improve our onboarding flow.

The Notification Problem

Notifications are really important to this “watch” concept. If the user doesn’t allow notifications for the app, they can’t receive our message that the price is at its expected low, completely undermining the power of the feature. Apple requires that you get permission from the user to send them push notifications, and restricts the firing of an iOS alert request to one time.

If the user presses “Allow,” all is well. If not, it is really difficult for a user to change course — they must exit the app, go into settings, find notifications, find the app in a long list of apps, and then set their desired level of notification.