In a trial of Drink Less, an alcohol reduction app, a notification made new users 3.5 times as likely to open the app in the next hour [1]. It is one of the cleanest measurements of a notification’s effect in any health app, because the researchers randomised every evening whether each user got one.
The same trial also tested what most product teams assume follows from that number. Users who got the app’s daily reminder for a month were not retained significantly longer than users who got no notifications at all [1].
Both results hold up, and together they explain most of what goes wrong with health app notifications. A notification is a strong short-term lever and a weak long-term one. This is what randomised trials show about when nudges work, how fast they wear off, and how to design and test a notification policy around that.
Do push notifications work in health apps?
Yes, in the moment. Three micro-randomised trials, which randomise each possible notification rather than each user, measured the effect directly:
| Trial | App and users | What a notification did |
|---|---|---|
| Drink Less [1] | Alcohol reduction, 349 new users, 30 days | 3.5 times the chance of opening the app in the next hour; 1.3 times over the next 24 hours |
| Workplace wellbeing app [2] | Commercial programme, 1,255 users, 89 days | 3.9% more likely to self-monitor in the next 24 hours |
| HeartSteps [3] | Walking, 37 sedentary adults, 42 days | Walking suggestions raised steps in the next 30 minutes by 24% on average, and more than doubled them at the start |
The effects are real but small in absolute terms. In HeartSteps, a walking suggestion added an average of about 59 steps in the half hour after it arrived [3]. That is worth having across months and thousands of users, but it is not how a product changes someone’s health on its own.
The effect also shrinks as the measurement window grows. Drink Less’s 3.5-fold effect in the first hour was 1.3-fold over 24 hours [1]. Part of what a notification does is move use that would have happened anyway to an earlier time.
Do notifications stop users churning?
Not on their own. Alongside the main trial, Drink Less randomised two more groups of new users: 98 received no notifications and 121 received the app’s standard daily reminder. Users with the daily reminder stopped using the app, defined as seven days without opening it, after a median of 11 days, against 7 days for users with no notifications. That gap was not statistically significant, and nor were the differences in number or length of sessions [1].
By day 23, 68% of all users had stopped [1]. A daily reminder brought users back each day but did not change the overall trajectory. That matches what we found across retention studies in why most health app users churn: users stay when the app keeps giving them something useful, not when it keeps asking for attention.
Why does the effect of a nudge fade?
Because people get used to it. In HeartSteps, a walking suggestion more than doubled steps in the following 30 minutes at the start of the study, and the effect fell by about 3% a day [3]. By the fourth week the estimate had reached no effect. The participants said it themselves: the suggestions became boring after two to four weeks [3].
The Drink Less effect barely moved over 30 days, an estimated decline of 0.7% a day that was not statistically significant [1]. Opening an app takes a tap. Getting up and walking takes effort, and the novelty of a prompt is part of what overcomes that effort. A notification that asks for the app’s attention can keep working. One that asks for a change in behaviour needs to change itself, in content, timing or frequency, or it stops working.
There was also a hint of fatigue in Drink Less: when a user had already opened the app the previous evening, a new-style message worked about 20% less well, although the difference was not statistically significant [1]. The users who are already engaged are the ones who need prompting least.
What is the best time to send a health app notification?
When the user can act on it, rather than when they are most likely to see it.
In the workplace wellbeing trial, each user had one notification decision a day, at one of six set times between 8:30 am and 8:30 pm picked at random. A notification raised the chance of self-monitoring in the next 24 hours by 8.7% on weekends and only 2.5% on weekdays, and by 11.8% at 12:30 pm on weekends, when people had the most room in their day [2]. The weekend and time-of-day comparisons were exploratory, so read them as a direction rather than a rule.
Research on receptivity points the same way. In a six-week study of 189 people using Ally, a physical activity coaching app, whether people responded to a prompt was associated with the day and time, their recent phone use, their physical activity and their location [4]. A follow-up study used machine learning models to pick the moment from that context and improved receptivity by up to 40% over random timing, with the personalised model getting better as it learned each person [5].
Clever timing is not automatically better, though. In a trial of a stress management app, notifications timed by a sensor-driven model did no better than daily notifications sent within fixed windows the user had chosen [6]. The cheap version gets most of the gain:
- Anchor timing to the person, not the clock. “An hour after you usually wake” works for an early riser and a shift worker. “8 am” does not.
- Prefer moments with room to act: lunchtime, early evening and weekends, rather than the start of the working day.
- Let users set the windows, as HeartSteps did with its five daily decision times [3].
How many notifications should a health app send?
Fewer than most send. None of the trials above sent more than a handful of prompts a day: HeartSteps had five daily decision times and sent a suggestion at about 60% of them, an average of 2.4 a day [3]; the workplace app and Drink Less had at most one [1][2]. Even at that rate, HeartSteps participants were bored within weeks [3].
In the stress management trial, users sent daily notifications viewed and acted on more of them than users sent occasional ones, without using the app any less [6]. So daily is not too many by itself. A practical budget:
- One or two prompts a day per behaviour, each asking for one specific action.
- Fewer for users who are already engaged, since they respond least to more.
- Rotate the content and rest the channel. A walking prompt that has not changed in three weeks has probably stopped working.
The cost of overshooting is not symmetrical. A notification that is ignored costs nothing, but one that annoys can cost the permission entirely, and the app’s ability to reach that user goes with it.
When should a health app not send a nudge?
Researchers call a system that decides, moment by moment, whether to send support a just-in-time adaptive intervention, and one of its core parts is a rule for when the person is not available [7]. HeartSteps built that rule in. A user was unavailable for a suggestion if they were walking or running, had finished an activity in the previous 90 seconds, or were driving, which applied at about 20% of decision points [3]. Asking someone to walk while they are walking teaches them that the app is not paying attention.
Wearable data adds more moments to stay quiet:
- Asleep or winding down. Sleep data tells you when, so a 7 am prompt can wait for a late riser.
- Already done. No step reminder after the user has passed their goal, no workout prompt after a logged workout.
- Unwell or recovering. An illness tag, a poor night or a sharp rise in resting heart rate is a reason to soften the ask, not repeat it. Changes worth reacting to need a sound personal baseline, which we covered in how many days a wearable baseline needs.
- Stale data. “You have only walked 1,200 steps today” is wrong if the last sync was at breakfast. HealthKit background delivery for steps is at most hourly, as we covered in why wearable data arrives late. Check how old the data is before quoting it to the user.
How do you test whether your notifications work?
Do what the trials did: randomise at each moment you could send one. At every eligible decision point, send with a fixed probability, for example 60%, and log the moments you held back as well as the ones you sent. The unsent moments are your comparison group, and they cost far less than a separate control arm because every user contributes to both [1][3].
Then measure in more than one window. The next hour tells you whether the notification was noticed; the next day tells you whether it added anything or only moved it; the month tells you whether the policy as a whole keeps users. Drink Less needed all three to see that a 3.5-fold effect in an hour did not mean a longer-lived user [1].
A minimal version of the decision step:
import random
from datetime import timedelta
def decide(user, now, p_send=0.6, daily_budget=2):
"""Decide whether to nudge at this decision point, and log the decision either way."""
reasons = []
if user.is_asleep(now):
reasons.append("asleep")
if user.active_in_last(now, minutes=10):
reasons.append("already active")
if now - user.last_sync() > timedelta(hours=2):
reasons.append("stale data")
if user.nudges_sent_today(now) >= daily_budget:
reasons.append("budget")
available = not reasons
send = available and random.random() < p_send
log_decision(user.id, now, available=available, sent=send, reasons=reasons)
return sendCompare outcomes after sent and unsent available moments only. Logging why a user was unavailable also shows which rules are doing the most work.
What does a notification policy that follows the evidence look like?
- Treat notifications as a prompt for one action, not a retention strategy. They move the next hour reliably and the next month barely.
- Time them to the person: their wake time, their routine, the moments they have room to act.
- Stay quiet when the moment is wrong: asleep, already active, unwell, driving, or when your data is stale.
- Budget and rotate. One or two a day per behaviour, fewer for engaged users, with content that changes before it gets boring.
- Randomise and log. Hold back a share of eligible moments and measure over an hour, a day and a month.
sleep_chronotype and wake_schedule describe when each person usually sleeps and wakes, and are refreshed weekly and monthly [9]. Our tutorials show how to send these into engagement platforms such as Braze and OneSignal for timing and segmentation. The research does not say notifications fail. It says they do one thing well: get a person to act in the next hour. Products that respect that, by sending fewer, better-timed prompts and staying quiet when the moment is wrong, get the benefit without spending the user’s patience. Products that use notifications to make up for an app people do not want to open get the 3.5-fold jump and lose the user anyway. For how nudges fit alongside streaks, challenges and rewards, see gamification and behavioural nudges in health apps.
References
- Bell, L., Garnett, C., Bao, Y., Cheng, Z., Qian, T., Perski, O., Potts, H. W. W., and Williamson, E. (2023). How notifications affect engagement with a behavior change app: Results from a micro-randomized trial. JMIR mHealth and uHealth, 11, e38342. https://doi.org/10.2196/38342
- Bidargaddi, N., Almirall, D., Murphy, S., Nahum-Shani, I., Kovalcik, M., Pituch, T., Maaieh, H., and Strecher, V. (2018). To prompt or not to prompt? A microrandomized trial of time-varying push notifications to increase proximal engagement with a mobile health app. JMIR mHealth and uHealth, 6(11), e10123. https://doi.org/10.2196/10123
- Klasnja, P., Smith, S., Seewald, N. J., Lee, A., Hall, K., Luers, B., Hekler, E. B., and Murphy, S. A. (2019). Efficacy of contextually tailored suggestions for physical activity: A micro-randomized optimization trial of HeartSteps. Annals of Behavioral Medicine, 53(6), 573-582. https://doi.org/10.1093/abm/kay067
- Künzler, F., Mishra, V., Kramer, J. N., Kotz, D., Fleisch, E., and Kowatsch, T. (2019). Exploring the state-of-receptivity for mHealth interventions. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies. https://doi.org/10.1145/3369805
- Mishra, V., Künzler, F., Kramer, J. N., Fleisch, E., Kowatsch, T., and Kotz, D. (2021). Detecting receptivity for mHealth interventions in the natural environment. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies. https://doi.org/10.1145/3463492
- Morrison, L. G., Hargood, C., Pejovic, V., Geraghty, A. W. A., Lloyd, S., Goodman, N., Michaelides, D. T., Weston, A., Musolesi, M., Weal, M. J., and Yardley, L. (2017). The effect of timing and frequency of push notifications on usage of a smartphone-based stress management intervention: An exploratory trial. PLOS ONE, 12(1), e0169162. https://doi.org/10.1371/journal.pone.0169162
- Nahum-Shani, I., Smith, S. N., Spring, B. J., Collins, L. M., Witkiewitz, K., Tewari, A., and Murphy, S. A. (2018). Just-in-time adaptive interventions (JITAIs) in mobile health: Key components and design principles for ongoing health behavior support. Annals of Behavioral Medicine, 52(6), 446-462. https://doi.org/10.1007/s12160-016-9830-8
- Sahha. Webhook Events: score, biomarker, archetype, tag and data log payloads. Sahha Docs. https://sahha.ai/docs/connect/webhooks/events/
- Sahha. Archetypes. Sahha Docs. https://sahha.ai/docs/products/archetypes/