Firebase Analytics is a free Google tool for tracking user behavior in mobile and web applications. The service automatically collects basic events (first launch, purchases, screen interactions) without writing code and allows adding custom events for in-depth analysis. According to Google, 2026, Firebase Analytics processes over 50 billion events daily worldwide. The SDK integrates with a single line of dependency and immediately starts transmitting data to the Firebase console.
Key Takeaways
Firebase Analytics is a Google cloud service for collecting, aggregating, and analyzing user events in mobile and web applications. It is part of the Firebase SDK and is provided free of charge with no limits on the volume of collected data.
Firebase Analytics processes data at the level of individual sessions and users. Each event contains a timestamp, user identifier, and up to 25 key-value pairs of additional parameters. The SDK automatically manages the installation identifier and complies with Google Play and App Store privacy policies.
Firebase Analytics is built on Google Cloud infrastructure and uses the same streaming data processing system as Google Analytics 4. Events are sent from the client via HTTPS to a collection endpoint, then undergo validation, enrichment, and are stored in BigQuery for long-term retention. According to Google (2026), the average latency between sending an event and its appearance in a report is less than 3 seconds.
To ensure privacy, Analytics automatically anonymizes user IP addresses and does not transmit persistent device identifiers (AAID, IDFA) without explicit consent. Developers control data collection through flags in AndroidManifest and Info.plist.
Unlike many Firebase products, Firebase Analytics has no paid tiers. The service is completely free regardless of the number of events, users, or storage duration. Data in the Firebase console is stored for up to 14 months, and when BigQuery export is enabled, storage duration is unlimited. According to Google (2026), 96% of Firebase projects use Analytics, and none of them pay for the service itself — costs only arise when exceeding BigQuery limits (10 GB of free storage per month).
The collection mechanism is based on an event model: each user action becomes an event with a set of parameters. The SDK automatically logs recommended events — first_open, session_start, screen_view, purchase, and in_app_purchase. No code is required to enable them — simply adding the analytics module is sufficient.
Firebase Analytics generates automatic events without any configuration from the developer. The full list includes 15 events: first_open (first launch), session_start (session start), user_engagement (interaction), screen_view (screen view), app_remove (app deletion), os_update (OS update), and others. Each automatic event contains a predefined set of parameters — app version, device model, OS version, region, and language.
class AnalyticsEventsActivity : AppCompatActivity() {
private lateinit var firebaseAnalytics: FirebaseAnalytics
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
firebaseAnalytics = FirebaseAnalytics.getInstance(this)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT) {
param(FirebaseAnalytics.Param.ITEM_ID, "article_575")
param(FirebaseAnalytics.Param.ITEM_NAME, "Firebase Analytics Guide")
param(FirebaseAnalytics.Param.CONTENT_TYPE, "guide")
}
}
}
To track specific application logic, custom events are used. The developer defines the event name (up to 40 characters, Latin letters and underscores) and a set of parameters (up to 25 parameters per event). Event names are registered in the Firebase console automatically after the first send — no preliminary configuration is required.
Custom events can be combined with parameters passed as a Bundle. Firebase automatically aggregates numeric parameters, calculating sum, average, minimum, and maximum. String parameters are used for filtering and segmentation in reports. According to Google (2026), medium-sized applications generate between 200 and 500 unique custom events.
The event model of Firebase Analytics consists of three levels: events, parameters, and user properties. Each level serves its own purpose and has its own volume limitations. Events describe an action, parameters clarify the context, and user properties define user attributes.
An event is a single user action with a timestamp. Each event must contain a name and can include up to 25 parameters of type String or Double. Firebase distinguishes recommended events (predefined names from FirebaseAnalytics.Event constants), custom events (any unique developer names), and automatic events (generated by the SDK). According to Google (2026), an application sends an average of 50 to 200 events per user session.
| Event Type | Examples | Code Required |
|---|---|---|
| Automatic | first_open, session_start, screen_view | No |
| Recommended | purchase, share, login, search | Partial |
| Custom | level_complete, tutorial_step, filter_applied | Yes |
Parameters clarify the context of an event. For recommended events, Firebase offers predefined parameter names (FirebaseAnalytics.Param.ITEM_ID, .VALUE, .CURRENCY). For custom events, developers use any names up to 40 characters long. A parameter can be a string (up to 100 characters), a floating-point number, or an array. Parameter values appear in reports as filters — you can view the purchase event only for a specific item_name.
User Properties are attributes attached to all events of a user throughout their lifecycle. Unlike event parameters, user properties are not tied to a specific action and are transmitted once when changed. Typical examples: preferred_language, subscription_tier, onboarding_completed. Maximum 25 user properties per project. Each property can be a string up to 36 characters long.
User Properties are actively used for building audiences: you can create a segment of users whose subscription_tier equals “premium” and analyze their behavior separately from free users. According to Google (2026), proper configuration of user properties increases LTV prediction accuracy by 20-30%.
Integrating Firebase Analytics into an Android application consists of three steps: adding a dependency in build.gradle, initializing Firebase, and configuring data collection rules. Analytics is automatically activated when the Firebase SDK is connected — no additional API keys or tokens are required.
// build.gradle (app-level)
dependencies {
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
implementation("com.google.firebase:firebase-analytics-ktx")
}
// AndroidManifest.xml
@android:name="google_analytics_automatic_screen_reporting_enabled"
android:value="true"
After adding the dependency and syncing Gradle, the FirebaseAnalytics object is available as a singleton: FirebaseAnalytics.getInstance(context). By default, Analytics only collects automatic events and does not collect data in DEBUG builds. For testing, use the DebugView option in the Firebase console, which shows events in real time with less than 1 second latency.
Firebase provides flexible mechanisms for disabling or limiting data collection. The flag Analytics.setAnalyticsCollectionEnabled(false) completely stops sending events from the client. Alternatively, you can configure permissions through a user consent dialog (consent mode) — Firebase will only collect data after explicit approval. This is critical for GDPR and ePrivacy compliance in the European Economic Area.
According to Google (2026), about 12% of users in the EU territory opt out of analytics collection. For such cases, Firebase allows transmitting aggregated data without identifiers — anonymous events that are counted in overall metrics but are not tied to a specific user.
The Firebase console provides a set of ready-made reports based on collected events: engagement dashboard, retention report, conversion funnels, and user flows. All reports are updated in real time and support filtering by app version, country, device, and user properties.
A funnel is a sequence of events that a user must complete to reach a target action. For example: screen_view(onboarding) → sign_up → add_to_cart → purchase. Firebase Analytics automatically builds a funnel from the specified events and shows the percentage of users who reached each step. According to Google (2026), applications using funnels identify 40% more user drop-off points compared to regular event viewing.
Audiences in Firebase Analytics allow segmenting users by events, parameters, and user properties. An audience is a dynamic list of users that meet specified conditions. For example, “Users who opened the app 5+ times in a week and made a purchase.” Created audiences are automatically synchronized with Firebase Cloud Messaging for sending push notifications and with Google Ads for advertising campaigns.
Firebase supports up to 500 audiences per project. Each audience is updated every 2-4 hours and contains an unlimited number of users. Audiences can be combined using AND, OR, and NOT — this allows building complex segments for A/B testing and content personalization through Remote Config.
BigQuery is the primary channel for deep analysis of Firebase Analytics data. When export is enabled (configured in the Firebase console with a single button), all raw events are copied to a BigQuery table in a format of rows with nested fields. Data is updated in real time with a delay of no more than 5 minutes. Developers can write arbitrary SQL queries for analysis, build dashboards in Looker Studio, or connect ML models for predicting user churn.
Firebase Analytics and Google Analytics 4 (GA4) share a common event model and BigQuery infrastructure, but have key differences in purpose and capabilities. GA4 is focused on web analytics and cross-platform reports for marketers, while Firebase Analytics is tailored for mobile developers and integration with other Firebase services.
| Feature | Firebase Analytics | GA4 |
|---|---|---|
| Primary Channel | Mobile Applications | Web + Applications |
| Firebase Integration | Native | Via Firebase SDK |
| Cloud Messaging | Direct audience → notifications | Only via audience import |
| DebugView | Built-in | Via Firebase |
| Custom Funnels | Yes, in Firebase console | Yes, in GA4 interface |
Choosing between Firebase Analytics and GA4 depends on the project ecosystem. If the application actively uses other Firebase services (Crashlytics, Cloud Messaging, Remote Config), Analytics is the natural choice due to seamless integration. If the primary goal is marketing analytics with a website and application in a single interface, GA4 provides broader reporting and attribution capabilities. According to Google (2026), 73% of projects use Firebase Analytics as their primary tool and GA4 as a supplementary tool for marketing reporting.
Frequently Asked Questions
Firebase Analytics is completely free with no limits on the number of events or users. Charges only apply when exporting data exceeding the BigQuery free tier (first 10 GB per month are free).
Yes, Analytics uses its own installation identifier (app instance ID) that does not depend on Google Play Services. On devices without Google Play, the SDK operates in a limited mode without an advertising identifier.
Use DebugView in the Firebase console. Enable debugging on the device with the command adb shell setprop debug.firebase.analytics.app your_package, and all events will appear in DebugView with less than 1 second latency.
Firebase provides a deletion API — a request via Google Cloud Console to delete data for a specific app instance ID or user ID. Data is deleted within 30 days from all Firebase storage systems.
Yes, simply add the dependency firebase-analytics-ktx to build.gradle. All automatic events will start collecting immediately after Gradle sync and app launch. Custom events are added with separate code.
Summary
We will develop a mobile application turnkey
IT Sectr creates iOS and Android applications for startups and businesses since 2017. We will advise you and propose the best solution.
Read also