
Google Analytics measures mobile apps through Google Analytics 4: you add an iOS or Android app data stream to a GA4 property, and the app sends events through the Firebase SDK (Google Analytics for Firebase). There is no separate “Google Analytics for mobile” product any more; the old Universal Analytics mobile SDKs are long retired, and GA4 is the only Google Analytics for apps.
Once the SDK is in, GA4 collects sessions, screen views, first opens and in-app purchases on its own. The work that decides whether the data is useful is choosing the custom events and key events your business actually runs on. This guide covers the setup, the events, the reports and the problems we see most often.
How does Google Analytics work for mobile apps?
A GA4 property can hold several data streams: one for your website and one each for your iOS and Android apps. Every app stream is tied to a Firebase project, because the Firebase SDK is what collects and sends the data. Firebase and GA4 then show the same app analytics; GA4 is where you analyse it alongside your website.
That shared property is the main reason to use GA4 for an app. A user who finds you on the web and converts in the app can be followed across both, provided you send a consistent user ID (more on that below).
How do you set up GA4 for an iOS or Android app?
- Create or open a GA4 property. In Admin, go to Data streams and choose Add stream, then iOS app or Android app.
- Register the app. Enter the bundle ID (iOS) or package name (Android). GA4 links the stream to a Firebase project, creating one if you don’t have it.
- Add the config file. Download
GoogleService-Info.plist(iOS) orgoogle-services.json(Android) and add it to the app project. - Add the Firebase SDK with Analytics. Follow the Firebase Analytics get-started guide for your platform (native iOS and Android, Flutter, Unity and others are covered).
- Ship a test build and verify. Turn on debug mode on a test device and watch the events arrive in DebugView in GA4 (see Firebase’s DebugView docs). Standard reports lag behind; DebugView is near real time.


If you also run a website, add its web stream to the same property rather than creating a new one. Separate properties for web and app make cross-platform reporting much harder later.
Which events does GA4 track in an app automatically?
Out of the box, the SDK sends a set of automatically collected events, including first_open, session_start, screen_view, user_engagement and, for store purchases, in_app_purchase. That is enough to see installs, active users, engagement time, retention and which screens people visit.
What it won’t tell you is whether people did the thing your app exists for. For that you add custom events with the SDK’s log-event call, and where Google has a recommended event for the action (such as sign_up, login, purchase or level_up), use its name and parameters so the standard reports pick it up.
| Type | Examples | Who sets it up |
|---|---|---|
| Automatically collected | first_open, session_start, screen_view, in_app_purchase |
The SDK, with no code |
| Recommended | sign_up, login, purchase, level_up |
Developers, using Google’s names and parameters |
| Custom | trial_started, report_exported, invite_sent |
Developers, from your event plan |
Write the event plan down before the developers start: event names, parameters, and which events are key events (GA4’s current name for what used to be called conversions). For a deeper look at naming and parameters, see our guide to event tracking in GA4.

Which GA4 reports matter most for an app?
- Retention and engagement. How many users come back after day 1, 7 and 30, and how long they stay. For most apps this is the number that predicts revenue.
- Events and key events. Which actions happen, how often, and which ones count as success.
- Monetisation. In-app purchase revenue from the stores, plus
purchaseevents you send for web or subscription billing. - Acquisition. Which campaigns and sources bring users who stay, not only users who install.
- Funnel explorations. Where people drop between install, sign-up, activation and purchase. Build these in Explore.

GA4 also offers predictive metrics, such as purchase and churn probability, once a property has enough qualifying users and events. Small apps often never reach those thresholds, so don’t plan around them.
How do you connect app and web users in one GA4 property?
Send a user ID from the app and the website whenever someone is logged in, using the same internal ID on both. GA4 then reports that person as one user across devices and platforms. Without it, a person who signs up on the web and uses the app counts as two users.
Never put an email address or anything personally identifiable in the user ID. Our guide to cross-device identity resolution with User-ID covers the details.
Is GA4 enough for a SaaS or product app?
For marketing questions, usually yes: where users come from, which campaigns bring retained users, and what the store revenue looks like. For product questions, often not. GA4 is weaker at per-user journeys, flexible cohorts and feature-level retention, which is where product analytics tools are built to help.
Many of our SaaS clients run GA4 for acquisition and a product analytics tool for in-app behaviour, connected by the same user ID. We compare the options in GA4 vs Mixpanel, and list the SaaS metrics worth tracking in GA4 for SaaS companies. For TMT Finance, connecting product analytics to GA4 is what showed why $4,200 of ad spend had produced only two conversions (read the case).
What goes wrong most often with GA4 app tracking?
- No data in reports. Check DebugView first. If events show there, the setup works and the standard reports are simply behind; they can take a day or more to fill.
- Events missing. The event is either not called in the code path users take, or the build with the new tracking hasn’t reached users yet. App tracking only changes when people update the app, so plan events before a release, not after.
- Users counted twice. Web and app sit in separate properties, or no user ID is sent.
- Demographics empty. Age, gender and interest data depends on Google signals being enabled and on thresholds, so small apps often see little or none.
- Store revenue and GA4 don’t match. Refunds, taxes, currencies and sandbox purchases are counted differently. Reconcile against the store reports and write down the expected differences.
- Consent. If your app shows a consent prompt, the SDK’s consent settings need to follow the user’s choice. Get that right before launch rather than after an audit.
FAQ
Can I use Google Analytics for a mobile app without Firebase?
Not for native app tracking. GA4 app streams collect data through the Firebase SDK, and each app stream is linked to a Firebase project. You don’t have to use other Firebase products, but the Analytics SDK is required.
Can one GA4 property track my website and my app?
Yes, and it should. Add a web stream and an app stream for each platform to the same property, and send the same user ID on both to see one user across them.
Is Google Analytics for apps free?
The standard GA4 and Firebase Analytics features are free. Google Analytics 360 is the paid tier for large volumes and service-level guarantees, and the BigQuery export is billed by Google Cloud by usage.
How long does GA4 take to show app data?
DebugView shows test events within seconds. Standard reports take longer, often up to a day, so verify the setup in DebugView before deciding something is broken.
If you want an outside view of your app tracking, our GA4 consulting team can audit it; get in touch.


