Method: projects.addGoogleAnalytics

Links a FirebaseProject with an existing Google Analytics account.

Using this call, you can either:

  • Specify an analyticsAccountId to provision a new Google Analytics property within the specified account and associate the new property with your FirebaseProject.
  • Specify an existing analyticsPropertyId to associate the property with your FirebaseProject.

Note that when you call projects.addGoogleAnalytics:
  1. The first check determines if any existing data streams in the Google Analytics property correspond to any existing Firebase Apps in your FirebaseProject (based on the packageName or bundleId associated with the data stream). Then, as applicable, the data streams and apps are linked. Note that this auto-linking only applies to Android Apps and iOS Apps.
  2. If no corresponding data streams are found for your Firebase Apps, new data streams are provisioned in the Google Analytics property for each of your Firebase Apps. Note that a new data stream is always provisioned for a Web App even if it was previously associated with a data stream in your Analytics property.
Learn more about the hierarchy and structure of Google Analytics accounts in the Analytics documentation.

The result of this call is an Operation. Poll the Operation to track the provisioning process by calling operations.get until done is true. When done is true, the Operation has either succeeded or failed. If the Operation succeeded, its response is set to an AnalyticsDetails; if the Operation failed, its error is set to a google.rpc.Status.

To call projects.addGoogleAnalytics, a member must be an Owner for the existing FirebaseProject and have the Edit permission for the Google Analytics account.

If a FirebaseProject already has Google Analytics enabled, and you call projects.addGoogleAnalytics using an analyticsPropertyId that's different from the currently associated property, then the call will fail. Analytics may have already been enabled in the Firebase console or by specifying timeZone and regionCode in the call to projects.addFirebase.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



The parent FirebaseProject to link to an existing Google Analytics account, in the format:


Request body

The request body contains data with the following structure:

JSON representation

  // Union field analytics_resource can be only one of the following:
  "analyticsAccountId": string,
  "analyticsPropertyId": string
  // End of list of possible types for union field analytics_resource.
Union field analytics_resource.

Only one Google Analytics resource can be specified in the request body.
  • To provision a new Google Analytics property and associate it with your FirebaseProject, provide analyticsAccountId.
  • To associate an existing Google Analytics property with your FirebaseProject, provide analyticsPropertyId.

analytics_resource can be only one of the following:


The ID for the existing Google Analytics account that you want to link with your FirebaseProject.

Specifying this field will provision a new Google Analytics property in your Google Analytics account and associate the new property with your FirebaseProject.



The ID for the existing Google Analytics property that you want to associate with your FirebaseProject.

Response body

If successful, the response body contains an instance of Operation.

Authorization Scopes

Requires one of the following OAuth scopes:


For more information, see the Authentication Overview.

Try it!