Skip to main content

Blog

Firebase Analytics demystified

Alex Cirstea5 February 20184 min read

			<span style="font-weight: 400;">After a steep learning curve into the world of Firebase Analytics or Google Analytics for Firebase, it seems that a blog post about it would be much valued and appreciated. I’ve compiled a list of the most frequently asked questions.</span>

1. How does Firebase Analytics define a session?

Firebase Analytics defines a session as a user engaging with your app for a minimum amount of time (10 seconds by default) followed by your user not engaging with your app for a certain amount of time (30 minutes by default). So if a user is using your app, switches to camera and takes a photo, then goes back to your app, that's considered one session. Another example is if the user accidentally taps on your app then switches away to open a different app, this won’t record a session in Firebase (if they do this within 10 seconds). You can manually define the duration of a session: for Android within the FirebaseAnalytics class and for iOS through the FIRAnalyticsCofiguration class.

2. How does Firebase Analytics define a unique user?
In Firebase Analytics, a user is synonymous with an instance of an app this is called App Instance ID.  As the name suggests, this identifies a unique instance of the application on a device, so that if the app is uninstalled and reinstalled, it will have a distinct App Instance ID. Updating the app to a newer version does not change the App Instance ID. If you export Firebase data to BigQuery you will find this dimension under: app_instance_id now changed to user_pseudo_id

You can find the full list of dimensions exported to BigQuery here.

3. Can I manually supply my own user ID into Firebase?

Yes, you can supply your own user ID using the FirebaseAnalytics.setUserId method. You can then link the account to BigQuery and count distinct users using BigQuery. This custom user ID will show in your BigQuery table under: user_id

4. How much time does it take for Firebase analytics first report?

It takes a few hours, normally around 3-4 hours but the documentation says that the dashboard updates "a few times every day" and it can take up to 24 hours.

5. Does Firebase Analytics work offline?

Firebase with batch the events and store them locally on the device. When the device has a network connection and it’s time to upload the data, Firebase will attempt to upload the data. If the upload is successful the data is deleted from the device. If the device is offline the app will wait for connectivity before attempting to upload again.

Need to connect your data?

Join marketing, customer and product data with tested models and documentation your team can use. Start with the sources needed for your question.

Short answer: Yes, events are stored locally and uploaded when there is an internet connection.
Note: Data older than 72 hours will be ignored.

6. Where does Firebase Analytics gets demographics and interests data from?

On Android, the data is derived from the Android Advertising ID, which is automatically collected on devices with Google Play Services installed.

On iOS, this data is derived from the Advertising Identifier (IDFA) when available (i.e. when your app links to the Ad Support Framework).

Note: Demographic reports are thresholded for privacy reasons. Once you have enough data (at least 10 users per age/gender bracket), data for that bracket will be shown

7. Can Firebase Analytics combine the data for the Android and iOS version of the same app?

No, currently there's no way to view combined analytics for multiple apps in the same project. You can do this with BigQuery, of course, but there's no out-of-the-box solution for the Firebase Analytics reports. After recent releases, project level reporting nows allows you to see what's happening across all the apps (iOS and Android) in a project, while also being able to apply a filter to view them individually.

8. Why I can’t see custom parameters in my Firebase reports?

In order to see custom parameters in your Firebase reports you need to register these parameters with their corresponding event in the Firebase interface. To enable these parameters in Firebase go to Events, then in the row with the event you want to add the parameter click on “Edit parameter reporting”.

Note: You can register up to 50 event parameters per app (40 numeric and 10 text).

These don’t report retroactively in the UI, custom parameters only report from the point you add them. But historical data is available in BigQuery.

Need to connect your data?

Join marketing, customer and product data with tested models and documentation your team can use. Start with the sources needed for your question.

Have a question or project in mind?

Bring data to connect, a question to investigate or something to fix or build. We can agree a focused scope directly.

Suggested content

Blog

How to make an AI agent accurate in BigQuery

A year ago, I wrote about getting a BigQuery warehouse ready for AI ( Easy ways to prepare your BigQuery warehouse for AI) , but didn't look properly into Knowledge Catalog (known as Dataplex at the time). We decided to go back and look through Google's Knowledge Catalog properly: what's actually in there, how it works and what it relates to. What Knowledge Catalog is Knowledge Catalog is Google's metadata layer for BigQuery data (and a few other sources). It sits alongside your tables rather

Katie Kaczmarek15 Sept 2026

Blog

What's actually in Google's Knowledge Catalog

Google's Knowledge Catalog has been renamed four times. Data Catalog, then Dataplex Catalog, then BigQuery universal catalog, then Dataplex Universal Catalog, and now Knowledge Catalog, as of 10 April 2026. The API, gcloud and IAM roles still all say "dataplex". If you land on a page that mentions Dataplex and wonder whether you're reading something out of date, you're probably not. That's just the product's fifth name in four years. I spent some time looking through the different sections of K

Katie Kaczmarek15 Sept 2026

Blog

BigQuery Tips: When your query is technically correct but BigQuery won't run it

There is a particular kind of frustration that comes from staring at a query you know is correct and watching it fail. No syntax error. No logic problem. Just a wall. We hit two of them on the same project. What we were building The job was to migrate ga4_daily_snapshot for a large enterprise client from a BigQuery scheduled query into a proper Dataform pipeline. The scheduled query had been added to over time until it was too large to maintain with any confidence. Moving it to Dataform w

Katie Kaczmarek17 Aug 2026