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 all of the specified report type from their Google Ads reports account in batch mode.
User Expectations
- User would like to get all the specified Google Ads reports that are available for her Customer Id associated with the client accountreport type that can be transformed (if needed) with CDAP
- User do not need to specify reports or fields 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 | AuthorizationReport 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 down download the report | oauth2_access_tokenrefreshToken | 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 toke token consisting of unique string | developer_tokendeveloperToken | Text Box | ||||||||||||
Customer ID | Customer ID of the client accountclient_customer_id | clientCustomerId | Text Box | ||||||||||||
Start Date | Start date for the report datastart | _datestartDate | Text Box | Should allow to choose "today" as an option | |||||||||||
End Date | End date for the report dataend | _dateendDate | Text Box | Should allow few standard options such as last 30, 60 and 90 days | |||||||||||
Advanced | Skip Report Header | If true, report output will not include a header row containing the report name and date range. | skipReportHeader | Check Box | Skip Column Header | If true, report output will not include a header row containing field names | skipColumnHeader | Check Box | Skip Report Include Report Summary | If truefalse, report output will not include a summary row containing the report totals | skipReportSummary | Check BoxincludeReportSummary | Toggle | True | |
Use Raw Enum Values | Set to true if you want the returned format to be the actual enum value | useRawEnumValues | Toggle | Check BoxFalse | |||||||||||
include Include Zero Impressions | If true, report output will include rows where all specified metric fields are zero, | includeZeroImpressionsCheck Box | 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:
View file | ||||
---|---|---|---|---|
|
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