After months of hard work, your product is finally finished and you're ready to tackle the next stage: Customer Development.

This is a vital stage that can make or break your business and involves learning how to increase engagement and conversions while decreasing churn rate. There are many options at your fingertips and utilizing these will help your B2C product find that perfect product/market fit.

The last thing any business wants is to be pouring money into user acquisition only to have those users jumping ship. In this article we'll be covering how to retain customers by using a case study of a B2C product, StoryTold.

In just three months, by simply harnessing user engagement and consistently improving strategies based on analytics, StoryTold saw an increase in minutes spent on app by 150%!

Read on to find out how StoryTold achieved this!

  • What Our Product Is About 🕵️‍♂️
  • Task: Improve Mobile App Usage And Bring Users Value 🎁
  • Solution: Implement The Segment-Amplitude-Outbound-Webhook Approach To Improve User Engagement In Mobile Apps 🎯
  • What Does Our Business Get From Using Mobile App Retention Strategies? 🤔
  • Conclusion 🙌
  • Important disclosure: we're proud affiliates of some tools mentioned in this guide. If you click an affiliate link and subsequently make a purchase, we will earn a small commission at no additional cost to you (you pay nothing extra). For more information, read our affiliate disclosure.

    What Our Product Is About 🕵️‍♂️

    StoryTold is a digital storytelling service that preserves and strengthens the parent-child bond. Created by parents for parents, it’s a modern tool that helps to maintain a healthy relationship between parents and their children through the beauty and imagination of creating stories.

    For as long as humans have roamed the earth stories have been the most valuable way of passing on values, beliefs, and traditions. Science has proven that stories are easier to remember and so StoryTold helps parents write meaningful short stories that can be sent to their children.

    Not only are your children learning valuable life lessons but they have captivating, creatively designed reading material that helps them to stay in touch with their parents.

    StoryTold uses personal information (age, goals, interests, etc.) to give parents writing prompts. After the stories are written, the app analyzes them and makes suggestions for improvement. Afterwards, the writer-parent can either send the story to the child straight away or schedule the delivery for a future date.

    At the other end of the app, kids receive the stories on their phones and can comment on them or react using emojis, encouraging communication and interaction from both parties.

    Task: Improve Mobile App Usage And Bring Users Value 🎁

    We created this app with a concrete mission. Here at StoryTold, we firmly believe that storytelling can bring parents and children closer together and deepen their mutual connection. We know from our own experience how hard parenting can be which is why, even after selling the subscription, we aim to be as helpful as we can.

    To do so, we had to snoop around a bit. Having analyzed our product, we’ve come to the conclusion that we need to…

    1. Know who the user is – his/her age, and what problems and goals he or she has. This way, we can…
    2. Send him/her the right message at the right time.
    3. Analyze how our methodology has helped the parents and children and correct the interaction if necessary.

    Then, we multiplied this by two, because children and parents need to be analyzed and engaged differently. This meant we had to work up a little sweat and create the Segment – Amplitude – Outbound – Webhook pack.

    Solution: Implement The Segment-Amplitude-Outbound-Webhook Approach To Improve User Engagement In Mobile Apps 🎯

    The truth is, even if it’s just four steps, each of them is a strategy of its own. Below, we will go into detail on how we discover who our users are and what they’re trying to achieve, how to know when and which messages to send them, and how we analyze the effect our messages have.

    1. Collecting Data with Segment
    2. Categorizing Users With Amplitude
    3. Sending Messages Through Outbound
    4. Analyzing Amplitude and Outbound

    1. Collecting Data With Segment

    Before we start, it’s worth noting that data is already being categorized at this point. Segment gathers this from users who have bought the subscription.

    Of course, on the marketing side, all prospects are analyzed using different tools. This means when a user lands on our website, we analyze them with Google Analytics, Heap, and Hotjar.

    But as soon as they go to app.storytold.io to try the app, they register and submit their data. This is when we use Segment and Amplitude to analyze them. However, this analysis also depends on the business models of the following SaaS tools:

    • Segment bills by the number of monthly tracked users (MTU)
    • Amplitude bills by the number of events per month
    • Outbound bills by the number of messaged users

    This way, you can start your analysis for free. Later on, of course, the costs will grow, according to the growth of your user base. Sadly, it won’t work for a B2C Freemium model, but StoryTold uses the Free Trial model, so it works well for us.

    In order to work with Segment, you need to integrate it into your software. To make this possible, Segment offers sources for the front-end, Python back-end (java, php, python, go, node.js, etc.), and mobile applications (Android, iOS, Xamarin, AMP).

    In our case, it’s front-end, back-end web, and mobile apps (Android, iOS). Through Segment, we then collect data from the front-end (JavaScript for web and React Native for iOS and Android applications) and from the Python-based back-end.

    The identification of the user at the front-end is carried out with the help of the 'identify' call. At first, Segment gives each user a specific ID, then all the necessary information about the logged-in user received from the back-end is transferred from the front-end to the 'identify' call.

    We pass on the user properties necessary to send push notifications and emails to 'identify'. Usually, these properties include user ID, user name, email, gender, familial relation to the child (father, mother, stepfather, stepmother), etc.

    User actions are usually tracked through the page (and its mobile version screen) and the track call:

    • 'Page' allows you to record website page views, as well as additional information about the viewed page.
    • 'Track' allows you to record highly customized user actions on the website, right up to hovering the cursor over a website element (or, for mobile apps, touching the touchscreen).

    We also use the service to 'track' events that are generated at the back-end and are being sent directly to API Outbound. This way, we transfer user properties that may vary but are still important for some of the personalized messages.

    For StoryTold, for example, such properties can include the title list of story drafts, weekly report data such as the number of written stories or written words, or the amount of time the child spent reading the parent’s stories. Some variables we send to Segment via 'identify', and some via 'track'.

    To each event, we assign the necessary custom properties – this data is easy to debug live.

    In total, we analyze about 40 variables and events for every user. This allows us to customize the user experience for each and every one of them as much as we can.

    2. Categorizing User With Amplitude

    For us, it’s important to find a very personal approach to each and every one of our users, since no parent and no child are the same. What helps us are user categories in Amplitude.

    Luckily, Amplitude can be easily integrated with Segment and we can use its filters to analyze the users.

    Amplitude has a lot of helpful tools available and so we can easily remove all the events and set dashboards and graphics to suit our needs.

    Below are some examples of the dashboards that help us analyze StoryTold. We’ve set analytics for a fast product-state evaluation for 5 minutes per day, as well as deeper analytics that allows us to gather profound and solid insights.

    We’ve developed our own system of categories crucial for our mobile app engagement strategy. It’s called the GRAF System and it analyzes users by:

    • Gender
    • Relationship
    • Age
    • Frequency of communication
    This way, a hard-working mother of a 12-year-old daughter gets an entirely different experience from a divorced father of an 8-year-old boy.

    By helping parents personalize the app, we help them write stories that their children are eager to read and comment on.

    Some other analytical criteria are geography and the number of children and parents. The graphics below show trends and categorization:

    Many parameters on the screenshots are marked as 'none'. This means that the parents haven’t finished filling out their profiles. (We still have some work to do. 😉 )

    Another great insight, session durations, show an interesting dynamic:

    It’s also possible to filter data by previous visits and views, story categories, and timing. Moreover, there’s a lot of interesting stuff out there, like Behavioral Cohorts, but we haven’t got there yet.

    What we do next is transfer all the data and categories into Outbound with a gentle whisk of the API key:

    3. Sending Messages Through Outbound

    After we’ve figured out what categories our users belong to, we can start sending them customized messages. To do this, we use Outbound as it has a very convenient message constructor. We can create a highly customized trigger message for each user by taking into account the following parameters:

    • Trigger (for StoryTold, it’s writing stories and comments in different categories)
    • User Categories (mothers, fathers, children of different ages, different frequency of communication, etc.)
    • Time (how long ago was a story placed in a certain category, how much time passes between finishing the draft and publishing a story, etc.)

    On top of this, there’s a way to A/B test different message variations, with a given coverage for every variation. However, our audience isn’t big enough for us to get solid and reliable numbers in such tests.

    All this data can be used to create a variety of campaigns.

    This way, we can increase user engagement individually to write stories and get comments – a very important factor for StoryTold. On the other end, parents understand the importance of such communication and receive every push notification with gratitude.

    In a crazy world like ours, it’s too easy to slip from important conversations to mass-liking kitten videos.

    Since Outbound is so cool, it allows us to work both with the developer and with the production mode of your product at the same time. When creating newsletters, you can test them using the developer mode of the product first. If the campaign works as expected, you can launch the campaign in production mode with a single click.

    Further on, you can debug all the processes connected to the dispatch and see the logs of all the events that are part of it – from the event that caused the dispatch, up until the dispatch itself!

    If sending emails through Outbound turned out to be a piece of cake, push notifications just wouldn’t go out directly through the Firebase Cloud Messaging token. We had to make a back-end webhook for push notifications and send them through our app’s existing dispatch system.

    4. Analyzing Amplitude And Outbound

    This is the part where we check whether our motivational efforts were successful and how users in different categories behave.

    It’s important to not just make a complicated integration, but also to understand to what extent our messages engage users and help parents and their children become closer. Retention shows whether the StoryTold features are being used and how:

    In this image, you can see the popularity of the different categories of stories that parents write for their children. You can also see a dynamic comparison of Prompts usage versus writing that is based on the parent’s own ideas.

    Outbound also offers a great feature that tracks a campaigns efficiency. This means you can see if the user acted upon the received email or notification.

    Thanks to this feature, we collected the best CTAs in the push notifications and optimized the dispatch time so that every user gets their motivational messages at the right time.

    While we were working on our app we realized that, like anything else, the connections between people can’t be improved if you can’t measure the data and show them the results.

    This is why we measure our users’ product engagement in the app and send them weekly reports. By doing so, they can see their progress during the week, make conclusions, and plan their next steps. Thanks to Outbound, we can do it all without even involving our developers.

    Our weekly reports include a lot of variables that come from the back-end:

    What Does The Business Get From Using Mobile App Retention Strategies? 🤔

    By using and constantly improving user engagement for our mobile app, we increased stickiness and minutes spent on our product by 150%.

    It’s a great start, but we're still at the beginning of the road and many hypotheses haven't been proven yet, since we need more statistical significance.

    This only means one thing: we have to learn from our success and turn it into a bigger one.

    Here at StoryTold, we believe in individualized communication. We believe that we can build an app and lend a helping hand that will deepen the connection between generations and improve communication between parents and children in our fast-growing digital world.

    Conclusion 🙌

    This whole “motivation machine” can be done with your own back-end too, but it won’t be as fast and simple as using the suite of tools that we described. We at StoryTold got what we wanted and decided to get back to the question of moving this whole functionality to our own back-end only after we reach 200,000 active users.

    In conclusion, we’d like to encourage you to dive into the journey of app user engagement and experiment with it a bit. If you’re at the same stage we are, it’s essential to keep growing and developing your app.

    We hope that our experience will help you retain users and achieve success with little expense. But most importantly, never forget that it also takes belief in yourself and your product to achieve success!