We work with some of the world's leading mobile app developers and organizations. And in the process of doing that we learn a lot about what works and what doesn't, and maybe most importantly where to start. After all, there are an almost infinite number of ways a product like Swrve can be used to change user experience or deliver specific campaigns. Which do you choose?

I recently sketched out 10 smart ways I've seen customers make a real different to the metrics that matter to their business - campaigns that really work. And then I figured I would share them here - in three parts in order not to overload you with too much knowledge at once (not something I am normally accused of…). I've also included an idea of the pre-requisites, so you'll understand what you need to get in place before you get going. Hope you enjoy them and find some food for thought!

Best Practice 1. Onboarding “First Time User Experience” Flow - A/B Testing

The experience a user has the first time they open your app is key to early retention and long term engagement. As you may know, 20% (or more) of app users never return after the first visit. A/B testing allows you to optimize that initial experience - whether that takes the form of a signup/login process, a formal tutorial, or simply a set of introductory experiences. The result should be a reduction in that 20%!

First up: use a funnel chart to measure how well users progress through each version of your experience, and see what percentage completes the process. Watch for significant drop-off points within the flow - that’s where you test alternative experiences. Remember to form a segment for each group of users exposed to a specific variant, which you can then monitor across all KPIs, in particular Conversion (making a first purchase), Retention, Engagement, and Revenue.


We worked with a design team who had spent considerable time and effort creating what they believed was the perfect tutorial. However, they were open to A/B testing four other versions of the same experience. To their surprise, each of the test versions outperformed the original with respect to tutorial completion, conversion, time spent in the app, early user retention, and revenue.



  • Hypotheses about what users will best respond to and learn from
  • Designs for a number of onboarding experiences based on these theories


  • Resource: create a ‘Tutorial’ resource in the code and in the dashboard.  Design variations of the onboarding/tutorial flow. Deploy all versions with the app, assigning a descriptor to each (e.g. “short version”).
  • Events: send an event at every step of the onboarding flow
  • Funnels: create a funnel for each version of the Tutorial

Best Practice 2. Push Permission Request A/B Testing

Push notifications are a key part of the ongoing conversation with your users, and they're especially useful for re-engaging users who haven’t visited in a while, or reminding dormant users that there is something new and interesting such as a promotion or an app update.

Unfortunately, an awful lot of users choose (quite wisely in many cases) to reject a request to send push notifications. That's why any request for push permissions should be preceded by a relevant, timely (and tested!) in-app message explaining the benefit to the user in question. This in-app message will explain why the app is asking for push permission, and will ask the user if they are willing to accept push notifications. If they respond yes, then the native push permissions dialogue will be shown. This approach has been demonstrated to dramatically improve push opt-in.

In-App Message Campaigns for Push

Here's how to make that approach really work for you. First, find points in your app when the user has just performed an action with a direct correlation to the kind of push notifications you send. For example, if a user has just searched for last minute flights, inform them you send push notifications when new deals arise and ask them if they would like to opt in for push.

At this point, they can opt in - and here you present the system notification - or they can click ‘Later’.  If they decline to accept push notifications, at least it leaves you with the opportunity to ask at another point in the future. Apple restricts each app to ask only once.

Last, A/B test the content of these messages.  Wording matters, and a small change in tone or explanation can yield impressive results.  Similarly, layout matters and a change in button position or color can dramatically impact the acceptance rate.



We worked with a games company to test the timing of the push request.  Extensive testing proved that, for their app, asking a user at Level 2 or 3 - after about 2 minutes of gameplay - was the optimum time to deliver the request. The Level 2 or 3 users responded overwhelmingly more positively to push than those asked on app start.



  • Identify key points in the app where serving up a push request would be relevant.
  • Create content for these trigger points.
  • Create multiple messages for each point, to A/B test copy and images.


  • Events:  Send events at key points in the app.
  • Deep Links: Instrument deep links to show the system dialog on clicking an In App Message Instrument deep links to fire an event when a user chooses ‘Later’

3. App Rating Survey

 The rating of your app heavily influences its position in the App Store and users’ expectations of app quality and utility - and thus acquisition. It must be a primary goal for you to identify your engaged and happy users and solicit a positive review from them.

Our best practice recommends that you first identify - or filter - your happy users, and then politely request their permission to redirect them to the App Store review.  Find places in the app where you will not be interrupting the users’ flow, or distracting them from an important action. Furthermore, you should identify ‘happy places’ in the app. This is when and where you should initiate this conversation.  

This is a 'two phase' messaging campaign - first ask a user to rate their experience.  Use imagery in line with the integrity of your app design.  If you usually ask users to rate a flight or hotel on a five star rating, use the same look and feel for this app rating message. If you get a negative or indifferent rating, you can redirect them to provide specific feedback (you might learn something useful). If they indicate that they are feeling positive about the app (4 or 5 stars), show a second message which asks for their permission to redirect them to the app store. This kind of respectful, explicit communication is vital.



A social discovery app realized that their disappointingly low app rating was holding them back. With hundreds of thousands of engaged users, they knew they had happy customers.  The challenge was getting them to the App Store to leave a review reflecting their experience. By creating a conversation with their users, they found their happy customers very willing to co-operate with this request, thereby driving a rating of 2.3 up to 4.2 within two weeks.



  • Identify likely ‘happy places’ in the app experience
  • Create multiple versions of two messages - one to gauge satisfaction, another to request a re-direct to the App Store.


  • Events: Send an event at trigger points
  • Deep Links:
    • Instrument a deep link to redirect to the App Store Rating
    • Instrument a deep link to redirect to Feedback section, if appropriate
    • Instrument deep links to fire events - these will capture the initial rating and also be used as a trigger point for the second message