We implement a feature in our iOS app we want users to use whenever they use our app and if they have not there is a notification tell them “check this cool feature”. But how do I devise a notification frequency algorithm that won’t annoy my users? Currently, it is like once a day.

I have no idea whether the notification shows too often or too infrequently?

---- Update ----

From the answers I got so far, I think I will drop the notification and add some visual cues in the setting to catch users attention.

BTW, I personally hate this notification design. I got annoyed by myself (that was why I asked the question), but my boss forced me to do that.

  • Once per day is surely not a good idea, maybe you can notify user 2 days after the last use of the feature, and then if still not used then you can make the period longer by 2 days each time. And also you can increase the period longer if the user is not going into the app after the notification is received. Dec 2, 2016 at 10:26
  • You "want people to use" it. If they're not using it, then perhaps they don't think it's "a cool feature". Have you done any user testing to discover what they think of it, and whether they would get any benefit from it?
    – MMacD
    Dec 2, 2016 at 10:53
  • I wonder if random intervals are less annoying than predictable intervals. Dec 2, 2016 at 15:24
  • This depends entirely on the type of app, class of your app and market appeal of it -> compounded by demand for the type, class and appeal qualities of it. In other words, if you're cool, and your app is cool, you can get away with things you simply couldn't do in a professional dictation app for clinicians dealing with casualty victims coming into an emergency centre.
    – Confused
    Dec 3, 2016 at 3:26

4 Answers 4


By all means introduce new users to your app the first time they ever use it, preferably by guiding them through that "cool new feature". This is actually a very useful on-boarding technique, and you can use it to educate them about the features in your app (this technique actually comes from the gaming world).

However, do not keep notifying them, as this will get very annoying very quickly (an emotion you really need to avoid invoking, if you want your users to continue using it).

You can also provide a low priority feature in your settings or help menu, which re-runs the on-boarding feature, just in case the user decides they want to learn more. The point here is the user is choosing to view it again or not - not you!


Bombarding users with frequent hint screens causes them to dismiss hints more quickly, regardless of how helpful each may be. This can also make your app appear overly complicated to new users.

  • For the 3 answers, I got so far I like your best, especially a low priority feature in settings, i.e. some visual cues to get their attention. Dec 3, 2016 at 15:21

Learn. Test. Repeat. This will go deep into user personalization and your notification timing will differ for each user(set) unless you decide to use timing which suits the best set of users.

It will never be perfect but don't let it stop you. Currently we are working on something similar so, let me tell you the strategy you can follow to deliver the best experience.

Make an hypothesis of when exactly and with what frequency your users would be okay with notifications (don't go too aggressive in the beginning else you will loose a lot of users- have faced this in previous project). Deliver it and analyse results and you would have a new hypothesis which you will test next or throw out if failed (This will repeat forever and you would perform better than last time, bar the times you may mess up if not careful). Now to help you on technical side, you can use combination of tools like Clevertap and Segment.io, which we found the best out there or anything else you prefer.

But on user side, you can do a lot more...

  1. You can personalize notification timings for different set of users(Make these sets from data) and analyse and learn for these particular sets (which also will keep on changing).

  2. Notification timing doesn't have to be just based on your Hypothesis. Simply ask users (See apps like Curiosityand Google Now which do it quite well, if not perfect) and you will see how powerful that is. Ask at the right time, embedd it in design so that it is not forceful (be subtle about it and don't use pop-ups and all) and as a bonus, when a user tells you the time to send notification he would naturally interact more and you would see a rise in your engagement.

So, combine both one and two and you should have a system which takes data for individual users and a set of users into consideration and delivers best of output. Hope you have a good team to pull this off. Also, Make your you give your users an easy access to turn off notifications else you may loose her completely.

EDIT: Read this article to get the idea of how you should work with data... https://blog.modeanalytics.com/facebook-aha-moment-simpler-than-you-think/ (This is not meant for notifications and doesn't include individual and qualitative feedbacks from user, which alone can help a lot)

  • 1
    Read this article to get the idea of how you should work with data... blog.modeanalytics.com/… (This doesn't include individual and qualitative feedbacks from user, which alone can help a lot) Dec 2, 2016 at 15:05

I have no field research to validate this approach, but one interesting thing to try might be something akin to exponential backoff. That is, start by showing a couple of notifications a day apart. If your user doesn't interact with those, reduce the frequency to once a week. If they don't interact with those, reduce them to once a month. (That's probably a reasonable enough maximum, though of course you could keep increasing the interval ad infinitum.... and yes, I know 1 day > 1 week > 1 month isn't strictly 'exponential'.)

If and when your user does interact with one of the notifications, then you've presumably done something to pique their interest and you can start over with more frequent notifications, backing-off again as before.

  • @Qiulang This. Upvoted! Exponential backoff can help your hypothesis and is good way of figuring out acceptable rate but alone it will give you incorrect data as timing of notification also matters a lot which many people seem to miss. So, synchronise both to test and learn. Dec 3, 2016 at 5:13
  • Well, I have to say I like @SteveD answer best. Personally, I think the notification is stupid. Even I feel annoyed by myself. But the boss forced me to do that and that's why I asked the question. Dec 3, 2016 at 15:21

I would make it an optional experience.

I've recently began playing a game called "Raid HQ" (no not trying to advertise, they get enough already) and they have a notification for EVERYTHING. Here's a screenshot example of their notifications options:

Example of a Notification Settings Page

As you can see, with everything enabled, I could get a lot of notifications. Right now, as I've just begun using it a week ago, I'm still allowing it to scream at me whenever it wants to, and so far I'm happy with it. I might get 10-20 notifications a day, but I like the app, and I want to use the app. So getting alerts for things I want is in my interest. Now if I didn't want to be screamed at for something such as "Battle Alerts" I would just turn it off, yet still enjoy using the app. Right now I just got a "Free card pack is waiting for you" alert. Which I like because it takes 3 hours before I can get another after using it. So in this use case it is in my interest to keep being bothered by it.

However this is for an app which by some definitions, as others have said here, "if it is cool, you can get away with a lot more" (paraphrasing).

If your boss really wants to annoy the crap out of people, just be polite and give those people who don't want to be pestered an "opt-out" option. That way your boss gets off your back, and you, and others, can enjoy a better peace of mind.

And I second/third the idea previously mentioned by someone else to ease up over time if the user isn't using said feature or app. Facebook does this I believe, as I never use it now and as a result instead of getting a notification every time a close friend of mine does something, I will get a monthly notification such as "You have 56 comments, 28 new likes, 8 friend requests and 10 shares" or something like that.

But yeah, add an opt-out option for that specific, and other notifications.

A good general rule is if it's going to spam them outside of the app, let them decide if they want it to stop without having to decide to remove it entirely just so they can get some sleep.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.