Skip to content

AD_ID Permission in Google Play: Solutions for Firebase Analytics

Problem

When trying to update your Android app on Google Play, you may encounter the error:

"This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration."

This occurs even if your app doesn't use ads directly. The permission is typically introduced by Firebase Analytics dependencies (like play-services-ads-identifier) and creates a mismatch between your app's actual permissions and your Play Console declaration.

Solution

1. Update Your Play Console Declaration

The most reliable solution is to properly declare your app's use of the advertising ID in Google Play Console:

  1. Navigate to App ContentAdvertising ID
  2. Select Yes for "Does your app use advertising ID?"
  3. Check the Analytics checkbox
  4. Complete the declaration form with appropriate selections

IMPORTANT

Even if your app doesn't display ads, Firebase Analytics uses the advertising ID for user tracking and analytics purposes. Selecting "No" creates a declaration mismatch.

2. Configuration Options

Depending on your framework and requirements, you may also need additional configuration:

For React Native Firebase:

json
// firebase.json
{
  "google_analytics_adid_collection_enabled": false
}

For Android (via manifest):

xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.your.package">
    
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"
        tools:node="remove" />
        
    <application>
        <meta-data
            android:name="google_analytics_adid_collection_enabled"
            android:value="false" />
    </application>
</manifest>

For Android API 34+:

xml
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID"
    tools:node="remove" />

3. Common Scenarios

groovy
// If you need to exclude the ads identifier module
implementation ("com.google.firebase:firebase-analytics-ktx:21.1.0") {
    exclude module: "play-services-ads-identifier"
}
text
// The firebase_analytics package automatically includes AD_ID
// You must declare "Yes" in Play Console with Analytics selected

4. Important Considerations

  • Review all tracks: Ensure all release tracks (production, beta, etc.) have consistent configurations
  • Clear browser cache: Sometimes Play Console shows cached errors - refresh with Shift+F5
  • Submit for review: After changing your declaration, you must submit it for review before uploading new versions

CHILDREN'S APPS

If your app is rated for children, advertising ID usage may be prohibited. In this case, you must completely remove analytics dependencies that include the AD_ID permission rather than just declaring it.

Best Practices

  1. Be consistent between your actual app permissions and Play Console declarations
  2. Use the tools:node="remove" approach only if you're certain you don't need advertising functionality
  3. Test with APK Analyzer to verify the final merged manifest doesn't contain unexpected permissions
  4. Keep dependencies updated to benefit from the latest privacy and compliance improvements

By properly declaring your app's use of the advertising ID for analytics purposes and ensuring consistent configuration across all build variants, you can resolve this common Google Play submission error.