3 Aspects of Firebase Analytics

In this post, we will look at 3 important aspects of Firebase Analytics: Event, User property and Audience


Firebase Analytic operates based on Event mechanic. All user’s interaction will trigger an event (Along with parameter), Event will respond to the database of Firebase and it will save all the changes in Firebase Dashboard which are calculated based on data of Event.

After you integrate Firebase Analytic SDK, Even when you do not intentionally track events, Firebase Analytics will still display data on DAU, retention, etc. Because by default, Firebase is automatically tracking these important events like:

  • First_open: Activate when user open application for the first time after installing (Reinstall app is counted).  This event would be used as a factor to calculate retention. A small notice is Firebase Analytics count user from all the source (even APK files), then this number would be considerably higher than daily install in Store Dashboard (AppStore, PlayStore)
  • Session_start: Activate when user engagement is longer than 10 seconds (This value may be changed). Session would be ended if there is no interaction in more than 30 minutes, the session will automatically be ended. Based on this event, Firebase Analytic will count number of session using app from user daily.
  • User_Engagement: Activate when a session ends (For example: Application is inactive for more than 30 minutes) in order to track the duration of session. It could be considered as a session_end.
  • Screen_view: Activate when user switch between screen on app. You can define and name the screen freely, then based on events to understand the amount of time users spend on each screen.
  • App_remove: Special event are only available on Firebase Analytic at the moment. Because Firebase Analytic can connect and share a part of data with Google Play Service, and particularly for Android, this event would be activated when user uninstall an app. This is a powerful tool because we can use it to gain insights from user and learn why they uninstall the app in order to improve the quality of our apps.

Apart from default events on Firebase, you can create up to 500 different events for your application with label and parameter for those events. Firebase Analytics also suggest set of events base on genre of your application here (https://support.google.com/firebase/answer/6317498?hl=en&ref_topic=6317484)

When creating an event with parameters, you can chose to break down an event into different parameters. Tracking the number of events occur on each parameter (Maximum 10 parameters for the whole Firebase dashboard).

For Example, the image above shows the number of event level_start occur on each level (Parameter Level_Name).

In summary, all of the default events created by Firebase can track basic information. Along with it, you can actively track more event depend on your app to understand your users better and gain insights on what they do while using your apps.

User Property

If event used to track what users have done on your app, then User Property is used to define who your users are. By creating properties for users and giving them some values, you can gain more information about an user: Who they are, where they are from, what is their current status.

Once again, Firebase Analytic provides default User Property to define who your users are: Gender, Nation, Age, Devices, etc…

More importantly, you can create up to 25 different properties for your users, to define your user’s status.  Property can be their current level, the amount of money/gold that they have in the app, the number of items they own, the number of games they play etc.. 25 properties is very limited number, so you need to consider carefully before creating a user property because Firebase Analytics do not support deleting or editing property.

Everytime user triggers an event, all user_property of them will be sent with that event. This helps you to answer question “My user is in status x when they trigger action y”. For example: when finish Level 5, how many gold does my user have?  When user is buying the first item, how many free item does my user have successfully unlocked before? Especially, when deleting a game, how many level my user have played, how much gold they earnt, how many items they have unlock?

Notice: To use user property with event, you need to use BigQuerry. Follow us more for further information.


Audience is a function which allows you to divide your user into segmentations which share the same attributes. Then you can come up with different actions for each group of users.

You can define Audience by conditions for events that user triggered or through user property to which display user status. In short, Audience displayed by following conditions:

  • What did your users do? and how many times did they do it?
  • What is your user’s recent status?

Notice that the Audience function works in a funnel model. After you create a group of audience, it will not have initial data, Firebase Analytic will track all your users to update data. Anytime a user triggers an event, that user will be checked by condition of Audience. If it meets the group of audience’s condition, that user will be included in new audience. The group of audience will be filled.

Some  ways to use a group of Audience:

  • Divide user base on country: Use property county to filter user by US, UK, JP, ID v.v.v -> to find your top market.
  • User use a special function in your app: trigger events such as ‘buy_gun’, ‘Build_coffee_shop’, ‘use_booster’.
  • User surpass ‘checkpoint’ in your app: Trigger event such as: ‘Finish_tutorial’, ‘Finish_level_5’.
  • Top users, having potential to interact more in an app: using user property such as ‘highest_score’, ‘current_level’, ‘rank’.

The way to create an Audience: Recently Firebase support to sort condition based on many factors. Recently 2 of the most important factors are event and user property. However you can still base on app, source of user (This is highly effective when you run an advertising campaign especially on Google ads – Adword):

We just try to create a group of Audience. For example you want to define top user – users with ‘Top users’ bigger than with the amount of ‘hint’ higher than 500 and smaller than 1000, used to complete tutorial in classic mode, win over level 5 of puzzle mode, having interaction with quests more than 5 times in 7 days. Then the condition would be like:

  • In this example, the targets are Android users.
  • Use event finish_tutorial_classic with the condition is trigger more than 0 time
  • using event quest_engagement with condition more than 5 times in 7 days straight.
  • Using event finish_level_puzzle with the condition with parameter level higher than 5. Another way to use user property is current_puzzle_level higher than 5.
  • Using user property hint with condition higher than 500
  • In the meantime, create a group exclude the  condition hint higher of equal to 1000 because we only need user with hint higher than 500 and smaller than 1000.

Trying filter a group of audience dashboard we will see most of statistic updated:

Using Audience, try to divide users into smaller groups based on suggestions above or based on the reality of your app. Then you would find out group of audiences who are most valuable to you to come up with different advertising strategy on them.

If you find this post provides you with useful information, please support us by completing our survey and get free access to our “ASO: App Store Optimization Vol.1 ” E-book. We appreciate your time and support. 
Thank you and have a nice day!.

For more articles on Monetization, please find it here

Bài viết mới nhât

Bài viết liên quan