Track Android uninstalls with user details for less than $1 a month

Nishant Shah
Practo Engineering
Published in
4 min readDec 10, 2018

It takes a lot of efforts and time to build and launch an app. It takes even more efforts to make users install the app. If users are leaving your app, you would immediately want to know why.

The main motive behind tracking uninstall rate is to figure out what made users delete the app. Uninstall tracking can also help us identify users who uninstalled the app and retarget them to install the app again or even to ask the for feedback. This tutorial will help you track uninstalls and find events performed before the uninstall happened using Firebase.

Firebase automatically tracks ‘app_remove’ events when an application package is removed or “uninstalled” from an Android device. But the problem with Firebase console is that it only shows the number of events. It does not share the user’s demography or events performed before the uninstall happened.

Automatically tracked events Firebase

To find users demography and events performed before uninstall, we need to export all analytics event from firebase to BigQuery. Linking BigQuery to Firebase app lets us access our raw, unsampled event data along with all of the parameters and user properties. To transmit Firebase data to BigQuery, you must upgrade your project to the Blaze plan. We’ll talk more about costs later in the costs section.

Setup

First of all, we’ll have to integrate firebase with our Android project. Follow the instructions mentioned here to add firebase to your Android Project. Add Fireabase analytics to your project and start tracking events which you would like to track before the uninstall happens.

Do not forget to set user properties in analytics events. It’ll help you identify users who uninstalled the app and retarget them.

Step 1:

Upgrade your Firebase to Blaze

Firebase plans

Step 2:

Link BigQuery to Firebase. To link BigQuery to your Firebase project:

  • Sign in to Firebase
  • Click the Settings icon and select Project Settings
  • On the Project Settings page, click the Integrations tab
  • On the BigQuery card, click Link
  • Once linking is complete, find the BigQuery card in integration tab, click on Manage
  • Under Firebase analytics flow, turn on the flow to export data of your app

It will take some time to export start exporting data from firebase to BigQuery. Once your data is loaded into BigQuery, you can run SQL-like queries over it using BigQuery. Here is the sample query which we ran to analyze the events before the uninstall happened. For more information, see Querying Data in the BigQuery documentation. If you have added user properties in your analytics events, you’ll be able to identify users who had uninstalled the app and will be able to retarget them

Step 3:

Query raw analytics evens in BigQuery. Here is the sample query to identify users who uninstalled the app on 2018/12/03

Sample query 1

There’s a lot more stuff you can do by querying your raw data. Here is another sample query to find the last two events performed by the users before uninstalling the app.

Sample query 2

Cost

As we discussed, to transmit Firebase data to BigQuery, you must upgrade your project to the Blaze plan. Blaze plan is a postpaid plan, you’ll only pay for what you use. No fixed monthly charges either. For more information, see Firebase pricing.

In addition, storing and querying data in BigQuery incurs a fee. For more information, see BigQuery pricing.

To reduce data storage costs even further as daily event tables accumulate, delete older tables or move them to Cloud Storage.

How much does it cost us?

Well, less than $1.00 per month💸💸. We log around 70 events, 3 user properties and store only last 6 months data and we do not use any other paid feature of Firebase Blaze plan

It takes time to build an app that everyone likes. Until then, we have to keep a watch on users’ actions within our app and discover the problem which led to uninstalls and of course fix that problem.

--

--