Home / Symptoms / Android

GAID reset or zeroed: what changes in attribution

A zeroed or reset GAID removes device matching, not attribution. What still works via the Play Install Referrer, what breaks, and how to spot opt-out vs a bug.

SymptomMore Android installs arrive with an all-zero advertising ID or a brand-new GAID, and view-through, reinstall and network-claimed installs start drifting into organic.
Most likely causeUsers deleted or reset their advertising ID, limited ad tracking on Android 12 or later, or a release build stopped declaring the AD_ID permission.
First checkCount zeroed GAIDs per app version and OS version in your MMP's raw installs, then check the merged manifest of the latest release for the AD_ID permission.

Short answer: when the GAID comes back as 00000000-0000-0000-0000-000000000000, or as a new value after a reset, Android installs lose device-level matching but not click attribution. Google Play click-through installs still attribute through the Install Referrer. View-through installs, network claims that rely on the device ID and reinstall detection are what slip into organic. If zeroed IDs jump on one app version, suspect a dropped AD_ID permission before you blame user opt-outs.

What does a zeroed or reset GAID mean?

Zeroed GAID: an advertising ID request that returns all zeros instead of a real ID, which Android does when the user deleted the ID, limited ad tracking, or the app is missing the AD_ID permission.

Reset GAID: a new advertising ID the user generated in Android settings. Google Play's policy says the new ID must not be linked to the old one without the user's explicit consent, so to your MMP a reset device looks like a different device.

The two look different in your data but cause the same problem: the install cannot be matched to anything the MMP or ad network saw earlier through the advertising ID. For what the GAID is and where it comes from, see the GAID guide.

Why do zeroed GAIDs appear?

Google documents three cases, all from its Play Console Help and Google Play services reference:

CauseSinceLooks like in raw data
User deleted the advertising IDAndroid 12 from late 2021, all Play devices from 1 April 2022Zeros on that device for every app
Limit ad tracking onAndroid 12 and later, whatever your target SDKZeros, spread evenly across app versions
App targets API 33 or later without com.google.android.gms.permission.AD_IDEnforced from 1 April 2022Zeros on every install from one app version onwards

The first two are user choices and grow slowly. The third is a build problem and appears overnight.

What still attributes with a zeroed GAID?

Google Play click-through installs still attribute, because the Install Referrer carries the campaign parameters from the store to the app without any advertising ID. Meta installs can also come through the Meta Install Referrer, which reads campaign data from the Facebook and Instagram apps.

  • Play Install Referrer: available for 90 days after install according to Android's documentation, covering same-session click-through installs. See the Play Install Referrer guide.
  • Self-attributing network claims: Google and Meta can still claim installs from their own signals, though matching their claim to your SDK's install record is harder without a shared device ID (general practice).
  • Deep link and referral parameters: any parameter passed through the referrer string still arrives.

What breaks

  • View-through installs. There is no click in the referrer, so matching an impression to an install usually relies on the advertising ID (general practice). With zeros, these become organic.
  • Clicks in an earlier session. The Play referrer covers only same-session clicks, so a user who clicked yesterday and installed today needs another way to match.
  • Reinstall detection. MMPs commonly spot a returning user by a known GAID. Linkrunner, for example, lists reinstall detection via GAID or IDFA alongside deep link open triggers. A reset or zeroed ID can make a reinstall look like a new install (general practice), the pattern in reinstalls inflate installs.
  • Audience and suppression lists. Lists built from advertising IDs miss zeroed devices and treat reset devices as new.

Opt-out or bug? How to tell

  1. Split zeroed GAIDs by app version. A step change on one release points to the manifest. A slow, even rise across versions points to user settings.
  2. Split by OS version. Limit ad tracking only zeroes the ID on Android 12 and later, so zeros concentrated there fit an opt-out pattern.
  3. Open the merged manifest of your release build and search for AD_ID. A manifest merger rule, a removed dependency or a privacy clean-up can drop it without any build error (general practice).
  4. Compare referrer coverage. If zeroed installs still carry a referrer string with your campaign parameters, click attribution is working and the gap is in view-through and reinstall matching only.

How to fix it

  • Restore the AD_ID permission if the release dropped it, and ship a hotfix. Installs from the broken version stay unmatched.
  • Read the referrer on first launch, once, and retry on SERVICE_UNAVAILABLE, so click-through installs never depend on the GAID. The install referrer troubleshooter walks through failures.
  • Do not try to rebuild the link. Re-linking a reset ID to the old one needs explicit consent under Google Play's policy, which also says not to connect the advertising ID to persistent device identifiers for advertising.
  • Accept some organic drift from users who opted out. MMPs that use deterministic signals first and IP plus user-agent matching only as a fallback, as Linkrunner describes its own approach, will still lose some view-through matches; no MMP recovers an ID the user removed.
  • Expect re-engagement counts to dip. Reattribution windows only help once the returning device is recognised. Linkrunner's reattribution eligibility window, for instance, defaults to 90 days, but a user whose GAID was reset arrives as a stranger inside that window too.

For the wider version of this problem, see paid installs showing as organic. The Android Install Referrer chapter on App Attribution Guide explains the Play and Meta referrers side by side.

If you are setting up an Android SDK from scratch, Linkrunner's Android SDK documentation is one example of where the advertising ID and referrer reads are configured.

FAQ

Common questions

Does a zeroed GAID make an install organic?

Not always. A Google Play click-through install still attributes through the Install Referrer, which does not need the advertising ID. View-through, earlier-session clicks and reinstall matching are what fall back to organic.

What is the difference between a reset and a zeroed GAID?

A reset gives the device a new, unrelated advertising ID, so it looks like a different device. A zeroed GAID returns `00000000-0000-0000-0000-000000000000`, so there is no ID to match at all.

Why did zeroed GAIDs jump after our last release?

The most common cause is a missing `com.google.android.gms.permission.AD_ID` declaration in an app targeting Android 13 (API 33) or later. Without it, Google says the ID returned is all zeros for every user.

Can an MMP recover attribution for users who deleted their GAID?

Only for installs that carry another signal, such as the Play Install Referrer, the Meta Install Referrer or a deep link parameter. An MMP cannot restore the deleted ID, and linking a reset ID to the old one needs the user's explicit consent.

Does limit ad tracking zero the GAID on older Android versions?

Google's reference says the ID always returns zeros when limit ad tracking is on starting with Android 12, regardless of target SDK. On older versions, Google Play's policy still requires apps to check the opt-out on each access and not build ad profiles when it is on.

Should we switch to the App Set ID?

Google recommends the App Set ID for analytics and fraud prevention, not for ad attribution. It does not replace the GAID for matching ad network touchpoints.