Using GA 360 and BigQuery as a Data Management Platform

Data Management Platforms (DMPs) allow users to combine user data from various sources to create and analyze audiences. A combination of Google Analytics 360 and BigQuery can act as a limited pseudo-DMP as long as certain requirements are met.


Google Analytics 360 allows for the collection of user and content data, which can then be exported to BigQuery. The integration between Google Analytics and BigQuery is a one-directional link that exports data from Google Analytics into BigQuery. Data from BigQuery cannot be automatically exported into Google Analytics.

To join Google Analytics data with non-GA data sets in BigQuery, a common key will need to exist between the Google Analytics and non-Google Analytics data sets. A common key will also need to exist between the joined data in BigQuery and the data that exists in the Google Analytics interface.

Creating a Common Key

The process for creating a common key between Google Analytics data and other data sources will differ based on the data sources involved. Creating or capturing the common key at the time of data collection is often required regardless of the data sources involved. Capturing this data at the time when an event or page view occurs is often required in order to eventually import audience keys or data widening values into Google Analytics.

Example Key: User ID

A common use case for this would be collecting user ID values as a custom dimension and then using the user ID value as a common key between Google Analytics and customer relationship management (CRM) data. A custom dimension is required because remarketing audiences cannot currently be linked to ad platforms in user ID enabled Google Analytics views. By collecting user ID in standard views, data can be tied to user ID values and remarketing audiences can still be used with ad platforms.

  1. Create a user scoped user ID custom dimension
  2. Whenever a user logs into their website or app, collect the user ID value and send it at least once as a custom dimension value
  3. The user ID value should be identical to the value that identifies the user in the CRM

Example Key: Client ID

If a user ID value does not exist for a website or app, then the client ID automatically created by Google Analytics could be used as a common key. 

  1. Create a user scoped client ID custom dimension
  2. Whenever a user visits the website or app, the client ID should be captured as a custom dimension value
  3. If a user profile is created due to some kind of user interaction (submits an email for a newsletter, submits lead information, etc.) the client ID value should also be collected and stored with the user information outside of Google Analytics

Exporting Google Analytics Data to BigQuery

When exporting data to BigQuery, the master data view should be used as opposed to user ID view. This will ensure that the broadest usable data set is present in BigQuery. By collecting the user ID and/or client ID values as custom dimensions, it should be possible to import backend datasets into BigQuery and join them with Google Analytics data.

A strong understanding of SQL and the Google Analytics BigQuery Export schema will be necessary in order to properly join various datasets.

If necessary, Google Analytics data can be exported out of BigQuery and joining and analysis can be performed elsewhere. Google Analytics data cannot be directly export to third-party data warehouses in the same way as it is exported to BigQuery, but once in BigQuery, the data can be exported to other locations.

Importing Data in Google Analytics

There are two fundamentally different approaches to importing the joined data into Google Analytics. These methods can be described as the traditional dimension widening approach and importing an audience ID.

Traditional Dimension Widening

In order to use a dimension widening approach, the following conditions must all be true:

  1. Personally Identifiable Information (PII) will not be imported
  2. There is not an overly large number of dimensions and metrics that need to be imported
  3. Imported dimensions and metrics are not expected to change or increment over time

If these conditions are true, then you should be able to use the query-time data import feature to upload a custom data set with either the client ID or user ID custom dimensions as keys.

Audience ID Data Import

If any of the traditional dimension widening conditions are not true, then creating an audience ID is a possible alternative approach. The following steps are required to import an audience ID for various audiences.

  1. Create at least three custom dimensions: User ID, Client ID, and Audience ID
    1. All three custom dimensions should be user scoped
  2. Export data to BigQuery
  3. Analyze audiences in BigQuery
  4. Generate a list of client or user IDs that are associated with users in an audience of interest
  5. Associate an audience ID with those client or user IDs.
    1. An audience ID should not contain PII
    2. Each audience ID should be unique for a given audience of interest
    3. If a user is part of multiple audiences, then a character, such as a dash or underscore, should be used to separate each ID
  6. Create a custom query time data import that joins based on either the client ID or user ID custom dimensions and imports audience ID values
  7. Generate a .csv file that contains either the user or client ID values and the audience ID values
  8. Create a program that automatically uploads .csv files by using the Management API
Note: Every time a new data import file is uploaded for a data set, the old file is overridden.

Creating Remarketing Audiences

For traditional dimension widening data imports, remarketing audiences can be created based on the imported values. 

For audience ID data imports, remarketing audiences can be created based the audience ID values.

For Display destinations (GDN, Display & Video 360, Google Ad Manager) and Google Optimize, Google Analytics will attempt to back-populate the last 10 days' users based on the newly uploaded definitions, but it will often take time for the audience lists to fully populate as users return to the website or app.

Once created, remarketing audiences can be used with Google Ads or Display & Video 360.


  • If Display & Video 360 and Campaign Manager are linked to Google Analytics, the data related to those platforms that can be viewed in the Google Analytics interface will not be exported to BigQuery with the Google Analytics data. Data Transfer Files (DTFs) for Google Marketing Platform can be used in BigQuery.
  • Remarketing audiences can only be shared with Display & Video 360 and Google Ads.
  • A custom solution will need to be built In order to automatically import information into Google Analytics
Was this helpful?
How can we improve it?