Hardik Pandya Notes × Talks × Work with me

Tactics for Retention

Retention is the user doing a valuable activity in the app, and then doing another valuable activity again after a time period. The time period could be 1 day, 1 week or 1 month depending on the context of your product. This definition emphasizes the importance of repeated, meaningful engagement rather than simple app opens. By focusing on valuable activities, you ensure that users are not just returning, but actively benefiting from your app’s core features.

Intrinsic motivation

The best way to ensure retention is to be top of mind for your users. Ideally, your app solves a use case that creates intrinsic motivation for users to return. In this scenario, they don’t need reminders or nudges - they’ll come back on their own. This type of motivation is powerful because it’s self-sustaining; users return because they genuinely want to, not because they’re prompted to do so.

Extrinsic motivation

When intrinsic motivation isn’t enough, you can manufacture extrinsic motivation. This is where you have 100% control and can directly impact your retention. Extrinsic motivation involves creating external reasons for users to return, such as rewards, notifications, or social recognition. While not as powerful as intrinsic motivation, it can be an effective tool when used judiciously.


The tactics

Nailing push notifications

This is a very interesting problem. One that you can keep iterating on for months. Push notifications pose such variety of opportunities and risks (of losing users) that you can have so much fun with this and derive so many of your own learnings.

The 2 most important things to get right in PNs are the Timing and the Copy you write. Send the right message at the right time and you get your conversion. If only it was that simple though!

Let’s summarize some of the factors I’ve learned about nailing PNs:

  1. Find your reachability. The numero uno metric that will determine the effectiveness of your PNs. Reachability is the % of your active users who have given you permission to send them PNs. If more people turn off PNs, your reachability will go low. Your goal is to maintain this as high as possible.
  2. Find the right frequency of push notifications. This is not straightforward. When the user base is small enough, you should run tests to find the limit. Some research on social context also helps. Users in the US are less likely to appreciate a barrage of PNs compared to the users in India. Users on Android don’t mind more PNs than the users on iOS. You need to find your own balance. Remember, the goal is to retain users with as few PNs as possible. Because with too many PNs, your reachability runs the risk of going down.
  3. Work on increasing your reachability. This will be the single-most important thing you’ll do for your retention. It starts from asking for the PN permission first time in your app. Always prime your PN permission requests. Iterate on the copies to focus on the single biggest thing the users find valuable, and talk about just that on the permission request. Don’t blend 5 different use-cases you’d send notifications for – talk about just one, the most important one.
  4. Maintain your reachability. Even after giving you PN permission for the first time, some users will eventually turn them off. Some of those you can retarget using emails. Some you can bring back using other means (peer nudges, brand campaigns, ads). But in the product, you can build the right touchpoints with sentient copy that acknowledge that you probably sent too many PNs, you’d be gentler if the user can consider turning on PNs again. Give them an easier way to do so as well. WhatsApp and Telegram have a habit of being aggressive in re-convincing you to turn PNs on if you turn them off from system settings – try this!
  5. Figure out the time of day when users are most active, concentrate your PNs there. The best way to find the active periods of your users is to monitor natural non-PN-assisted usage patterns through multiple 24h cycles and see when the users organically open your app and interact with it. This will be your starting point to schedule PNs for those time windows. Continue fine-tuning the time windows.
  6. Every single user’s most preferred time to use the app will be different. You’d have some early risers in the morning and some night owls. Leverage the ‘best time’ feature to target PNs at the individual user’s most active times for the best conversion.
  7. Add personalized content to notification copies. The easiest is to add the user’s name. But you can go very complex and personalize based on their journey in the app, their last activity in the app, their current location (if they’ve given the permission) and so on.
  8. One whacky thing that often works is sending a PN right after user closes a session, where the PN offers solution to the roadblock the user faced when they left the app. If your app is a freemium app and the user leaves the app after using up the free quota of the day, sending a purchase PN 1-5 min after the session end can boost your conversions. It’s a fun experiment you should run for sure.
  9. Consider adding deeplinks to all your PNs to land the users straight to the point. Save them time. Making deeplinks for every page and flow in your app allows you to accelerate the user to value and saves them clicks. It reduces the time to conversion quite drastically.
  10. Add at least 2 to 3 different copies and cycle between them if you’re putting the user cohort in a recurring journey. Nobody likes to get the same dumb PN copy every day. If user gets bored or annoyed, they’d turn off PNs (remember reachability?). Cycles through different copies so that they’re reasonably fresh.
  11. Avoid PN collisions where two competing or confusing PNs come within a short time window of each other. Always design your PNs as a story you’re telling to the user. If you’re sending 4 PNs in a day to a single user, that user should be able to understand why each of those 4 PNs came. Test extensively.
  12. Understand the power of PN-stacking. On mobile, iOS and Android both now club all the PNs from the same app into a single stack. At times, there’s power in letting your latest PN sitting on top of the stack be the most important one. Try giving your most critical / important PN the most time on top of that stack by clearing out the PN window for a few hours, for maximum conversion from that important PN.

Okay, so that’s some thoughts on PNs. Once you send the PNs, some users would tap and come into the app. What next?

Make the high-value action clear

Okay, you have sent the PN and the user has tapped on it to open your app. The session has started. The most important thing to do once the user is in your product is to make the one high-value action as clear as possible. Make it clear what they need to do next. You don’t need to go all overlay-on-screen-hide-everything-else-but-the-button on this, but gentle eye-guides are enough. Adding a subtle shimmer, a tooltip, a clear contrast between different elements on the screen that brings out the high-value action prominently is very helpful. This guidance reduces user’s thinking-time and increases the likelihood that users will complete the high-value action.

Quick time to value

Give users a great, short time to value. The key here is to make sure the user understands that they were successful in their first use of the product. Make sure the success is explained to them in as clear a manner as possible – the success should be something that they care about and not an arbitrary measure that only has a siloed meaning within the app but no significance outside.

Streaks, but better

Implement streaks to help users build habits. But these can get boring for users. They’ve seen streaks everywhere. Any random app that wants to improve retention puts a streak there. So you’ve got to get creative now if you want these to work. Set streak goals (like 7-day, 14-day, or 30-day streaks) to make streaks meaningful. Give streaks importance by changing the colour of the streak flame if it streak grows to higher numbers. Give some other advantage in the app if I have a higher streak. Play around with the visual and animations around streak.

Ending first user session on a high

Make sure when the users end a session on your product, they go away feeling fulfilled, happy and successful. Define what ‘successful’ means in your product’s context and make sure the user has that moment as they depart from the app. If they depart from the app with a sad / angry / frustrated feeling, they will remember that the next time you nudge them to open the app.

Leveraging user status effectively

Giving users status is a good strategy but it only works when the status has meaning. Status gets its meaning from a few things: How scarce it is, how difficult it is to get it and how many total users do you have for the status to be meaningful and bragworthy. If there aren’t enough users in the app, status won’t be something users will find value in, and it won’t be effective as a lever to increase retention.

Gating features to drive curiosity

One of the most powerful drivers of retention can be FOMO, if users can see a feature but can’t use it. Don’t give away all features for free. Figure out which features are cool, intriguing and would make the users want to do anything to unlock them. Then you can ask the users to give you the desired retention in order to unlock the feature. We often gate the feature that only unlocks if you come the next day and do a retention-qualifying activity. The caveat here is that you have to pick the right feature to gate, and show the feature the right way so that it drives FOMO. If users don’t feel any FOMO, feature gating will have no impact on your retention.

Leveraging app-icon badges

Use app badges (the little red number on the app icon) to grab attention and prompt users to return. These visual cues create a sense of urgency and unfinished business, encouraging users to open the app. However, use badges judiciously – overuse can lead to badge fatigue and users ignoring them. Ensure each badge represents something truly valuable or interesting to the user, maintaining the badge’s effectiveness as a retention tool.

Live Activity & Dynamic Island

If a user opens the app but doesn’t complete the desired activity, convert that to a live activity. This feature, particularly relevant for iOS users, keeps your app visible and accessible even when it’s not actively open. Live activities can display real-time information on the lock screen or in the Dynamic Island, keeping users engaged with ongoing processes or time-sensitive information. This constant visibility can significantly increase the chances of users returning to complete actions or check updates.

Homescreen widgets

Build widgets for iOS or Android. While they require users to manually add them, once added, they’re extremely effective at bringing users back. Widgets provide at-a-glance information and quick access to key app features directly from the home screen or today view. Design your widgets to display the most relevant and frequently accessed information, making your app an integral part of the user’s daily device interaction. Regular widget content updates can also serve as a subtle reminder to re-engage with your app.

So there you go. These can significantly improve user retention in your consumer app. Remember, the key is to balance providing value with gentle reminders, always keeping the user experience at the forefront of your decisions. By focusing on these areas, you can create an app that users not only want to return to, but actively look forward to using. Keep iterating, testing, and refining your approach to find what works best for your unique user base and app offering. Retention is an ongoing process, and continuous improvement based on user feedback and behavior analysis is crucial for long-term success.


@hvpandya