Automated Google Ads Monthly Performance Reporting to Google Sheets - n8n Workflow

Deploy this robust n8n workflow to automate monthly Google Ads performance reports. It uses Airtable for client management, extracts specific metrics via the Google Ads API, and updates client Google Sheets dynamically, protecting against rate limits.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Digital Marketing Agencies needing automated client reporting.

  • Freelancers managing multiple Google Ads accounts.

  • Operations teams seeking robust, scalable n8n templates for financial data handling.

  • Users looking for advanced examples of using the n8n node ecosystem for API integration and rate limiting.

Overview

Managing monthly performance reports for numerous clients can be time-consuming and prone to human error. This comprehensive n8n workflow solves this by fully automating the end-of-month reporting process. It utilizes Airtable as a central source of truth for client status, Google Ads IDs, and report URLs. The workflow securely queries the Google Ads API, intelligently differentiates between Ecommerce and Lead Generation campaigns to retrieve the correct metrics (conversion value vs. conversion count), processes raw data into structured campaign totals, and then uses a dynamic calculation to update the exact cell ranges in the corresponding Google Sheet for the previous month. This particular n8n workflow implements crucial rate-limiting protection using a Wait n8n node after each client update, ensuring reliable execution even for large client portfolios.

How it Works

This powerful n8n workflow operates in eight distinct phases:


  1. Schedule Activation: The process begins with an n8n trigger set to run automatically on the 3rd of every month at 10:00 AM, ensuring timely reporting.

  2. Client Retrieval & Filtering: The workflow connects to Airtable to retrieve a list of all client projects. It uses an If n8n node to filter this list, processing only clients marked with the 'Actif' status.

  3. Batch Processing: A Split In Batches n8n node processes each active client sequentially, maintaining data isolation.

  4. Campaign Classification: A Switch n8n node checks the client's Typologie ADS (Ecommerce or Lead) and routes the flow accordingly, ensuring the correct Google Ads query is executed.

  5. Google Ads Data Query: For each client, an HTTP Request n8n node executes a Google Ads API search stream query for the last month. Ecommerce clients query for metrics.conversions_value, while Lead clients query for metrics.conversions.

  6. Data Processing: Custom Code n8n nodes (Tri données ecommerce/Tri données lead) aggregate the raw API data. They convert cost data from micros (Google Ads standard) to standard currency and group performance metrics (Cost and Conversion/Value) by channel type (P-Max, Search, Shopping, etc.).

  7. Dynamic Formatting: Another custom Code n8n node dynamically calculates which Google Sheets column corresponds to the previous month. It extracts the Spreadsheet ID from the Airtable link and formats the aggregated campaign data into the required JSON body for a batch PUT request, targeting rows 2 through 11 for cost and conversion metrics.

  8. Google Sheets Update & Rate Limiting: An HTTP Request n8n node performs the PUT operation to update the client's Google Sheet. Crucially, a Wait n8n node introduces a 1-minute delay after each client's report is updated. This prevents Google Sheets API quota limits from being exceeded, making this n8n workflow highly robust.

Installation Guide

To deploy this comprehensive n8n workflow template, follow these steps:


  1. Import: Copy the provided JSON and import it directly into your n8n instance.

  2. Airtable Credentials: Set up credentials for the Airtable node (Récupération info airtable). Ensure the 'Base clients' and 'Projets' table names match your setup, and update the base/table IDs if necessary.

  3. Google Ads Credentials: Configure the Google Ads OAuth2 API credentials required by the Query Ecommerce and Query Lead n8n nodes. You must input your developer-token and login-customer-id in the header parameters for the HTTP Requests.

  4. Google Sheets Credentials: Configure the Google Sheets OAuth2 API credentials for the Remplissage ecommerce and Remplissage lead n8n nodes. This credential needs write access to all client spreadsheets.

  5. Airtable Data Setup: Ensure your Airtable base contains the fields required by the n8n node logic: Status - Prévisionnel budgétaire (must contain 'Actif'), Typologie ADS ('Ecommerce' or 'Lead'), ID GADS (Google Ads Customer ID), and Automation budget (The URL of the client's Google Sheet).

  6. Activate: Save and activate the n8n trigger. It is configured to run automatically every month.

Node Details

The core logic of this advanced n8n workflow relies on several key n8n node types:

Schedule Trigger (10 du mois): The primary n8n trigger for this automation. Function: Initiates the monthly reporting process on the 3rd day of the month.
Airtable (Récupération info airtable): Function: Fetches all client project records from a specified Airtable base and table. Key Configuration: Uses 'search' operation.
If (Actif): Function: Filters the client list, allowing only records where the 'Status' field equals 'Actif' to proceed.
Split In Batches (Loop Over Items): Function: Ensures each active client is processed individually and sequentially to prevent large batch failures and manage API rate limits.
Switch (Ecommerce/Lead): Function: Routes the workflow based on the client's Typologie ADS field to ensure the correct performance metrics are queried from Google Ads.
HTTP Request (Query Ecommerce & Query Lead): Function: Connects to the Google Ads API to retrieve cost and conversion metrics for the previous month. Key Configuration: Uses dynamic expressions ({{ $json['ID GADS'] }}) for the customer ID and specific API queries based on account typology.
Code (Tri données...): Function: Processes raw API JSON output, converts financial metrics from micros to currency, and aggregates cost/conversions across various campaign channel types (e.g., Performance Max, Search).
Code (Formatage requete...): Function: Dynamically calculates the target column based on the date, extracts the Google Sheets ID, and structures the aggregated data into the required 10-row values array for the batch update.
HTTP Request (Remplissage ecommerce & Remplissage lead): Function: Executes a PUT request to the Google Sheets API to update the calculated cell range with the monthly performance data. Key Configuration: Uses Google Sheets OAuth2, dynamic URL/Body, and includes retry-on-fail logic.
Wait (Wait, Wait1): Function: Introduces a 1-minute delay after each client's spreadsheet update, mitigating the risk of reaching Google Sheets API rate limits during high-volume batch processing.

Related n8n Workflows

Free

Nodes: 9 Nodes
Updated: December 26 2025
View all
Created by

Featured*