Monthly Google Ads performance report sync to Google Sheets

Go to Workflow
847 views
Built by Allan Vaccarizi Allan Vaccarizi
Created on June 05, 2026

Description

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

Nodes Used (4)

Code
n8n-nodes-base.code
Google Drive
n8n-nodes-base.googleDrive
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest