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 Expectations
- 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
User Configurations
Option Level | User Configuration Label | Label Description | Variable | User Widget | Default Value | Notes |
---|---|---|---|---|---|---|
Basic | Report type | Google Ads report type to retrieve | reportType | Drop 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 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 | |||
Developer token | Developer token consisting of unique string | developerToken | Text Box | |||
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 | 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 | ||
Fields | List of fields to pull | reportFields | multi-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:
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