Short answer: the GAID (Google Advertising ID) is a user-resettable advertising ID that Google Play services provides on Android. It comes back as zeros when the user has deleted it, has limited ad tracking (Android 12 and later), or your app targets Android 13 without the AD_ID permission. Play click-through installs still attribute through the Install Referrer; matching that relies on the device ID gets weaker.
What is the GAID?
GAID (Google Advertising ID): a unique, user-resettable and user-deletable ID for advertising, provided by Google Play services, in Google's own words.
Google's policy pages also call it the AAID (Android advertising identifier). Android's documentation describes a 128-bit value in UUID format. Three properties matter for attribution:
- It comes from Google Play services, not from the app or the ad network.
- The user controls it. They can reset it, delete it or opt out of ad personalisation in Android settings.
- It changes. Android's documentation tells apps to read it each time and not to cache it.
What does a zeroed GAID look like?
A zeroed GAID is the value 00000000-0000-0000-0000-000000000000. Android returns it instead of a real ID in the three situations below, so an install with this value has no usable advertising ID.
When the GAID is missing or zeroed
| Situation | What your app gets | Source |
|---|---|---|
| User deleted the advertising ID | A string of zeros | Google Play Console Help |
| Limit ad tracking on, Android 12 or later | All zeros, whatever your target SDK | Google Play services reference |
| App targets API 33 (Android 13) or later without the AD_ID permission | All zeros | Google Play services reference |
| User reset the ID | A new ID, unrelated to the old one | Google Play policy |
AD_ID permission: the manifest line com.google.android.gms.permission.AD_ID that apps targeting Android 13 or later must declare to read the GAID.
Google rolled out the deletion change from late 2021 on Android 12, and to all devices with Google Play from 1 April 2022, when the AD_ID requirement was also enforced. Apps targeting API 32 or older do not need the permission.
The quiet failure: a dropped permission
This case catches teams out. A manifest rule, dependency change or privacy clean-up can drop the declaration from a release build (general practice); the app keeps working, but new installs arrive with zeroed GAIDs.
To check, open the merged manifest of your release build and search for AD_ID, or look in your MMP's raw install records for a sudden rise in zeroed advertising IDs on one app version.
What a zeroed GAID does to attribution
A zeroed GAID removes one way of matching, not all of them.
- Click-through installs from Google Play still attribute. The Google Play Install Referrer tells the app which link sent the user to Play, without any advertising ID. It covers same-session click-through installs and is available for 90 days. See the Play Install Referrer guide.
- Meta installs can also come through the Meta Install Referrer, which Meta says covers view-through and multi-session click-through installs from its apps.
- Device-level claims get harder. Matching a network's reported touchpoint, a view-through impression or a reinstall to a known device usually relies on the advertising ID (general practice). With zeros, more of these installs end up unmatched and land in organic. If that is what you see, work through paid installs showing as organic.
- Reinstalls and re-attribution. Linkrunner, for example, lists reinstall detection via GAID or IDFA; without the ID, a returning user can look like a new install (general practice), which feeds the gaps described in reinstalls inflate installs.
GAID vs IDFA
IDFA (Identifier for Advertisers): Apple's advertising ID on iOS.
| GAID (Android) | IDFA (iOS) | |
|---|---|---|
| Who controls it | User can reset, delete or opt out | User must grant ATT permission |
| Default for a new install | Available unless deleted or limited | All zeros until the user allows tracking |
| Zero value | 00000000-0000-0000-0000-000000000000 | All zeros |
| Main fallback | Play Install Referrer | SKAN and AdAttributionKit |
The big difference is the default. On iOS 14.5 and later, the IDFA is zeros unless the user says yes to ATT, which is why iOS attribution runs lower than Android. On Android, the GAID is available unless the user takes action or the app misses the permission.
Rules for using the GAID
Google Play's policy limits how apps and SDKs use it:
- Use it only for advertising and user analytics.
- Do not connect it to persistent device identifiers for advertising, and connect it to personal information only with explicit consent.
- After a reset, do not link the new ID to the old one without explicit consent.
- Check the user's ad personalisation opt-out on each access, and do not build ad profiles when it is on.
- For analytics and fraud prevention, Google recommends the App Set ID instead.
Whether an advertising ID counts as personal data under India's DPDP Act is a separate question; the DPDP page on personal data in attribution sets out the current reading. A plain definition with related terms is in Linkrunner's GAID glossary entry.