How to Automate Google Ads Reporting with n8n

Google Ads reporting is one of those tasks that eats hours every week without adding any real value. You pull data from the Google Ads dashboard, paste it into a spreadsheet, format it, send it to the

How to Automate Google Ads Reporting with n8n

Google Ads reporting is one of those tasks that eats hours every week without adding any real value. You pull data from the Google Ads dashboard, paste it into a spreadsheet, format it, send it to the client or your team — then do it all again next week. If you're running more than two or three ad accounts, this becomes unsustainable fast. Automating it with n8n eliminates the manual work entirely and gives you a system that runs on its own, every day, without your involvement.

What You'll Actually Automate

Before building anything, be clear about what the automation needs to do. A solid Google Ads reporting workflow typically covers four things:

  • Pulling campaign performance data (impressions, clicks, cost, conversions) on a schedule
  • Formatting and calculating derived metrics like CPC, CTR, and ROAS
  • Writing the data to a Google Sheet or sending it via Slack, email, or WhatsApp
  • Flagging anomalies — campaigns with CPC spikes, zero impressions, or budget exhaustion

Most teams only automate the first two and skip anomaly detection. That's the part that actually saves you from problems — catching a paused campaign or a blown budget before the client asks why spend stopped.

Connecting Google Ads to n8n

n8n connects to Google Ads through the Google Ads node, which uses OAuth2. The setup requires a Google Ads Developer Token, a Manager Account (MCC) ID, and OAuth credentials from the Google Cloud Console. This is the part that trips most people up — the Developer token has to be approved by Google, which can take a few days if your account is new.

Once connected, the key queries you'll run are:

  • Campaign performance: metrics broken down by campaign, date range, and device
  • Ad group breakdown: for accounts where you need granularity below campaign level
  • Search terms report: useful for catching irrelevant queries that are eating budget
  • Budget utilization: how much of the daily budget each campaign has spent

The Google Ads node uses GAQL (Google Ads Query Language), which is similar to SQL. You write a query like SELECT campaign.name, metrics.impressions, metrics.clicks FROM campaign WHERE segments.date DURING LAST_7_DAYS and n8n returns the results as JSON objects ready for the next node.

Building the Workflow Step by Step

A production-grade reporting workflow in n8n follows this structure:

  • Trigger: Schedule node set to run daily at 08:00 or weekly on Monday morning
  • Fetch data: Google Ads node with your GAQL query for the relevant date range
  • Transform: Code node (JavaScript) to calculate ROAS, round decimals, rename fields
  • Split and route: If you manage multiple accounts, loop through each MCC child account
  • Write output: Google Sheets node appends a new row, or HTTP Request sends to a webhook
  • Alert logic: IF node checks for budget exhaustion or CTR drops and routes to Slack or WhatsApp

The Code node is where most of the real work happens. You'll use it to convert micros (Google Ads stores costs in micros, so $1.00 = 1,000,000) to actual currency, calculate ROAS from conversion value and cost, and merge multi-row results into a single summary object per campaign.

For teams managing multiple clients, wrap the entire flow in a loop that iterates over a list of customer IDs stored in a Google Sheet or a Postgres table. Each iteration runs the full report for one account and drops the results into that client's dedicated sheet.

Common Mistakes That Break the Automation

A few issues consistently appear when people build this for the first time:

  • Date range mismatches: Google Ads uses the account's local timezone. If your n8n server runs in UTC and the client is in EST, yesterday's data may be incomplete when you pull it at midnight UTC.
  • API quota limits: Google Ads API has per-developer and per-customer daily quotas. If you're pulling hourly and managing 50 accounts, you'll hit them. Pull daily instead and cache the results.
  • OAuth token expiry: n8n refreshes tokens automatically, but if the workflow hasn't run in 60+ days, the refresh token can expire. Test with a manual execution before relying on the schedule.
  • Missing conversion tracking: If conversions aren't configured in the Google Ads account, your ROAS column will always be zero. Validate that conversion actions exist before including that metric.

The alert logic is also frequently broken by thresholds that are too sensitive. A campaign dropping from 1000 to 800 impressions isn't an emergency. Set percentage-based thresholds with a minimum volume floor — alert only if impressions drop more than 40% AND the baseline was above 500 impressions per day.

Deploying and Maintaining the System

Once the workflow runs cleanly in test mode, activate it and monitor the first five scheduled executions manually. Check the execution log in n8n for any data inconsistencies — especially if the Google Ads account has campaigns that were paused mid-period, which can produce unexpected nulls in the metrics.

For maintenance, the main thing to watch is the Google Ads API version. Google deprecates older versions annually, and n8n's built-in node may lag behind. When that happens, switch to an HTTP Request node calling the API directly with your OAuth credentials — it gives you more control over the query and the response parsing.

If you're starting from scratch and want to skip the build-from-zero process, there are ready-made n8n templates that cover the full reporting stack — including multi-account loops, Google Sheets output, and Slack alerting — ready to import and configure with your own credentials in under an hour.

Automated Google Ads reporting is one of the highest-leverage automations you can build for a marketing operation. Once it's running, you get daily visibility into campaign performance without touching a dashboard — and the alert system catches problems before they become expensive. The one-time investment in setting it up pays back every single week.

Sales Efficiency Score - Weekly
PRONTO PARA USAR

Ja construimos isso pra voce

Nao comece do zero. O Sales Efficiency Score - Weekly e um workflow n8n pronto para instalar que faz exatamente isso — em minutos, nao horas.

Instalar por $59 →