We can finally stop using the phrase “Mobile is here to stay” and accept the fact that mobile apps are the new norm of how we interact with technology. Proof of this is that in 2015 was already the year when mobile became the main method used in google searches, and 2016 saw mobile become the primary device used during black friday, this is huge for retailers all over the world.
“Mobile apps are the norm of how we interact with technology today. They have been stealing the spotlight from the desktop for the past decade and since then it has never really stopped. Just last year we saw mobile become the favorite way for people to buy during Black Friday and this year it will probably be no different.”
With that established, there is a new wave of initiatives targeted at facilitating the development and optimization of mobile apps. One of them is Firebase, a recently acquired tool that joined the google cloud solutions suite.
Firebase is a toolkit focused on the development, data collection and feature optimization for iOS and Android apps, hybrid or native. The very robust and flexible SDK aggregates all tools in a single library, divided into different modules to reduce storage costs. The modules are focused on three main areas: Analysis, Development and Growth.
In this article I’ll focus on the Analytical capabilities offered by Firebase, but it is still worth mentioning a brief overview of each area:
The Firebase Analytics module offers data collection and reporting directed at mobile specific metrics and dimensions. Data is collected as events (automatic or custom) to expose reports on relevant data such as ARPU, Version adoption and retention cohorts. Events can also be used to create audiences that can be then used by other modules to drive content personalization and notification campaigns.
Development modules provide back-end solutions to apps, such as the Real-time database, cloud (backend) functions, Authentication features (phone, email or social networks). Firebase also offers deep crash analysis provided by Crashlytics and a Test Lab to understand device and OS compatibility with your app.
AdMob is deeply integrated to Firebase and campaign can be run from your console directly. The Remote Config module also offers powerful personalization functionalities, all without having to tie changes to new version submissions. Notifications campaigns can be run from Firebase using your analytics data and Dynamic links can be easily be created from the web editor for user retention campaigns.
For a time, a big portion of how apps were analysed in terms of performance was imported from websites, but today we understand concepts like visits and sessions are way different in the context of mobile.
It’s important to take into consideration that each app is unique and evaluating its performance should cover not only user interaction, but even external aspects, such as size (we are asking to occupy permanent space from the user’s device, after all), icon style, store description and even screenshots and video presented to interested users browsing on the app stores.
Firebase Analytics shows it knows the specifics of what makes app unique and brings a reporting perspective des for mobile.
The metrics and dimensions collected and reported by Firebase Analytics are organized in the Dashboard and Events reports, and can be analysed in Audiences, Funnels, Attribution and Retention Cohorts.
It’s worth mentioning that a great deal is collected automatically after the SDK is implemented and initialized within the app and most reports covered here can be accessed with just this step taken. That said, it is recommended that you also customize the collection to reflect the most important interactions and business goals that your app must achieve to strengthen the usage of these reports. Let’s go deeper.
The main dashboard covers basics metrics that offer structure for important visibility into user engagement, retention and rentability, key information that provides insight into true app performance indicators, exposed in the reports below.
The dashboard can be filtered by a specific period and an audience can also be applied to the report to segment all panels (such as only converters, or people from New york city).
Based on the number of sessions per user, this graph exposes the continued use of the app by users in three different time frames since their first session: Daily (Returning daily users since the first day selected), 7 Days and 30 days. More than just sessions, this report gives you a clear view into the growth of your user base.
With focus directed at the income generated by the app, two main calculations are done and exposed here for a quick and clear overview on how the app is performing in monetary terms: ARPU (Average Revenue generated per user) and ARPPU (Average revenue generated per paying user).
These indicators are calculated related to the time since every user’s first open of the app and total revenue collected either via custom analytics revenue based events or in-app purchases.
This report gives visibility into what advertising efforts are generating not downloads, but user that have had a least one session. Firebase focuses on the true app acquisition conversion, which is the automatic “first_open” event, fired in every user’s first time opening the app. Still, this section will also relate campaign sources to all conversions events configured by you in the events section. This becomes powerful the more micro conversions are set, so analysis can be into what how your marketing efforts are influencing not only first timers, but long-term users as well.
The retention cohort brings to light the longevity your app has in the hands of users. Based on the timeframe selected for the dashboard, the Cohort will analyse the number of users that had subsequent sessions within 6 consecutive weeks. An important indicator into the continued value your app presents to users.
An overview into user engagement is based on the number of sessions per user and the average duration sessions tend to have. The report also compares the current engagement levels to the previous period (if possible, Firebase gathers data from the previous period of available data). It’s important to know how to interpret the data exposed here in relation to how you wish users to interact with your app. Social Networks tend to strive for medium length but very frequent user sessions, whereas a payment app will expect very short and less frequent sessions. Maybe long sessions might mean your users are having problems with the overall UX.
In case your app uses In-App Purchases (Sales done directly through the App Store system), Firebase is able to collect and report on the amount, kind and users making purchases. The dashboard overview shows the three most purchased products and the overall revenue, volume and users using the feature.
Every version released has to go through and adoption phase until it becomes the main version used by most users (it never really reaches to 100%). The graph gives you perspective into how fast users are updating your app to the newest version and this report can be a great tool to indicate a good time to ask your users to make sure they are using that brand new, shiny version you just released.
A breakdown of the different models and operating systems used by your users exposes the opportunities your app might have to explore the latest features or maybe indicate there is a need to make sure you support olders systems.
Active users spread across the world. The report brings the top 10 countries in terms of total users.
Users segmented in genders and age groups. The data exposed here is of users that have allowed their devices to collect advertising based information for apps.
Using all apps that have Firebase Analytics implemented, this report shows the interests your users have based on the app categories of other apps they have installed in their device. This can be very useful to extend your reach of AdNetworks to explore ads in other categories that may be compatible to yours.
Events are the key method of data collection that Firebase Analytics uses to expose user interaction, interest, purchases and everything a user may DO or SEE in your app. From the moment they open a new screen to the confirmation of a new purchase, events offer perspective into the user journey with mobile apps.
Event can also be marked as conversions. Conversions can be any main action a user may take that fit the vision of what the app was made for and must not be restricted only to revenue generating actions. It’s important your data collection strategy takes into consideration actions that generate value to the business and the user. Conversions are also key to get a deeper perspective into who are the most valuable user you have, and how to find them and what are the features the most value in your app, so marketing campaigns can be better directed.
The flexibility offered by custom events, implemented directly into the app’s source code, makes it possible for Firebase to be applied to any kind of mobile app, other that having to structure your data collection around to tool itself, the only limit is your creativity!
Some events are automatically collected after the implementation and initialization for the Firebase SDK:
- First_open: First time the user has opened or re-installed the app.
- In_app_purchase: AppStore or Google Play based purchase. The item ID, product name, quantity and revenue are sent as parameters for this event.
- User_engagement: Heartbeat style event to measure session length.
- Session_start: Sent after 10 seconds of activity when an app is opened.
- App_update: Sent after a new session starts that has a different version than the previous session.
- App_remove: App has been removed (Android only, iOS AppStore does not expose this info)
- Os_update: Operating system update made relative to previous session.
- App_clear_data: Removal of local storage data related to the app.
- App_exception: The app has suffered a critical error that forced the app to close.
- Notification_foreground: User received a notification (toast). Only for Firebase Notifications
- Notification_recieve: User received a notification as a pop-up (foreground). Only Firebase Notifications
- Notification_open: User has opened the notification. Only for Firebase Notifications
- Notification_dismiss: User has dismissed a notitication (swipe away, clear, etc…). Only Firebase Notifications
- Dynamic_link_first_open: User’s first open has been through a Firebase Dynamic Link
- Dynamic_link_app_open: Sessions has started from a Firebase Dynamic Link
- Dynamic_link_app_update: App update has been done after Firebase Dynamic
For any other interactions or relevant moments that must be collected custom implementation of events is necessary within the app’s source code. Each event act as a counter for every time it is send to Firebase Analytics, so it’s name is critical for analysis. Furthermore, every event can contain custom properties that may carry textual or numerical data to increase details collected about each action.
An example would be to collect a search made by a user in your app. A “search” event could be sent containing the property “search_term”. This event would measure not only the times users have made searches, but also the term they searched for.
Firebase can store up to 500 event types and some may event contain special treatment that can be exposed in reports. Recommended custom events can be used for different contexts and collect data that will be aggregated and treated in more ways more specific to that usage. Such as purchases or level completion in a game.
The event report has an overview on the count of times the event has been sent, the number of users that have sent that event and a sum of values sent as well. The report also has a demographic and geographic view on that event.
Events can be used in other ways within the context of Firebase as well. Both the main event (found by name) or its properties can be used to create audiences that may be activated in Notification campaigns or to configure funnels, a report focused on user and interaction flows.
Configured based on a sequence of events (name only, properties cannot be used), funnels have a high analytical value as they can give clear visibility into user and interaction flows, exposing important opportunities to optimization user experience within the app and boost conversion rates. A very common case is to configure a funnel based on the signup steps required by an app, every step viewed by the user can send an unique event and a Funnel can be set to understand drop-off location and where the UX team will need to focus on next updates.
Funnels can also be filtered by audiences so specific groups of users may be analysed. This is especially important to find personalization opportunities for your app.
Aside from events, Firebase Analytics can also collect user centric metrics, called user properties. User Properties are details about users that will be assigned to that user for his/her entire lifetime with the app. It means new values override old ones, updating that “user profile”. They can be used to filter reports and create audiences, used for notification campaigns and personalization.
As with events, some user properties are collected automatically by the Firebase Analytics SDK, but every app may store up to 150 custom user properties, implemented via custom code.
The automatic user properties collected by Firebase are:
Age: Age group (18–24, 25–34, 35–44, 45–54, 55–64, e 65+)
App Store: What App Store was used to download the app (useful for Android)
App Version: App Version
Country: Session Country (if your user moves, so does his UP)
Device Brand: Samsung, Apple, etc …
Device Category: Smartphones, Tablets, etc …
Device Model: iPhone 5s, SM-J500M, etc …
First Open Time: The exact moment (in microseconds, UTC) that the user opened the app for the first time.
Gender: Male, Female.
Interests: Interests list based on Firebase App info
Language: Operating System language (not necessarily the user’s mother language)
New: Has opened the app for the first time within 7 days
Established: Has opened the app for the first time over 7 days
OS Version: 9.3.2, 5.1.1, …
Custom properties can be implemented to collect even more detailed information on your users that could help you segment the different audiences. This info can be then used to personalize the user experience and provide insights into marketing campaigns. user types, purchase patterns, level of experience, you name it.
Both events and user properties can be powerful on their own, but audiences are where the two meet to provide great opportunities to optimize your app, personalize the user experience and boost your marketing gains. Using logical combinations (AND/OR), events and properties can be combined into rules that define audiences, all from the “Audiences” menu, right from the Firebase Console. Audiences can then be applied to reports, funnels and used outside the analytics scope to serve as targets of Notification Campaigns.
With a deep focus in metrics and dimensions relevant to the context of mobile apps, Firebase Analytics offers a flexible event based data collection suite that serves the needs and uniqueness of every app.
The possibility of segmenting users by using user properties and audiences creates opportunity and clear visibility into the experience users are having with your app, an open path to focus your development team in what matters most to your users.
The application in reports and funnels of all this information and the application outside the Analytics context opens amazing possibilities to secure great success to your app.
In the "mobile centric" era, Firebase really brings a “mobile first” approach to analytics, development and business development.
I hope this overview has spiked your interest into the tool, but don’t take it from me. Firebase has made available a demo account with real data from an app released by Google. You can go here to explore a live Firebase account.
DP6 has been working with Google Firebase since it became part of the Google Cloud Platform and has helped a number for different companies get collect, analyse and optimize their app and their marketing efforts. Get in touch at email@example.com and get a quote from us!