Once you launch your new product, the first question that might pop up is: What’s next? You probably came up with great features, and engaging content that you put much effort in to release. But to develop your app further, you need ‘knowledge’. As knowledge is power, and knowing more about your users means easier and cheaper user acquisition strategies. Ask yourself the following questions: Are they interested in what I came up with? Do they revisit my app? What do I need to keep? What new features do I need to develop? What features do I need to deprecate? In this article I will walk you through the most important services I used in Firebase and how you can use it to your advantage.
Related: Must-have mobile features for your business app
Define what you want to track
Releasing a product often comes with a deadline. Whether it is your app or your client’s, you want to do it within a certain time frame. You put extensive effort to develop and test all the features, but what you can’t forget is to properly define what app statistics you want to track before going live.
After your app is released, you can’t add more tracking tools without an app update. This is why it is important to find time within designing and implementing features to think of what you want to measure and what are your KPIs.
Related: 10 organizing tips for web developers
Google Firebase: The tool
Google Firebase can be used instead of ‘Google Analytics’ that we’ve all used in the past. There are several other tools to track your app events such as Mixpanel, Facebook Analytics, Adjust, and more.
Related: 8 Free Google Products that your business should be using
Firebase: Basic tracking with no specific implementation
Google Firebase provides a sort of basic app statistics tracking. Once you have the SDK in your app, it will provide you with some very basic data automatically. What is new is that several automatically defined events are automatically triggered by every app and gathered in your Firebase dashboard. Automatically collected events are triggered by basic interactions with your app. As long as you use the Firebase SDK, you don't need to write any additional code to collect these events.
Defining your own events/data
The basic events the firebase is tracking automatically will not provide you with a true market response to your app or to specific features. It is so important to create your own events and parameters before you go live with your app. If you decide to add some events later on or maybe rename or change them after you have launched your app, you need to remember that this change will only be available from that point when you release your new version and will be only available to people users who decided to update or the new users. There is no possibility to change historical data in Firebase analytics, that is why you need to think it through beforehand.
Firebase main features
Development:
- Authentication
- Database
- Storage
- Hosting
- Functions
- ML KitConversions
Quality:
- Crashlytics
- Performance
- Test Lab
- App Distribution
Analytics:
- Dashboard
- Events
- Conversions
- Audiences
- Funnels
- User Properties
- Latest Release
- Retention
- Release View
- Debug View
Grow:
- Prediction
- A/B Testing
- Cloud Messaging
- In-App Messaging
- Remote Config
- Dynamic Links
- AdMob
Getting the best out of some services depends on the integration you have and the data you are tracking. Better integration means better insights.
What does better integration mean?
Technical:
However integration with Firebase is technically very easy, you need to integrate all the services you need as early as you can to benefit from the data you are going to collect and to catch as many users as you can.
Most of the Firebase services are free in their ‘Spark plan’ and you can find here more information about the Firebase pricing.
Data:
Brainstorm with your team (marketing, sales, customer support, development, etc.) the most important events you need to track and the necessary user properties that you need to record. At this stage, all the data you are collecting will be helpful to best use firebase services.
Demonstration:
Let’s examine the most used services you need to have with practical examples of why it is helpful to have each one of them:
The app I will demonstrate is an eCommerce app for fresh groceries with a delivery service.
Crashlytics:
Firebase Crashlytics <https://firebase.google.com/docs/crashlytics> is a lightweight, real time crash reporter that helps you track, prioritize, and fix stability issues that erode your app’s quality. Crashlytics save you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that led up to them.
By tracking the number of times that each crash happened, and the number of users affected, you can prioritize the importance of each issue. Also, your developers can easily find what caused the crash and in which line of code as well.
You need to keep your eye on this daily, especially whenever you are having a new release. You also can set alerts for that to give you heads up instantly.
Performance:
You use the performance monitoring SDK to collect performance data from your app. Then review and analyze that data in the Firebase console.
Performance monitoring helps you to understand where and when the performance of your app can be improved so that you can use that information to fix performance issues.
Test Lab:
Firebase Test Lab is a cloud-based app-testing infrastructure. With one operation, you can test your Android or iOS app across a wide variety of devices and device configurations, and see the results—including logs, videos, and screenshots—in the Firebase console.
Firebase provides multi types of testing that you can choose from when you create a new test.
The Robo test is very simple, as it gives you very helpful insights. But how to implement the Robo test?
- You need to have a debug version of your app ready to start the test.
- Select the devices you want your app to be tested on - you need to select the most used devices by your users.
- Run the test.
Moreover, you can see which devices passed and the ones that had failed. Also inside each test device, you can find more detailed data about your test.
App Distribution:
Firebase App Distribution makes distributing your apps to your testers painless. By getting your apps onto testers' devices quickly, you can get feedback early and often. And if you use Crashlytics in your apps, you’ll automatically get stability metrics for all your builds. This way you know when you’re ready to ship.
You can release your apps in the development or production environment using the app distribution for your test purposes. You can use "D" as development and "R" as production release to distinguish between the environments for the testers.
Analytics dashboard:
The dashboard shows you a summary of your performance and your users' traffic. You can set any event on your events settings as a conversion event so the dashboard will show the performance according to those events. In this example, the "user_purchase" is a conversion event.
This should be your every morning landing page, it will allow you to monitor the performance, dig deep and take actions according to what you see.
Events:
In my opinion, this is the most important part. If you do your best in this part all other Firebase services will work for you like a charm.
The first thing you need is to meet with all your team and brainstorm all the events that your user is expected to do in your app and write it down. You can start with sig_up, tutorial_begin, tutorial_complete, sign_in, etc.
Then you need to match all events you have with the predefined events by Firebase. This will help Firebase to generate better reports and dashboards for you. Firebase will also recommend you events to log depending on your app behavior.
For all the other events you want to log and are not predefined, you can use custom events integration to capture it and then use it in other Firebase services like conversions, funnels, cloud messages, and others. From the events dashboard, you can set any event you want as a "Conversion" event where you can use later in conversations service or even on your marketing campaigns.
Events can capture numbers on the times it occurs and the number of users who triggered that event. You also can capture the value of an event if it is related to purchase or refund or any financially affected events.
To be continued
You’ll need time to practice whatever you learned above and to be ready for the next part. In the next part, I will talk more about how you are going to use all the events and data you collected to make the right decision and use Firebase as your decision support system.
I will also walk you through (Audiences, Funnels, User Properties, Latest Release, Retention, A/B Testing, Cloud Messaging, In-App Messaging, and others)