Example import from Google Analytics REST API
Create new source application
Go to Source Data tab and Add new source application and select REST API application type. To fill fields with default values, in field paste example source application definition.
REST API source parameters
In the next step, you will need to provide REST API source parameters which will be used to retrieve the data. See example:
In Source data URL provide customized Google Analytics REST API URL which returns the data (https://www.googleapis.com/analytics/v3/data/ga?ids=ga:XXXX&start-date=2016-10-01&end-date=2017-11-30&metrics=ga%3APageLoadTime&dimensions=ga%3Adate
). Change at least following URL parameters (corresponding to Google Analytics API Reference Guide):
- ids - The unique table ID of the form ga:XXXX, where XXXX is the Analytics view (profile) ID for which the query will retrieve the data.
- metrics - A list of comma-separated metrics, such as
ga:sessions,ga:bounces
. - dimensions - A list of comma-separated dimensions for your Analytics data, such as
ga:browser,ga:city
.
To reduce server load Google Analytics REST API provides pagination, default by 1000 records.
Choose Pagination option "Offset and limit parameter" and enter following parameters:
- Offset parameter - start-index
- Limit parameter - max-results
To get Client ID and Client secret you must create web application credentials in API console Credentials page (more information can be found here - https://developers.google.com/identity/protocols/OAuth2WebServer#creatingcred)
Please specify there Authorized redirect URIs as Redirect URL that you see in eazyBI REST API source parameters page.
After registration, you will get your application Client ID and Client Secret - please paste them in eazyBI REST API source parameters page corresponding fields.
If you will create several Google Analytics REST API sources in your eazyBI account then you can use the same Client ID and Client Secret for all these REST API sources.
Restrict requested data set by providing Scope value - https://www.googleapis.com/auth/analytics.readonly
Fill Authorize URL with "https://accounts.google.com/o/oauth2/v2/auth?access_type=offline" (access_type=offline is a must to get refresh token from Google Analytics REST API) and Token URL with "https://oauth2.googleapis.com/token"
Click Add custom JavaScript code to add custom JavaScript code that will process received data:
function formatDate(s) { return s.substr(0,4)+'-'+s.substr(4,2)+'-'+s.substr(6,2); } return _.map(doc.rows, function(row) { var rowdoc = {}; for (var i = 0; i < doc.columnHeaders.length; i++) { var name = doc.columnHeaders[i].name.replace(/^ga:/, ''); rowdoc[name] = name == 'date' ? formatDate(row[i]) : row[i]; } rowdoc["Project"] = "Project 1"; return rowdoc; });
You can add your own custom/calculated values, like in this example value for "Project" property.
Enable desired API's for your Google project
In order to access Analytics API, you have to enable it in your google project https://console.cloud.google.com/apis/library/analytics.googleapis.com - you should do the same for other API's you want to access.
Authorize access to the REST API source
In the first time you will be redirected to source application authorization page where you will need to authorize eazyBI access to source application data:
Source columns mapping
Example of Google Analytics import column mappings
Google Analytics source application definition example
If you would like to use this Google Analytics import example from this tutorial then you can use the following source application definition:
Troubleshooting
If you have some issues please read analytics API troubleshooting section. To reset the authorization you can remove your app from your google account.