Analytics and Tracking

App Instance ID

Also called Firebase instance ID, app instance identifier

The identifier GA4 uses to recognise a single installation of an app, in place of a browser cookie.

Quick facts: App Instance ID

Category
Analytics and Tracking
Also called
Firebase instance ID, app instance identifier
Level
Advanced
Affects
App user counts, retention charts, app to web joining
Where to see it
GA4 (app reports, DebugView), Firebase console, Measurement Protocol
In this article4
  1. How the app instance ID works
  2. Why the app instance ID matters
  3. Common mistakes with the app instance ID
  4. How to act on it

How the app instance ID works

An app has no cookies, so GA4 needs a different way to recognise a returning visitor. When your app is installed and the analytics library first runs, it generates a random value and stores it on the device. That value is the app instance ID, and it is sent with every event the app records, doing the same job that a client ID does on the web.

The scope is one installation of one app on one device. Install the same app on a tablet as well and there are two identifiers. Uninstall and reinstall, clear the app’s data, or restore onto a new handset, and the old identifier is gone and a fresh one is created — the person looks new even though nothing about them has changed.

It is not the device advertising identifier that ad platforms use, and it is not shared with them. Apple and Google both keep those separate, under their own permission prompts.

Why the app instance ID matters

Every app metric that involves a person rests on it: new users, returning users, retention, engagement and audience membership. When it resets, all of those move, so understanding what resets it is the difference between reading a retention chart correctly and reading it as a marketing result.

It also decides whether your app and your website tell one story or two. A business running both — common for remittance, fintech, travel and delivery services — will count the same customer twice, once as a browser and once as an installation, unless a shared User-ID joins them. Sending that identifier from both sides is what turns two half-pictures into one journey.

Common mistakes with the app instance ID

The first is treating installations as people. A household sharing a tablet is one identifier and several users; a person with a phone and a tablet is one user and two identifiers. Neither is fixable in reporting alone.

The second is misreading reinstall behaviour. Release problems, storage clean-ups and device upgrades all produce a wave of apparently new users, and if you are also buying install campaigns it is easy to credit that wave to the ads.

The third is server-side work done without it. Sending app events through the Measurement Protocol requires the app instance ID from the client, and events sent without a valid one do not attach to anything you can recognise afterwards.

How to act on it

Decide early, with whoever builds the app, that a User-ID will be sent as soon as someone signs in, and that the same identifier is used on the website. That single decision recovers most of what the app instance ID cannot do on its own.

Keep a note of release dates and any change that clears app data, and put those dates beside your retention and new-user charts so nobody presents a reset as growth. If you pass the identifier to your own systems for server-side measurement, treat it as personal data: name it in your privacy policy, honour the permission the user gave, and keep it no longer than you need. Where app and web figures refuse to reconcile, that is a measurement design question and belongs in an analytics and tracking review rather than in a campaign report.

Do and do not

Do

  • Send a shared User-ID from both the app and website
  • Record release dates beside retention and user charts
  • Supply the identifier when sending server-side app events

Do not

  • Count installations as individual people
  • Read a reinstall wave as campaign performance
  • Confuse it with the device advertising identifier

Questions people ask about this

Is the app instance ID the same as a device advertising identifier?

No. The app instance ID is created by the analytics library for your app alone and is not shared with advertising platforms. Advertising identifiers are provided by the operating system, are the same across apps on that device, and depend on a separate permission the user can refuse or reset at any time.

What resets the app instance ID?

Uninstalling and reinstalling the app, clearing the app's stored data, and in some cases restoring onto a new device. Once it resets, GA4 has no way of knowing the installation is the same person, so they are counted as a new user. Send your own User-ID at login if you need continuity across those events.

Can I join app and website behaviour for the same customer?

Only with a shared identifier that you control. The app instance ID and the web client ID are different values in different storage and cannot be matched on their own. Send the same User-ID from both once a person signs in, and GA4 can stitch the journey together across the app and the site.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.