- Home
- Resources
- Integrations
- Google Ads
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
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.
How do you connect Google Ads to n8n?
- 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.
- 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.cloudon n8n Cloud, the domain of your own instance if you self-host. - 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.
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.
Operations index
Campaign
2 operationsGet many campaigns
campaign.getAllWhat 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
TODAYtoLAST_30_DAYS, orallTime. - Show Campaigns by Status: keeps only
ENABLED,PAUSEDorREMOVEDcampaigns, orallto ignore status.
Get a campaign
campaign.getWhat 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.
Need help automating Google Ads with n8n?
A person reads every message.
Google Ads and n8n, the questions that come next
01Is the Google Ads n8n integration free?
02Which credentials does the Google Ads node need?
03What are the limits of the Google Ads node in n8n?
04Does the Google Ads node react in real time?
05n8n or Make for Google Ads?
Get our weekly integration tips.
No spam. Unsubscribe anytime.


