App analytics explained simply
Practical guides to the numbers in Firebase, GA4 and the app stores — what they mean, why they disagree, and what to check when they look wrong.
Start here
Firebase Analytics Data Not Showing? What to Check First
A checklist for when your app is live but Firebase Analytics or GA4 shows nothing — in the order that finds the cause fastest.
Read this guideAll guides
Getting started
How to Use Firebase Analytics DebugView
DebugView shows events from one device as they arrive. It is the fastest way to prove your Analytics setup works before you trust any report.
How to Separate Test Users from Real Users in Firebase Analytics
Debug builds, TestFlight testers and automated test devices all send Analytics events — how to recognise them in your data and keep them out without losing real users.
How to Check Your Firebase and Google Analytics Connection
Firebase and GA4 are linked by a setting, not automatically. Here is how to confirm the link exists and which property your app feeds.
GA4 Property vs Data Stream: What Is the Difference?
A property is where reporting happens. A data stream is one source feeding it. Getting these two straight explains most confusing GA4 numbers.
Analytics Checklist Before You Launch an App
What to set up and verify in Firebase and GA4 before release, while every setting still covers all of your data — events, parameters, test traffic, retention and time zone.
Metrics
What Are Active Users in GA4?
Active users counts people who engaged during a period — not sessions, not opens, and not a running total. What the number includes and what it does not.
New Users vs Returning Users in GA4
New users logged their first open in the period; returning users had an earlier session. Why the two rarely add up, and how to check whether people really come back.
Why Today's Users and Realtime Users Are Different
Today counts everyone since midnight. Realtime counts a recent window. Both are correct, and they disagree for four specific reasons.
Retention
D1, D7 and D30 Retention Explained
Retention follows one group of users forward in time. What D1, D7 and D30 measure, how to calculate and read them, and why small or young cohorts mislead.
How to Read Retention for a Utility App
PDF converters, scanners and file tools are opened when a need comes up, so exact-day retention looks poor by design — the measures that show whether people really come back.
Events
GA4 Events vs Key Events
Everything in GA4 is an event. Marking one as a key event tells Analytics it represents success. What that changes and what it does not.
How to Find Event Design Mistakes in Firebase Analytics
Duplicate events, split names, missing parameters and hard limits each leave a recognisable pattern in your data — how to spot them and fix them at the source.
What Is a GA4 Funnel?
A funnel counts how many people get from one step to the next. How to read drop-off, and the mistakes that make a funnel say the wrong thing.
Why Your Success Event Is Higher Than Your Start Event
When export_complete outnumbers export_start, the app is not finishing more tasks than it starts — the two events are counting different things. How to find out which.
Revenue and subscriptions
Designing a Paywall → Purchase → Success Subscription Funnel
Which events to log from paywall view to confirmed subscription, where each one belongs in the code, and how to read the funnel without counting the same purchase twice.
Why Firebase Revenue and App Store Connect Revenue Don't Match
GA4 records the purchase the app saw at the moment it happened; App Store Connect reports sales and proceeds by Apple's rules. Why they differ and how to reconcile them.
Troubleshooting
Firebase Analytics Data Not Showing? What to Check First
A checklist for when your app is live but Firebase Analytics or GA4 shows nothing — in the order that finds the cause fastest.
Why GA4 Realtime Users Show 0
Zero realtime users is often correct, not broken. How to tell the difference between a quiet app and a reporting problem.
Why Firebase first_open Is Higher Than App Store Downloads
first_open counts the first launch of every installation, while App Store Connect counts downloads by Apple Account — why the two differ and how to compare them.
Why GA4 Data Can Be Delayed
Processing takes time, thresholds hide small numbers, and yesterday can still change. What delay looks like and how to tell it from a real problem.
Setting Firebase up for the first time? The setup guide walks through what has to be in place before any of these numbers appear.
Firebase Analytics setup guideFree tools
Retention, funnel conversion and DAU/MAU, worked out from numbers you already have.
Free toolsApp Store and Google Play guides
Keyword research, a free listing checker and performance tracking, based on what each store actually reports.