Monthly Google Ads performance report sync to Google Sheets
Go to WorkflowDescription
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