Google Analytics 360

Google Analytics 360 is a web analytics service offered by Google that tracks and reports website traffic, currently as a platform inside the Google Marketing Platform brand. Google Analytics 360 (GA 360) source plugin would allow users to get granular level reporting data leveraging Google Analytic's reporting API. The plugin would deliver GA 360 data in batch as well as streaming mode and would allow users to pick from a variety of metrics and dimensions available under Google Analytics 360 reporting API.

User Expectations

  • User would like to enable GA360 API to start retieving GA360 data
  • User would like to have full flexibility in picking metrics and dimension for Google Analytics 360 dataset
  • User would like to control the dates for which the report data will be generated
  • User would like to use advanced option such as sampling size that allows her to balance between speed and accuracy of the reporting data
  • User would be able to configure if the data is needed in batch mode or streaming mode.

Plugin Type

  • Batch Source
  • Batch Sink 
  • Real-time Source
  • Real-time Sink
  • Action
  • Post-Run Action
  • Aggregate
  • Join
  • Spark Model
  • Spark Compute

User Configurations

Option LevelUser Configuration LabelLabel DescriptionVariableUser WidgetNotes
GeneralAuthorization tokenAuthorization token to access Google Analytics reporting API

authorizationToken

Text Boxhttps://developers.google.com/analytics/devguides/reporting/core/v4/authorization
Google Analytics ViewThe GA view ID from which to retrieve data

viewId

Text Box
Data retrieval optionsStart DateStart date for the report data

startDate

Text BoxShould allow to choose "today" as an option
End DateEnd date for the report data

endDate

Text BoxShould allow few standard options such as last 30, 60 and 90 days
MetricsQuantitative measurements. For example, the metric ga:users indicates the total number of users for the requested time period

metricsList

Drop DownAll the available metrics - https://developers.google.com/analytics/devguides/reporting/core/dimsmets
DimensionsAttributes of your data. For example, the dimension ga:city indicates the city, for example, "Paris" or "New York"

dimensionsList

Drop Down

All the available dimensions - https://developers.google.com/analytics/devguides/reporting/core/dimsmets

Advanced


Sampling Level (for batch only)Desired report sample size

sampleSize

Drop Down

Possible Values: DEFAULT, SMALL, LARGE

https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#Sampling

Poll interval (for streaming only)

The amount of time to wait between each poll in minutes

pollInterval

NumberDefault value: 1 minute

For “Start Date” and “End Date” parameters examples see Reporting API doc.

Design / Implementation Tips

Plugin will be implemented using official Google Analytics Java client library V4, authentication will be performed using access token. Output schema must be automatically generated from selected metrics and dimensions. 


Output schema completely based on Metric and Dimension items. All fields are nullable strings.


References

Table of Contents

Checklist

  • User stories documented 
  • User stories reviewed 
  • Design documented 
  • Design reviewed 
  • Feature merged 
  • Examples and guides 
  • Integration tests 
  • Documentation for feature 
  • Short video demonstrating the feature