Android Uninstall Tracking has become easier with Trackier MMP. The Trackier MMP gives you the option of tracking Android App Uninstalls in real-time, as another way to measure the quality of traffic and restrict frauds as well. 


Setting up or enabling Android Uninstall Tracking is a simple three-step process and you can complete it on own following the simple steps mentioned below

1. Set Up A Common Identifier

Add the following code to Your Application to initiate setting up a common identifier. 

 private FirebaseAnalytics mFirebaseAnalytics; 

 FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 

 mFirebaseAnalytics.setUserProperty("ct_objectId", Objects.requireNonNull(TrackierSDK.getTrackierId()));

Besides, setting up a common identifier, you can track the following fields while performing the uninstalls:

  1. (optional) Application mode:

mFirebaseAnalytics.setUserProperty("ct_mode", Objects.requireNonNull(""));

  1. (optional) Customer user ID:

mFirebaseAnalytics.setUserProperty("ct_uid", Objects.requireNonNull(""));

  1. (optional) Customer email:

mFirebaseAnalytics.setUserProperty("ct_mail", Objects.requireNonNull(""));

2. Set up conversion event using firebase

Though the firebase analytics automatically collects the app_remove event, still you will be required to enable that.

This is an Android-only event that is tracked when an application is uninstalled from the device.

Follow the below-mentioned steps to complete the set-up process: 

  1. Navigate to the firebase console and select the firebase project that is integrated with your android application.

  2. Navigate to Analytics > Events in the Firebase Dashboard.

  3. Enable the “Mark as conversion” toggle for the app_remove event.

3. Set up the cloud function to communicate uninstall data with Trackier

After the conversion is set up, use the cloud function for Firebase to create a function and send the uninstall data to Trackier MMP.


  1. Your system should have nodejs ( installed, preferably version 14 or higher. Run the following command to check the installed nodejs version node -v.

  2. Please make sure that your user in the application’s project on google cloud platform has the permission to create a cloud function here:

To create and publish a cloud function using Node JS, perform the following steps:

  1. Open a terminal.

  2. Set up Node.js and the Firebase CLI.

  3. Run npm install -g firebase-tools.

  4. To initialize Firebase SDK for Cloud Functions, run firebase login.

  5. From your Firebase project directory, run firebase init functions.

  6. Select Javascript as a language option.

  7. Move to the functions directory, run cd functions.

  8. Open index.js and add the following code:

// Import dependencies

const functions = require("firebase-functions");

const admin = require("firebase-admin");

const axios = require("axios");

// Configure SDK Key here

const SDK_KEY = "";

// Initialize application via firebase admin


// Set function to exports

exports.sendAndroidUninstallToTrackierMMP ="app_remove").onLog((event) => {

    // Extract values from user properties

    const installId = (event.user.userProperties.ct_objectId) ? event.user.userProperties.ct_objectId.value : "";

    const mode = (event.user.userProperties.ct_mode) ? event.user.userProperties.ct_mode.value : "";

    const cuid = (event.user.userProperties.ct_uid) ? event.user.userProperties.ct_uid.value : "";

    const cmail = (event.user.userProperties.ct_mail) ? event.user.userProperties.ct_mail.value : "";

    // Prepare data for request

    const url = "";

    const data = JSON.stringify({ installId, sdkKey: SDK_KEY, mode, cuid, cmail, meta: event });

    // Send data back to Trackier MMP, data, { headers: { "Content-Type": "application/json" } })

        .then((response) => console.log(JSON.stringify({ installId, status: response.status, data: })))

        .catch((error) => console.error(JSON.stringify({ installId, status: error.response.status, data: })));


  1. Open package.json and add the following code:


    "name": "functions",

    "description": "Cloud Functions for Firebase",

    "scripts": {

        "lint": "eslint .",

        "serve": "firebase emulators:start --only functions",

        "shell": "firebase functions:shell",

        "start": "npm run shell",

        "deploy": "firebase deploy --only functions",

        "logs": "firebase functions:log"


    "engines": {

        "node": "14"


    "main": "index.js",

    "dependencies": {

        "axios": "^0.24.0",

        "firebase-admin": "^10.0.1",

        "firebase-functions": "^3.16.0"


    "devDependencies": {

        "eslint": "^8.6.0",

        "firebase-functions-test": "^0.3.3"


    "private": true


  1. Open .eslintrc.js and add the following code, create one if does not exist:

module.exports = {

    root: true,

    env: {

        es6: true,

        node: true,


    extends: [



    rules: {

        quotes: ["error", "double"]



  1. Install all dependencies, run npm install.

  2. Deploy the cloud function, run npm run deploy.

  3. Once deployed, you can monitor the status of your cloud function here: