Google Ads - Multi report


Introduction

Google Ads is an online advertising platform developed by Google, where advertisers pay to display brief advertisements, service offerings, product listings, video content, and generate mobile application installs within the Google ad network to web users. Google Ads multi report source plugin would allow users to retrieve all of the Google Ads reports from their Google Ads account in batch mode.

  • User would like to all of the Google Ads reports that are available for their Customer Id associated with the client account
  • User do not need to specify report type while setting up the configuration as all of the available reports will be retrieved
  • User should be able to use advanced options available in Google Ads API such as skip report header
  • User should be able to pick one of the multi-load sinks such as Google BigQuery multi-table sink, Google Cloud Storage multi-file sink etc. to load Ads reports.

Plugin Type

  • Batch Source
  • Batch Sink 
  • Real-time Source
  • Real-time Sink
  • Action
  • Post-Run Action
  • Aggregate
  • Join
  • Spark Model
  • Spark Compute
Option LevelUser Configuration LabelLabel DescriptionVariableUser WidgetDefault Value Notes
Basic
Refresh token
Authorization to download the report
refreshToken
Text Box

https://developers.google.com/adwords/api/docs/guides/reporting#prepare_the_request

https://developers.google.com/adwords/api/docs/guides/authentication

Client IDOAuth 2.0 client ID from https://console.developers.google.comclientIdText Box
https://console.developers.google.com
Client SecretOAuth 2.0 client Secret from https://console.developers.google.comclientSecretText Box
https://console.developers.google.com
Developer tokenDeveloper token consisting of unique stringdeveloperTokenText Box
https://developers.google.com/adwords/api/docs/guides/authentication
Customer IDCustomer ID of the client accountclientCustomerIdText Box

Start DateStart date for the report datastartDateText Box
Should allow to choose "today" as an option
End DateEnd date for the report dataendDateText Box
Should allow few standard options such as last 30, 60 and 90 days
AdvancedFormatReport formatreportFormatDrop DownCSVhttps://developers.google.com/adwords/api/docs/guides/reporting#supported_download_formats
Include Report HeaderIf false, report output will not include a header row containing the report name and date range.includeReportHeaderToggleTrue
Include Column HeaderIf false, report output will not include a header row containing field namesincludeColumnHeaderToggleTrue
Include Report SummaryIf false, report output will not include a summary row containing the report totalsincludeReportSummaryToggleTrue
Use Raw Enum ValuesSet to true if you want the returned format to be the actual enum valueuseRawEnumValuesToggleFalse
Include Zero ImpressionsIf true, report output will include rows where all specified metric fields are zero,includeZeroImpressionsToggleFalse

Plugin will be implemented using official googleads-java-lib, Output schema must be automatically generated from selected fields and report type. Please note that this plugin would not allow users to select report type (and hence the fields), so all
report types and their associated fields will be retrieved.

Pipeline Example: