Configure Analytics data collection and usage

Google Analytics offers features which allow you to control the collection and use of Analytics data.

Disable Analytics data collection

In some cases, you may wish to temporarily or permanently disable collection of Analytics data, such as to collect end-user consent or to fulfill legal obligations. Google Analytics offers multiple options for disabling and deactivating Analytics collection. Used together, they support many typical use cases.

Temporarily disable collection

If you wish to temporarily disable Analytics collection, such as to get end-user consent before collecting data, you can set the value of FIREBASE_ANALYTICS_COLLECTION_ENABLED to NO (Boolean) in your app's Info.plist file. For example, viewed in the source XML:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><false/>

To re-enable collection, such as after an end-user provides consent, call the setAnalyticsCollectionEnabled instance method of Analytics. For example:

Swift

Note: This Firebase product is not available on the macOS target.
Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

Note: This Firebase product is not available on the macOS target.
[FIRAnalytics setAnalyticsCollectionEnabled:YES];

If you need to suspend collection again for any reason, you can call

Swift

Note: This Firebase product is not available on the macOS target.
Analytics.setAnalyticsCollectionEnabled(false)

Objective-C

[FIRAnalytics setAnalyticsCollectionEnabled:NO];

and collection is suspended until you re-enable it. The value set by the setAnalyticsCollectionEnabled method persists across app executions and overrides the value for FIREBASE_ANALYTICS_COLLECTION_ENABLED in your app's Info.plist file. Once you set a value for setAnalyticsCollectionEnabled, Analytics collection remains in that state until setAnalyticsCollectionEnabled is called again, even if a user closes and re-opens your app.

Permanently deactivate collection

If you need to deactivate Analytics collection permanently in a version of your app, set FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES (Boolean) in your app's Info.plist file. Setting FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES (Boolean) takes priority over any values for FIREBASE_ANALYTICS_COLLECTION_ENABLED in your app's Info.plist as well as any values set with setAnalyticsCollectionEnabled.

To re-enable collection, remove FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED from your Info.plist. Setting FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to NO (Boolean) has no effect and results in the same behavior as not having FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED set in your Info.plist file.

Disable IDFA collection

If you installed Firebase through CocoaPods by adding pod 'Firebase/Analytics' to your app's Podfile and wish to disable collection of the IDFA (a device's advertising identifier) in your Apple app, ensure that the AdSupport framework is not included in your app.

To install Firebase without any IDFA collection capability, use the following subspec in place of pod 'Firebase/Analytics':

pod 'Firebase/AnalyticsWithoutAdIdSupport'

Learn more about IDFA in Apple's documentation:

Disable IDFV collection

If you wish to disable collection of the IDFV (Identifier for Vendor) in your Apple app, set the value of GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED to NO (Boolean) in your app's Info.plist file.

Control data collection for personalized advertising

If you have linked your Google Analytics project to an ads account or otherwise enabled an ads integration, or opted into data sharing, your Analytics data may be eligible for use in personalized advertising. This means for instance, that you may use collected events such as first_open to create and deploy audience lists for remarketing unless you indicate that such data is not available for personalized advertising.

You can programmatically control whether a user's Analytics data should be used for personalized advertising using any of the following options:

Disable personalized advertising features via a user property

Google's consent mode API is the recommended way to enable and disable personalized advertising.

However, if your app doesn't use consent mode yet, you can control personalization with the following option.

To disable personalized advertising behavior by default, set the value of GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS to NO (Boolean) in your app's Info.plist file.

Re-enable personalized advertising features via a user property

If you use the AnalyticsUserPropertyAllowAdPersonaliz