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 Expectations
- 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
User Configurations
Option Level | User Configuration Label | Label Description | Variable | User Widget | Default 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 ID | OAuth 2.0 client ID from https://console.developers.google.com | clientId | Text Box | https://console.developers.google.com | ||
Client Secret | OAuth 2.0 client Secret from https://console.developers.google.com | clientSecret | Text Box | https://console.developers.google.com | ||
Developer token | Developer token consisting of unique string | developerToken | Text Box | https://developers.google.com/adwords/api/docs/guides/authentication | ||
Customer ID | Customer ID of the client account | clientCustomerId | Text Box | |||
Start Date | Start date for the report data | startDate | Text Box | Should allow to choose "today" as an option | ||
End Date | End date for the report data | endDate | Text Box | Should allow few standard options such as last 30, 60 and 90 days | ||
Advanced | Format | Report format | reportFormat | Drop Down | CSV | https://developers.google.com/adwords/api/docs/guides/reporting#supported_download_formats |
Include Report Header | If false, report output will not include a header row containing the report name and date range. | includeReportHeader | Toggle | True | ||
Include Column Header | If false, report output will not include a header row containing field names | includeColumnHeader | Toggle | True | ||
Include Report Summary | If false, report output will not include a summary row containing the report totals | includeReportSummary | Toggle | True | ||
Use Raw Enum Values | Set to true if you want the returned format to be the actual enum value | useRawEnumValues | Toggle | False | ||
Include Zero Impressions | If true, report output will include rows where all specified metric fields are zero, | includeZeroImpressions | Toggle | False |
Design / Implementation Tips
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:
References
- Google Ads reporting basics - https://developers.google.com/adwords/api/docs/guides/reporting
- Google Ads reports - https://developers.google.com/adwords/api/docs/appendix/reports/all-reports