Advantages and limitations of Google Analytics API

If you need to export data from Google Analytics, you can use one of the available APIs. To help you choose the most suitable option and save your time, we have collected information about all the benefits and limitations.

Table of contents

Core V3

If you have already exported data from Google Analytics and you don’t know what API you were using — probably it was Core V3. It is available in any version of Google Analytics and allows you quickly obtain data for processing in the application, as well as for visualization in Google Sheets. But, Core V3 returns only aggregated data as one of the essential parameters of the query is the metric by which the parameters are grouped. The number of parameters is also limited — up to 7. Therefore, it is impossible to get all the parameters of a single hit. The metric is a required parameter of the query. Moreover, even export within one day can be based on the sampled data.

Please, note:

  1. The data in response to Core V3 can be changed retroactively, especially if you request data for the last 48 hours.

  2. The level of sampling in the same query may change, especially if you exceed the TOS.

Core V3 is great for simple aggregated reports, if you have not much data or sampled values are okay for your goal.

Core V3 is not suitable if you need to get data on a single user level or you need granular information on all available parameters.

  1. Available in the standard version of Google Analytics
  2. A large number of ready-made integrations including Google Sheets Addon and Query Explorer
  3. Synchronized response
  1. Only aggregated data is available and it can be sampled
  2. The report structure and at the number of simultaneously requested parameters are limited
  3. The report may contain only data uploaded to Google Analytics
  4. Data is updated with a delay from 4 to 48 hours
  5. A limited number of requests and data that can be exported during the day
Useful links:

Real Time API

Unlike Core V3, Real Time API provides access to the data almost immediately after it is sent into Google Analytics. But the set of available parameters and metrics is very limited. For example, there is no support for user-defined parameters, metrics and segments. In addition, the common limits on the number of requests per day are applied to the Real Time API, and at the same time, it is in closed testing. This means that the queries to Real Time API are using the same quota as the Core V3, but the SLA is not provided.

Real Time API is great for simple dashboards, with data that can be updated at most every few minutes.

Real Time API is not suitable for building arbitrary reports and obtaining all the data, sent to the Google Analytics in real-time.

  1. Relevant information is available
  2. Quick response time
  1. User parameters and metrics are not available
  2. Restrictions on the number of requests per day
  3. Limited testing status
Useful links:

Unsampled API

Unsampled API is designed to provide the same reports as Core V3, only with unsampled data. In fact, this API has a lot of limitations. First of all, it is asynchronous. This means that you should send requests to it and ... periodically ask whether the answer is ready. The report will be available for download in CSV format. But the formation of the report may take several hours, especially if you have requested it on Monday morning. Moreover — the report can not be generated, if the query requires too many resources.

The most interesting part is that if you request report you’ve queried earlier the values in it may change. This typically occurs if the report involves data for the last 48 hours.

One more thing, Unsampled API provides you with only 4 parameters, rather than 7 as Core V3. And the metric is also a mandatory one. This means that you cannot export the data on the hit level.

To play an open hand, we should mention that AdWords data is not available in Unsampled API (no cost data, you can’t calculate ROI) ... and it is available only in Google Analytics 360. But, fortunately, this is not the only way to get unsampled data from Google Analytics 360.

Unsampled API is great for simple aggregated reports based on unsampled data.

  1. Unsampled reports
  1. Reporting time
  2. Only aggregated data is available
  3. The report structure and the number of simultaneously requested parameters are limited
  4. AdWords data is not available
  5. Data can be updated retroactively
  6. A limited number of requests and data that can be exported during the day
  7. Available only in Google Analytics 360
Useful links:

Google BigQuery Export

Google BigQuery — is a Google cloud service for fast processing of the big data. It is available and paid regardless of Google Analytics, but the Analytics 360 version supports one-way integration. All data sent to Google Analytics is regularly exported to Google BigQuery up to a single hit, and each parameter.

This enables using SQL-like queries and ready-made SDK to export data and combine it with data from other sources.

The data is exported to Google BigQuery with a delay of 8 hours and this data lack cost information (AdWords data), so you can’t calculate ROI of advertising campaigns. In addition, the integration with Google BigQuery develops with a slight delay, so part of the options available in Google Analytics, are not available for export in Google BigQuery. For example, dataSource or Product Position.

Google BigQuery Export is perfect for exporting all collected information in Google Analytics 360 and combining it with data from other systems.

Google BigQuery Export is not suitable if you are not planning to use Google Analytics 360, you need reports in near real-time mode or you need to evaluate the efficiency of advertising campaigns.

  1. Hit level is available
  2. Arbitrary structure of reports and number of parameters
  3. Possibility of combining data from other sources
  1. Data is exported with an 8 hours delay
  2. Advertising campaigns costs are not available
  3. Part of standard parameters is inaccessible
  4. Available only in Google Analytics 360
  5. The cost depends on the amount of resources used in the Google Cloud Platform
Useful links:

OWOX BI Pipeline

Technically, Google BigQuery is an independent service, so we have developed an application in the Google Cloud Platform, which gathers Google Analytics data in real-time.

This means that no matter which version of Google Analytics you use, you can get access to the full unsampled data up to each and every parameter and hit. We have developed integration that provides several important advantages, which are used even by Google Analytics 360 clients:

  1. Data is collected in real-time — no need to wait for several hours until it is updated or exported.
  2. Advertising campaigns costs are available. Moreover, they are automatically attributed to the session. You can evaluate the efficiency up to a keyword in a single SQL query.
  3. All the parameters that were sent along with the hit are available for reporting.
  4. There is no limit on the number of user-defined parameters and metrics. It can be 20, or even 200.
  5. It is possible to collect personal information, including email address and phone number. Their storage and processing in Google BigQuery meet the standards of PCI DSS, ISO 27001 and SOC 1,2,3.

The main limitation is that the session parameters are updated with a delay and including limits of Google Analytics Core V3 API.

OWOX BI Pipeline is perfect for getting unsampled data from Google Analytics in Google BigQuery in real-time.

OWOX BI Pipeline is not suitable if the session information is needed faster than in 24 hours.

  1. Data is collected in real-time
  2. Data is exported up to each hit
  3. Arbitrary structure of reports and number of parameters
  4. Advertising campaign costs are available
  5. Ability to collect personal data
  6. Possibility of combining data from other sources
  7. Available without Google Analytics 360
  1. Session data is available with a delay and limits of Google Analytics Core V3
  2. Part of AdWords campaign data is inaccessible
  3. The cost depends on the number of unique users
Useful links: