In the first part of our Userflows best practices series, we talked about how to identify poor user experiences in a travel app by monitoring key flows like “Book a Flight” and “Search,” and measuring key KPIs such as “App Load Time” and “Search Success Rate.”  In this article, we’ll discuss additional ways to customize Userflows to identify failed interactions, track how often users are frustrated by waiting in your app, and protect the most critical moments in your app.

1) Identify Failed Interactions

By default, you can automatically track crashes during a Userflow that prevent the user from completing the intended action.  However, it may be important to track other causes of failure.

Let’s say a customer is using your banking app and wants to make a payment.  The customer selects whom they want to pay and which account they want to withdraw money from. When they try to send the payment, the user gets an error message and leaves the app:



Your customer is now probably upset and frustrated that they could not send the payment, so you should track how often this occurs.

With one additional line of code, you can mark a Userflow as failed using the failUserflow method:

// Android Example
Crittercism.failUserflow("My Userflow");

As with a Userflow that ends in a crash, Apteligent shows you a breadcrumb trail of each failed session so that you can debug the root cause of the failure.

You will also be able to track how often these failures occur, trend them over time, and compare them between versions of your app.  To see a graph of the failure rate of each Userflow over time broken down by failure type, go to the “Userflow Details” page.

2) Identify Frustrating Wait Time

As Marissa Mayer famously announced in 2006, a 0.5 second increase in load time for search results caused a 20% drop in traffic.  On mobile, users are even more fickle and may quickly hit the “home” button if they’re waiting too long in your app.



Luckily, you can easily track user wait time in your app using Userflows.  Let’s say you set up a Userflow that monitors a search flow in the app which begins when a customer taps a button to search for a list of restaurants near and ends when the first search result appears on the screen.  While the list of search results is loading, the user sees a spinner in the app and is stuck waiting in the app.

With Userflows, you can monitor how many of these searches are taking longer than one second (one second is the limit for a user to notice a delay).  With each Userflow you are monitoring, you can configure a customized “Timeout” value for that Userflow.  To set the timeout value, go to the “Userflow Details” page and click “edit userflow.”


As with crashed Userflows and failed Userflows, you’ll be able to view a breadcrumb trail of each session that timed out and trend those sessions over time.

3) Measure and Prioritize Impact

For each Userflow, you can set a Revenue at Risk value which is a way to understand the importance of a Userflow.  When a Userflow fails, Apteligent automatically captures the value of that Userflow and aggregates it over time.  By attaching a value to an individual Userflow, you can better understand the total revenue that could be at risk due to performance issues.  For example, by setting the value of a Userflow to the total value of items in the shopping cart, you can measure the business impact if the app crashes while the user is trying to check out.

However, this isn’t only for monetary transactions. You can also use Revenue at Risk to prioritize other issues that impact your business. For example, you could set a $5 Revenue at Risk to each “Register an Account” Userflow and $1 for each “Login” Userflow since you know the lifetime value of a user is more correlated with “Registering a New Account.”

To set a Userflow’s Revenue at Risk, use the setUserflowValue method within your app.

// Android Example
Crittercism.setUserflowValue("my_Userflow", 500);

You can also set a default values of a Userflow through its details page. Click on Edit Userflow to modify the default Revenue at Risk value or the default timeout for the Userflow.

Wrapping Up

Userflows are a powerful way to ensure your customers are having a great user experience in your app.  By monitoring how long users are waiting, tracking how often a user fails to complete an interaction in your app, and measuring the business impact of these failures, you’ll be well on your way in making an app your users love to use.

Userflows are available in the Apteligent SDK across all platforms including Android, iOS, Windows and Hybrid. To learn more, check out the documentation or send any questions to @apteligent.

To see Apteligent userflows in action click here.