Ads, ASO & Accessibility

AD_ID in AndroidManifest.xml: Declaration, SDK Merging and Play Disclosure

com.google.android.gms.permission.AD_ID is a manifest declaration associated with access to Android's advertising ID. It is not a runtime permission dialog, an AdMob app ID, or proof that your Data Safety form is correct. Inspect the merged release manifest before deciding whether the app uses it.

By Updated 2 min read

Understand where the declaration belongs

A direct declaration is a child of <manifest>, not <application>:

XML · REFERENCE EXAMPLE
<uses-permission
    android:name="com.google.android.gms.permission.AD_ID" />

An advertising SDK can contribute this declaration during manifest merging. Google's legacy Mobile Ads SDK documentation notes automatic inclusion in supported SDK versions. Therefore, the absence of the line in your source manifest does not prove it is absent from the APK.

Inspect the actual release

Use Android Studio's merged-manifest view and inspect the final artifact. Identify which dependency introduced the permission and whether the product still uses that dependency.

If the app intentionally does not use advertising ID, review the SDK's supported configuration and manifest-removal procedure. Do not remove a declaration while continuing to claim that identifier-dependent features will behave identically.

Signal What it does not prove
AD_ID present That every ad request includes an available identifier
AD_ID absent That no other identifier or user data is collected
Advertising ID unavailable That all advertising must stop
No runtime prompt That no privacy disclosure is required

Align the Console declaration and SDK behavior

Review the advertising-ID declaration in Play Console for the app and include SDK use when answering. Separately reconcile Data Safety, privacy policy, consent and audience settings.

A child-directed or mixed-audience app needs the applicable audience controls; copying a permission from an adult app is not a compliance strategy.

Test availability without depending on a fixed ID

Handle unavailable or reset identifiers without crashing. Do not cache a previous advertising ID as a permanent identity or reconnect it through another identifier to defeat a user's choice.

APKLint's Advertising ID Checker can help inspect the declaration. It cannot observe every runtime request or determine whether an identifier is available on a particular device.

Use the Mobile Ads setup reference, Android advertising-ID guidance and manifest-merging documentation to keep declaration, implementation and disclosure separate.

Sources and further reading

  1. Google: Legacy Google Mobile Ads SDK setup
  2. Android Developers: Best practices for unique identifiers
  3. Android Developers: Merge multiple manifest files

Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.

APKLint

Android inspection tools and practical release guides. About APKLint · Report a correction