Google Ads - Single 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 single report source plugin would allow users to retrieve the specified report type from their Google Ads account in batch mode.

  • User would like to get the specified Google Ads report type that can be transformed (if needed) with CDAP
  • User do need to specify report format and type while setting up the configuration
  • User should be able to use advanced options available in Google Ads API such as skip report header

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
BasicReport typeGoogle Ads report type to retrievereportTypeDrop Down

This would include both pre-built report types as well as the report types available from Google.

https://developers.google.com/adwords/api/docs/appendix/reports

Refresh tokenAuthorization 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.comclientSecret

Text Box


https://console.developers.google.com

Developer tokenDeveloper token consisting of unique stringdeveloperTokenText Box

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
AdvancedInclude Report SummaryIf false, report output will not include a summary row containing the report totalsincludeReportSummaryToggle
True

Use Raw Enum ValuesSet to true if you want the returned format to be the actual enum valueuseRawEnumValuesToggle
False

Include Zero ImpressionsIf true, report output will include rows where all specified metric fields are zero,includeZeroImpressionsToggle
False

FieldsList of fields to pullreportFieldsmulti-select
https://developers.google.com/adwords/api/docs/appendix/reports/all-reports

Design / Implementation Tips

Plugin will be implemented using official googleads-java-lib, Output schema must be automatically generated from selected fields and report type.

Pipeline Example: