Resources · n8n integration

Google Ads n8n integrationAutomate Google Ads with n8n.

Your Google Ads reporting can run without a single manual export. The Google Ads n8n integration holds one resource, Campaign, and 2 operations that read campaigns from an account. No trigger node ships for this tool, so a Schedule Trigger or another app's event starts the workflow.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Google Ads n8n integration actually do?

The Google Ads node reads campaign data from an account and hands it to the rest of your workflow. One resource, Campaign, and 2 operations: read every campaign linked to an account, or read a single campaign from its ID. Filtering, formatting and sending are the job of the nodes you plug in after it, which is why this node is usually the second step rather than the last one.

A morning digest is the obvious first build. A Schedule Trigger fires at eight, campaign.getAll reads the account with Show Campaigns by Status on ENABLED and Date Range on YESTERDAY, and a Slack node posts the list in the team channel. Nobody opens the Google Ads interface to find out what ran.

The second build is housekeeping. Same operation, Show Campaigns by Status on PAUSED, and each campaign lands as a row in Google Sheets. Once a quarter someone reads that sheet and decides what to archive. It is a short build and it stops paused campaigns from piling up unnoticed.

The third one is narrower. A workflow that already knows which campaign it is dealing with, because an alert named it or a form carried its ID, calls campaign.get with that Campaign ID and works on a single item. Put a Google Analytics node in the same workflow when the report has to mix paid campaigns with the rest of your acquisition.

When what you need is not one of the 2 operations, the HTTP Request node takes over. It calls any endpoint of the Google Ads API and reuses the same credential through predefined authentication, so there is no second login to manage. Keep the dedicated node for what it does and treat HTTP Request as the extension, not the default.

Starting the workflow is a decision of its own, since this tool has no trigger node in n8n. A Schedule Trigger at a fixed interval covers reporting. An n8n Webhook, meaning a URL another service calls, covers the case where a third party has to push the signal. Or you reuse the trigger of an app that already owns the moment you care about. The n8n review goes further into how the platform handles those starting points.

Connect

How do you connect Google Ads to n8n?

  1. 01

    Create the Google Cloud project

    The credential is a Google OAuth2 credential for a single service. On n8n Cloud, some Google nodes offer Managed OAuth2, a Sign in with Google button that needs no setup in the Google Cloud Console. Managed OAuth2 is not available to self-hosted users, who go the Custom OAuth2 route: open the Google Cloud Console, create a project or pick an existing one, then enable the APIs you need access to.

  2. 02

    Configure the OAuth consent screen

    In APIs and Services, open OAuth consent screen and select Get started. Enter an App name and a User support email, then choose the Audience: Internal for accounts inside your Google Workspace organization, External for any Google account. Accept the User Data Policy and create. Then open Branding and add an authorised domain: n8n.cloud on n8n Cloud, the domain of your own instance if you self-host.

  3. 03

    Create the OAuth client and finish in n8n

    Back in APIs and Services, go to Credentials, then Create credentials and OAuth client ID. Pick Web application as the Application type and rename it to something you will recognise later. Copy the OAuth Redirect URL from your n8n credential into Authorized redirect URIs. Localhost works too, so a local instance needs no public domain, for example http://localhost:5678/rest/oauth2-credential/callback.

Actions

What can the Google Ads node do?

The Google Ads node exposes 2 operations across 1 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceGetGet Many
Campaign

Campaign

2 operations
01

Get many campaigns

campaign.getAll

What you see in n8n

Notes & use cases

Returns the campaigns linked to the account you point at, so the workflow can loop over them.

Key parameters

  • Manager Customer ID: the ID of the manager account above the client account, in the form 9998887777.
  • Client Customer ID: the account whose campaigns come back, in the form 6665554444, or an expression such as {{ $json.field }} taken from an earlier node.
  • Date Range: an Additional Options field that filters the statistics by period, from TODAY to LAST_30_DAYS, or allTime.
  • Show Campaigns by Status: keeps only ENABLED, PAUSED or REMOVED campaigns, or all to ignore status.
Use cases
a Monday report that lists the campaigns still running and writes one row each, ready for the weekly review.
02

Get a campaign

campaign.get

What you see in n8n

Notes & use cases

Targets one campaign and brings it back on its own, which is what a workflow wants once the campaign is already identified upstream.

Key parameters

  • Manager Customer ID: the same manager account ID as the read-many operation, usually copied from one node to the other.
  • Client Customer ID: the account the campaign belongs to. The wrong account here returns nothing on a campaign that exists.
  • Campaign ID: the ID of the campaign, not its name. The field is required, so an empty value stops the node before the API call.
Use cases
an alert names a campaign, the workflow reads it again and posts its details back to whoever raised the flag.
Need help

Need help automating Google Ads with n8n?

A person reads every message.

FAQ

Google Ads and n8n, the questions that come next

01Is the Google Ads n8n integration free?
Yes on the n8n side. The Google Ads node ships with n8n, so there is nothing to install and nothing extra to pay, whether you run n8n Cloud or a self-hosted instance under the Community Edition and its Sustainable Use licence. A workflow behaves the same way in both cases, which is worth knowing if you ever move from one to the other. What you spend inside Google Ads itself is a separate matter and this page does not cover it. The real cost on the n8n side is the time you spend building the workflow once, after which the 2 campaign operations run on whatever schedule you gave them.
02Which credentials does the Google Ads node need?
A Google OAuth2 credential for a single service. On n8n Cloud, some Google nodes offer Managed OAuth2: you click Sign in with Google in the credentials screen and nothing else is needed in the Google Cloud Console. Managed OAuth2 is not available to self-hosted users, who create a Custom OAuth2 credential instead: a project in the Google Cloud Console, the APIs enabled, an OAuth consent screen configured, then an OAuth client ID of type Web application whose Authorized redirect URIs contain the OAuth Redirect URL that n8n shows you. The Google credential family also documents Service Accounts, with limited support in n8n, so check node compatibility before going that way. A credential is created once and reused by every workflow.
03What are the limits of the Google Ads node in n8n?
The catalogue holds one resource and 2 operations, both about reading campaigns. Anything beyond those operations goes through the HTTP Request node, which calls any endpoint of the Google Ads API and reuses the same credential through predefined authentication, so you keep a single login for the whole workflow. Inside the node, the shaping you get comes from the two Additional Options fields: Date Range for the period the statistics cover, Show Campaigns by Status to keep enabled, paused or removed campaigns. Sorting, joining with other data, deciding what counts as a problem: that is work for the nodes you place after it, and it is usually a Code or a Filter node.
04Does the Google Ads node react in real time?
No, because there is no Google Ads trigger node in n8n. A workflow built around this node starts somewhere else: a Schedule Trigger firing at a fixed interval, an n8n Webhook, meaning a URL that a third-party service calls, or the trigger of another app you already run. In practice a schedule covers most reporting needs, since campaign statistics are read for a period rather than watched second by second. If you need something closer to an event, let the other tool be the starting point of the workflow and place the Google Ads node right after it, so the read happens at the moment that matters to you.
05n8n or Make for Google Ads?
It depends on where you want the workflow to live. Make is a hosted automation platform, with no self-hosting option, and it bills per operation, so a report that reads a long list of campaigns costs more as the account grows. n8n runs on your own server or on n8n Cloud, and the workflow is identical either way, which matters when campaign data has to stay on infrastructure you control. Make's visual logic is a linear chain that many teams find quicker to read at a glance. n8n gives you a canvas plus the HTTP Request fallback when an operation is missing from the dedicated node. Both connect to Google Ads. Pick on hosting, data control and cost model, not on the logo wall.
Hack'celeration Lab

Get our weekly integration tips.

No spam. Unsubscribe anytime.