Who it's for
This workflow is for digital marketing agencies or in-house PPC managers who handle multiple Google Ads accounts and need to consolidate monthly campaign performance data into Google Sheets automatically.
How it works
- A schedule trigger fires on the 3rd of each month at 10 AM to start the reporting process.
- A Google Sheets node reads the list of clients (including their Customer IDs) from a source sheet.
- A loop iterates over each client one by one, sending a POST request to the Google Ads API (
searchStream endpoint) to retrieve last month's campaign metrics (cost, clicks, impressions, conversions, conversion value).
- A JavaScript code node flattens and transforms the raw API response, normalizing cost from micros and rounding numeric values.
- The processed rows are appended to a dedicated per-client tab in the same Google Sheet.
- A wait node pauses execution between each client iteration to respect API rate limits before looping back.
How to set up
- [ ] Duplicate the template spreadsheet : Google Sheets Template and save it to your Google Drive
- [ ] Connect your Google Sheets OAuth2 credentials and set the correct spreadsheet and source sheet (client list)
- [ ] Connect your Google Ads OAuth2 credentials in the HTTP Request node
- [ ] Replace the
developer-token and login-customer-id header values with your own
- [ ] Ensure each client tab in the spreadsheet is named
Data {Client} to match the dynamic sheet name
- [ ] Adjust the Wait node delay if needed to avoid rate limiting
Requirements
- Google Ads account with API access and a valid developer token
- Google Sheets account with OAuth2 credentials
- A spreadsheet with a "Client" sheet listing clients and their Customer IDs
How to customize
- Modify the GAQL query in the HTTP Request node to pull different metrics or date ranges (e.g.,
LAST_7_DAYS, THIS_MONTH)
- Extend the JavaScript transformation to compute additional KPIs such as CPC or ROAS before appending to the sheet
- Add a Slack or email notification step after each client is processed to alert stakeholders when the report is ready