Skip to main content
RapidDev - Software Development Agency
firebase-tutorial

How to View Firebase Analytics Reports

Firebase Analytics reports are accessible from the Firebase Console under the Analytics section. The Dashboard shows an overview of active users, events, and revenue. The Events report lists all logged events with counts and parameters. Reports have a 24-48 hour processing delay, so recently logged events may not appear immediately. Use DebugView for real-time event verification during development.

What you'll learn

  • How to navigate the Firebase Analytics Dashboard and key reports
  • How to interpret the Events, Users, and Audiences reports
  • How to use DebugView for real-time event verification
  • How to link Firebase Analytics to BigQuery for advanced analysis
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner7 min read8-12 minFirebase Analytics (all plans), Firebase Console, all platforms (web, iOS, Android)March 2026RapidDev Engineering Team
TL;DR

Firebase Analytics reports are accessible from the Firebase Console under the Analytics section. The Dashboard shows an overview of active users, events, and revenue. The Events report lists all logged events with counts and parameters. Reports have a 24-48 hour processing delay, so recently logged events may not appear immediately. Use DebugView for real-time event verification during development.

Navigating and Understanding Firebase Analytics Reports

Firebase Analytics automatically tracks key metrics like active users, session duration, and screen views. It also records custom events you log with logEvent. This tutorial walks you through the Firebase Console's Analytics section, explains each report type, shows you how to use DebugView for real-time testing, and covers linking to BigQuery for SQL-based analysis on raw event data.

Prerequisites

  • A Firebase project with Google Analytics enabled
  • Firebase Analytics initialized in your app (getAnalytics on web, or Firebase SDK on mobile)
  • At least some user activity or test events logged
  • Access to the Firebase Console with Editor or Viewer role

Step-by-step guide

1

Open the Analytics Dashboard

Go to the Firebase Console (console.firebase.google.com), select your project, and click Analytics in the left sidebar. The Dashboard shows a high-level overview: active users in the last 30 minutes, total users for the selected period, average engagement time, and revenue (if applicable). Use the date picker in the top-right to change the reporting period.

Expected result: The Analytics Dashboard loads with overview cards showing active users, engagement, and event counts.

2

Review the Events report

Click Events in the Analytics sidebar. This report lists every event Firebase has recorded, including automatic events (first_open, session_start, screen_view) and custom events you logged with logEvent. Each row shows the event count, unique users, and revenue. Click any event to see its parameters, user breakdown, and trends over time.

Expected result: A table of all events with counts and user numbers appears. Clicking an event shows detailed parameter breakdowns.

3

Explore the Users report and user properties

The User reports section shows demographics, interests, and user properties. User properties are custom attributes you set with setUserProperties (like subscription_tier or preferred_language). These let you segment reports and build audiences. Firebase also tracks default properties like device type, OS version, country, and app version.

typescript
1// Setting a user property (web example)
2import { getAnalytics, setUserProperties } from 'firebase/analytics'
3
4const analytics = getAnalytics()
5setUserProperties(analytics, {
6 subscription_tier: 'pro',
7 preferred_language: 'en'
8})

Expected result: User properties appear in the Analytics Console under User Properties and can be used to filter any report.

4

Use DebugView for real-time event testing

The standard Analytics reports have a 24-48 hour delay. DebugView shows events in real-time, making it essential during development. Enable debug mode on web by installing the Google Analytics Debugger Chrome extension, or by setting the debug_mode parameter. Events from debug devices appear in DebugView within seconds.

typescript
1// Enable debug mode programmatically (web)
2import { initializeApp } from 'firebase/app'
3import { getAnalytics, setAnalyticsCollectionEnabled } from 'firebase/analytics'
4
5const app = initializeApp({ /* config */ })
6const analytics = getAnalytics(app)
7
8// Or use the Chrome extension: Google Analytics Debugger
9// Or add ?debug_mode=true to your URL in development

Expected result: Events appear in the DebugView section within seconds, showing event name, timestamp, and all parameters.

5

Build audiences for targeted analysis

Audiences are groups of users defined by conditions on events and properties. For example, create an audience of users who triggered 'add_to_cart' but not 'complete_purchase' in the last 7 days. Audiences can be used in Firebase reports, Remote Config, Cloud Messaging, and Google Ads for targeted campaigns.

Expected result: Audiences appear in the Audiences section and begin populating with matching users within 24-48 hours.

6

Link to BigQuery for advanced SQL analysis

For analysis beyond what the Firebase Console provides, link your Firebase project to BigQuery. Once linked, Firebase exports raw event data daily into BigQuery tables named events_YYYYMMDD. You can then write SQL queries to analyze funnels, retention, and custom metrics. The export is free; BigQuery charges apply for queries.

typescript
1-- Example BigQuery query: top events by count
2SELECT
3 event_name,
4 COUNT(*) AS event_count,
5 COUNT(DISTINCT user_pseudo_id) AS unique_users
6FROM
7 `your-project.analytics_123456789.events_*`
8WHERE
9 _TABLE_SUFFIX BETWEEN '20260301' AND '20260328'
10GROUP BY event_name
11ORDER BY event_count DESC
12LIMIT 20

Expected result: Raw event data is available in BigQuery for SQL-based analysis with full parameter details.

Complete working example

src/lib/analytics.ts
1// src/lib/analytics.ts
2import {
3 getAnalytics,
4 logEvent,
5 setUserProperties,
6 setUserId
7} from 'firebase/analytics'
8
9const analytics = getAnalytics()
10
11// Track a custom event
12export function trackEvent(
13 eventName: string,
14 params?: Record<string, string | number>
15) {
16 logEvent(analytics, eventName, params)
17}
18
19// Track screen views for SPA routing
20export function trackScreenView(screenName: string) {
21 logEvent(analytics, 'screen_view', {
22 firebase_screen: screenName,
23 firebase_screen_class: screenName
24 })
25}
26
27// Set user properties for segmentation
28export function setUserProps(props: Record<string, string>) {
29 setUserProperties(analytics, props)
30}
31
32// Set user ID for cross-device tracking
33export function setAnalyticsUserId(uid: string) {
34 setUserId(analytics, uid)
35}
36
37// Common e-commerce events
38export function trackPurchase(value: number, currency: string, items: any[]) {
39 logEvent(analytics, 'purchase', {
40 value,
41 currency,
42 items
43 })
44}
45
46export function trackAddToCart(itemId: string, itemName: string, value: number) {
47 logEvent(analytics, 'add_to_cart', {
48 items: [{ item_id: itemId, item_name: itemName, price: value }]
49 })
50}

Common mistakes when viewing Firebase Analytics Reports

Why it's a problem: Expecting events to appear in reports immediately — Analytics has a 24-48 hour processing delay

How to avoid: Use DebugView for real-time event verification during development. Production reports populate within 24-48 hours after events are logged.

Why it's a problem: Creating too many custom events (over 500 unique event names) which hits the Firebase Analytics limit

How to avoid: Use event parameters to add detail instead of creating separate events. For example, use one 'button_click' event with a 'button_name' parameter instead of 'login_button_click', 'signup_button_click', etc.

Why it's a problem: Not enabling Google Analytics when creating the Firebase project, resulting in no Analytics data

How to avoid: Go to Firebase Console > Project Settings > Integrations > Google Analytics and link or enable it. Some features require re-deploying your app with the analytics SDK initialized.

Best practices

  • Use DebugView during development to verify events appear with the correct parameters before checking production reports
  • Follow Firebase's recommended event naming conventions (snake_case, max 40 characters) for consistency
  • Set user properties early in the session for accurate audience segmentation
  • Use Audiences to create user segments that can be targeted with Remote Config and Cloud Messaging
  • Link to BigQuery early in your project — historical data before linking is not exported retroactively
  • Review the automatically collected events before creating custom ones — Firebase may already track what you need
  • For complex analytics pipelines that combine Firebase data with other sources, RapidDev can help build a unified data warehouse and reporting dashboard

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

Explain the Firebase Analytics reports available in the Firebase Console. Cover the Dashboard, Events report, User properties, Audiences, and DebugView. Show me how to log a custom event with parameters and how to write a BigQuery SQL query to analyze the top events for the last 30 days.

Firebase Prompt

Set up Firebase Analytics in my web app with custom event tracking. I need functions to track screen views, button clicks with parameters, and e-commerce events (add_to_cart, purchase). Also show me how to enable DebugView for testing and how to set user properties for audience segmentation.

Frequently asked questions

Why are my events not showing in the Firebase Analytics reports?

Analytics reports have a 24-48 hour processing delay. If your events are new, wait at least a full day. To verify events immediately, use DebugView. Also check that getAnalytics() is called in your app and that Google Analytics is enabled in your Firebase project settings.

Is Firebase Analytics free?

Yes. Firebase Analytics (Google Analytics for Firebase) is completely free with unlimited reporting, regardless of your Firebase plan. BigQuery exports are also free; you only pay for BigQuery query processing.

What is the difference between Firebase Analytics and Google Analytics 4?

They are the same product. Firebase Analytics is the Firebase-branded interface for Google Analytics 4 (GA4). Data flows to the same backend, and you can access the same data from both the Firebase Console and the GA4 Console.

How many custom events can I create?

Firebase Analytics supports up to 500 unique event names per project. Each event can have up to 25 custom parameters. Use parameters to add detail rather than creating many separate events.

Can I delete or reset Analytics data?

You cannot delete individual events, but you can reset Analytics by unlinking and relinking Google Analytics in project settings. This creates a new data stream and you lose historical data. For GDPR deletion requests, use the GA4 user deletion API.

How do I track page views in a single-page application?

Firebase does not automatically track route changes in SPAs. Call logEvent(analytics, 'screen_view', { firebase_screen: 'PageName' }) on each route change. With React Router, use a useEffect hook that fires on location changes.

What is the data retention period for Firebase Analytics?

The default retention period is 14 months, configurable up to 50 months in GA4 settings. For longer retention, link to BigQuery where data is stored indefinitely.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.