Skip to main content

Google Ads Component

Manage campaigns, conversions, customers, and local services in Google Ads.

Component key: google-ads

Changelog ↓

Description

Google Ads is an online advertising platform that allows businesses to create and manage ad campaigns across Google Search, YouTube, and partner websites. This component gives you the ability to manage campaigns, upload conversions, handle customer accounts, and work with Local Services ads.

API Documentation

This component was built using the Google Ads API v22 currently supporting versions v19,v20,v21,v22.

Google documents many common errors that will aid in troubleshooting.

API Documentation

This component uses the Google Ads API v22 by default. Versions (v19, v20, v21) are still supported by specifying the apiVersion field in the connection configuration. Versions below v19 are not supported and will be overwritten to the minimum version (v19) automatically to prevent errors.

Important Notes for v22

EU Political Advertising Self-Declaration: When using API v22, you must set the containsEuPoliticalAdvertising field when:

  • Modifying location or proximity targeting on existing campaigns

This field is required and accepts one of the following values:

  • CONTAINS_EU_POLITICAL_ADVERTISING - Campaign contains EU political advertising
  • DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING - Campaign does not contain EU political advertising
  • UNSPECIFIED or UNKNOWN - Use only if you're unsure

Failure to set this field will result in a FieldError.REQUIRED error from the API.

For more details, see the v22 release notes.

Version Compatibility

The component supports multiple API versions through the apiVersion connection field:

  • v22 (recommended): Latest features and improvements
  • v21: Stable, production-ready
  • v20: Stable, production-ready
  • v19: Previous default, will be deprecated in future

To use a specific version, set the apiVersion field when configuring your Google Ads connection.

Connections

OAuth 2.0

This component uses OAuth 2.0 to connect to the Google Ads API.

Prerequisites

  • A Developer Token is required to work with Google Ads
  • The Customer ID of the Ads Manager account (the hyphenated number in the top-left corner of the Ads app) must be noted
  • A Google Developer account is required

Developer Token

The Developer Token is obtained from a Google Ads Manager account:

  1. Sign in to Google Ads with the Google account that will be used for the integration
  2. Click Tools & Settings in the top right corner
  3. Under Setup, click API Center
  4. In the Developer token section, click Create token or view the existing token
  5. Copy and save the Developer Token value securely
  6. Take note of the Customer ID displayed in the top-right corner of Google Ads (XXX-XXX-XXXX). This will be needed when configuring the connection.

Configure Google Cloud Project

  1. Access the project selector in the top-left and select an existing project or create a new one.
  2. Select APIs & Services -> Enabled APIs & services from the left hand menu
  3. Click Enable APIs and Services towards the top of the screen
  4. Search for "google ads api" and select Google Ads API in the results (avoid selecting AdWords as that is deprecated)
  5. Click the Enable button to add the API to the project
  6. On the sidebar, select Credentials.
  7. An OAuth 2.0 app includes a "Consent Screen". Click CONFIGURE CONSENT SCREEN.
    1. The app will be externally available to customers, so choose a User Type of External.
    2. Fill out the OAuth consent screen with an app name, support email, app logo, domain, etc.
    3. On the next page, add the https://www.googleapis.com/auth/adwords scope to the app.
    4. Enter some test users for testing purposes. The app will only work for those testing users until it is "verified" by Google. When ready for verification, click PUBLISH APP on the OAuth consent screen. That will allow customers to authorize the integration to access their Google Ads.
  8. Once the "Consent Screen" is configured, open the Credentials page from the sidebar again.
  9. Click +CREATE CREDENTIALS and select OAuth client ID.
    1. Under Application type select Web application.
    2. Under Authorized redirect URIs enter the OAuth 2.0 callback URL: https://oauth2.prismatic.io/callback
    3. Click CREATE.
  10. Take note of the Client ID and Client Secret that are generated.

Configure the Connection

  • Client ID: From the Google Cloud Console OAuth client credentials
  • Client Secret: From the Google Cloud Console OAuth client credentials
  • Developer Token: From the Google Ads API Center
  • API Version: The Google Ads API version to use. Refer to the Google Ads API release notes for the latest version.

Supported API Versions

The component supports multiple API versions through the API Version connection field:

VersionStatusTentative Sunset
v22Recommended (default)October 2026
v21StableAugust 2026
v20StableJune 2026
v19LegacyFebruary 2026

Sunset dates are tentative and subject to change. See the official deprecation and sunset schedule for the latest information.

After entering the credentials, authorize the connection by signing in with the same Google account used to create the Developer Token and OAuth credentials.

InputNotesExample
API Version

The version of the Google Ads API to use. Defaults to v22. Older versions (v19, v20, v21) are supported by specifying the version explicitly. See API versions documentation.

v22
Authorize URL

The OAuth 2.0 Authorization URL for the Google Ads API. See OAuth 2.0 documentation.

https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent
Client ID

Client Identifier of your app for the Google Ads API. Obtain from the Google Cloud Console.

123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
Client Secret

Client Secret of your app for the Google Ads API. Obtain from the Google Cloud Console.

GOCSPX-abcdefghijklmnopqrstuvwxyz
Developer Token

Developer token of your Account Manager account. Obtain from the Google Ads API Center.

ABcdeFGH93KL-NOPQ_RsTuv
Scopes

Space-separated OAuth 2.0 permission scopes for the Google Ads API. See OAuth scopes documentation.

https://www.googleapis.com/auth/adwords
Token URL

The OAuth 2.0 Token URL for the Google Ads API. See OAuth 2.0 documentation.

https://oauth2.googleapis.com/token

Triggers

Account Change History

Checks for account modifications with user attribution on a configured schedule. | key: changeHistoryTrigger

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Include User Info

When true, user email and client type will be included in change events.

true
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Resource Types

Types of resources to track changes for. Leave empty to track all resource types.

The Account Change History trigger checks for account modifications with user attribution on a configured schedule. Unlike the New and Updated Campaigns trigger which monitors only campaigns, this trigger captures changes across all resource types using the Google Ads Change Event API.

How It Works

  1. Run on the configured schedule (e.g., every 15 minutes)
  2. Query the change_event resource for modifications since the last poll
  3. Return change details including what changed, who made the change, and when
  4. Update state with the current timestamp for the next poll

Configuration

Required Inputs:

  • Connection - Google Ads OAuth2 connection
  • Customer ID - The Google Ads client account ID (format: 111-222-4444 or 1112224444)

Optional Inputs:

  • Manager Customer ID - Manager account ID when accessing sub-accounts
  • Resource Types - Filter for specific resource types:
    • CAMPAIGN, CAMPAIGN_BUDGET, CAMPAIGN_CRITERION
    • AD_GROUP, AD_GROUP_AD, AD_GROUP_CRITERION
    • ASSET, CUSTOMER, and more
    • Leave empty to monitor all resource types
  • Include User Info - Include user email and client type in results (default: true)

Returned Data

The trigger returns an object containing change events and metadata. When no changes are detected, returns polledNoChanges: true.

View example response
{
"data": {
"changes": [
{
"changeEvent": {
"resourceName": "customers/6577008345/changeEvents/1764141874897602~0~1",
"changeDateTime": "2025-11-26 01:24:34.897602",
"changeResourceType": "CAMPAIGN_BUDGET",
"changeResourceName": "customers/6577008345/campaignBudgets/15170398017",
"clientType": "GOOGLE_ADS_WEB_CLIENT",
"userEmail": "user@example.com",
"oldResource": {
"campaignBudget": {}
},
"newResource": {
"campaignBudget": {
"resourceName": "customers/6577008345/campaignBudgets/15170398017",
"amountMicros": "481350000"
}
},
"resourceChangeOperation": "CREATE"
}
}
],
"changeCount": 1,
"timeRange": {
"start": "2025-11-26 01:11:50",
"end": "2025-11-26 01:30:17"
}
}
}

{
"payload": {
"headers": {},
"queryParameters": {},
"body": {
"data": {
"changes": [
{
"changeEvent": {
"resourceName": "customers/6577008345/changeEvents/1764141874897602~0~1",
"changeDateTime": "2025-11-26 01:24:34.897602",
"changeResourceType": "CAMPAIGN_BUDGET",
"changeResourceName": "customers/6577008345/campaignBudgets/15170398017",
"clientType": "GOOGLE_ADS_WEB_CLIENT",
"userEmail": "exampleUser@email.com",
"oldResource": {
"campaignBudget": {}
},
"newResource": {
"campaignBudget": {
"resourceName": "customers/6577008345/campaignBudgets/15170398017",
"deliveryMethod": "STANDARD",
"period": "DAILY",
"type": "STANDARD",
"id": "15170398017",
"amountMicros": "481350000",
"explicitlyShared": false
}
},
"resourceChangeOperation": "CREATE"
}
}
],
"changeCount": 1,
"timeRange": {
"start": "2025-11-26 01:11:50",
"end": "2025-11-26 01:30:17"
}
}
},
"pathFragment": "",
"webhookUrls": {
"Flow 1": "https://hooks.example.io/trigger/EXAMPLE1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123456==",
"Campaign Change": "https://hooks.example.io/trigger/EXAMPLE0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA654321=="
},
"webhookApiKeys": {
"Flow 1": [],
"Campaign Change": []
},
"invokeUrl": "https://hooks.example.io/trigger/EXAMPLE0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA654321==",
"executionId": "EXAMPLEEXECUTIONID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"customer": {
"id": "exampleCustomerId",
"name": "Example Customer",
"externalId": "exampleCustomerExternalId"
},
"instance": {
"id": "EXAMPLEINSTANCEID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"name": "Ads Polling Trigger - Campaign Change"
},
"user": {
"id": "exampleUserId",
"email": "exampleUser@example.com",
"name": "Example User",
"externalId": "exampleUserExternalId"
},
"integration": {
"id": "EXAMPLEINTEGRATIONID1234567890ABCDEFGHIJKLMNOPQRSTUV",
"name": "Ads Polling Trigger",
"versionSequenceId": "exampleIntegrationVersionSequenceId",
"externalVersion": ""
},
"flow": {
"id": "EXAMPLEFLOWID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123==",
"name": "Campaign Change"
},
"startedAt": "2025-01-01 12:00:00.00000+00",
"globalDebug": true,
"rawBody": {}
}
}

Campaign Budget Alerts

Checks for campaigns approaching or exceeding budget thresholds on a configured schedule. | key: budgetAlertTrigger

InputNotesExample
Alert Threshold (%)

Budget spend percentage at which to trigger an alert.

80
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Include Shared Budgets

When true, shared budgets across multiple campaigns will be monitored.

true
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890

The Campaign Budget Alerts trigger checks for campaigns approaching or exceeding budget thresholds on a configured schedule.

This trigger uses the Google Ads API Campaign resource to query campaign budget and cost data, calculating budget utilization in real-time.

How It Works

  1. Run on the configured schedule (e.g., every 15 minutes)
  2. Query all enabled campaigns with their budget and cost metrics
  3. Calculate spending percentage, remaining budget, and severity level for each campaign
  4. Return only campaigns that exceed the alert threshold

Severity Levels

Budget alerts are classified by severity:

  • Warning - Spending has reached or exceeded the alert threshold (default: 80%) but is below 100%
  • Critical - Spending has reached or exceeded 100% of the configured budget

Only campaigns with Warning or Critical severity are included in the results.

Configuration

Required Inputs:

  • Connection - Google Ads OAuth2 connection
  • Customer ID - The Google Ads client account ID (format: 111-222-4444 or 1112224444)

Optional Inputs:

  • Manager Customer ID - Manager account ID when accessing sub-accounts
  • Alert Threshold - Percentage threshold for triggering alerts (default: 80)

Returned Data

The trigger returns an object containing budget alerts and metadata. When no campaigns exceed the threshold, returns polledNoChanges: true.

View example response
{
"data": {
"alerts": [
{
"campaignId": "23302011123",
"campaignName": "Example-Campaign-1",
"budgetAmount": 100,
"spent": 95,
"percentSpent": 95,
"remaining": 5,
"period": "DAILY",
"shouldAlert": true,
"severity": "WARNING",
"message": "Campaign approaching daily budget limit"
}
],
"totalCampaignsMonitored": 10,
"alertThreshold": 80
}
}

{
"payload": {
"headers": {},
"queryParameters": {},
"body": {
"data": {
"alerts": [
{
"campaignId": "23302011123",
"campaignName": "Example-Campaign-1",
"budgetAmount": 100,
"spent": 1000,
"percentSpent": 1000,
"remaining": -900,
"period": "DAILY",
"shouldAlert": true,
"severity": "critical",
"message": "Campaign has exceeded daily"
}
],
"totalCampaignsMonitored": 1,
"alertThreshold": 80
}
},
"pathFragment": "",
"webhookUrls": {
"Flow 1": "https://hooks.example.io/trigger/EXAMPLE1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123456==",
"Campaign Change": "https://hooks.example.io/trigger/EXAMPLE0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA654321=="
},
"webhookApiKeys": {
"Flow 1": [],
"Campaign Change": []
},
"invokeUrl": "https://hooks.example.io/trigger/EXAMPLE0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA654321==",
"executionId": "EXAMPLEEXECUTIONID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"customer": {
"id": "exampleCustomerId",
"name": "Example Customer",
"externalId": "exampleCustomerExternalId"
},
"instance": {
"id": "EXAMPLEINSTANCEID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"name": "Ads Polling Trigger - Campaign Change"
},
"user": {
"id": "exampleUserId",
"email": "exampleUser@example.com",
"name": "Example User",
"externalId": "exampleUserExternalId"
},
"integration": {
"id": "EXAMPLEINTEGRATIONID1234567890ABCDEFGHIJKLMNOPQRSTUV",
"name": "Ads Polling Trigger",
"versionSequenceId": "exampleIntegrationVersionSequenceId",
"externalVersion": ""
},
"flow": {
"id": "EXAMPLEFLOWID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123==",
"name": "Campaign Change"
},
"startedAt": "2025-01-01 12:00:00.00000+00",
"globalDebug": true,
"rawBody": {}
}
}

New and Updated Campaigns

Checks for new and updated campaigns in a Google Ads account on a configured schedule. | key: campaignChangesTrigger

InputNotesExample
Change Types to Monitor

Types of campaign changes to detect. Leave empty to detect all change types.

Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890

The New and Updated Campaigns trigger checks for new and updated campaigns in a Google Ads account on a configured schedule. It monitors campaign properties including status, budget, bidding strategy, and settings by comparing the current state against the previous polling state.

This trigger uses the Google Ads API Campaign resource to query campaign data and performs client-side change detection between polling intervals.

How It Works

  1. Run on the configured schedule (e.g., every 15 minutes)
  2. Query campaigns modified since the last poll using Google Ads Query Language
  3. Compare current campaign data against stored state to identify changes
  4. Categorize changes as "created", "updated", or "deleted"
  5. Update state with current campaign data for the next poll

Configuration

Required Inputs:

  • Connection - Google Ads OAuth2 connection
  • Customer ID - The Google Ads client account ID (format: 111-222-4444 or 1112224444)

Optional Inputs:

  • Manager Customer ID - Manager account ID when accessing sub-accounts
  • Change Types to Monitor - Filter for specific change types:
    • Status Changes (enabled, paused, removed)
    • Budget Changes (amounts or assignments)
    • Bid Strategy Changes (strategies or amounts)
    • Campaign Settings (targeting, schedule, ad rotation)
    • Leave empty to detect all changes

Returned Data

The trigger returns an object containing detected changes and metadata. When no changes are detected, returns polledNoChanges: true.

View example response
{
"data": {
"changes": [
{
"changeType": "created",
"campaignId": "12345678901",
"campaignName": "Example-Campaign-1",
"field": "campaign",
"oldValue": null,
"newValue": {
"campaign": {
"resourceName": "customers/1234567890/campaigns/12345678901",
"status": "ENABLED",
"name": "Example-Campaign-1",
"id": "12345678901"
}
},
"changedAt": "2025-01-01T12:00:00.000Z"
}
],
"totalCampaigns": 1,
"changesDetected": 1,
"syncedAt": "2025-01-01"
}
}

{
"payload": {
"headers": {},
"queryParameters": {},
"body": {
"data": {
"changes": [
{
"changeType": "created",
"campaignId": "12345678901",
"campaignName": "Example-Campaign-1",
"field": "campaign",
"oldValue": null,
"newValue": {
"campaign": {
"resourceName": "customers/1234567890/campaigns/12345678901",
"status": "ENABLED",
"name": "Example-Campaign-1",
"id": "12345678901"
}
},
"changedAt": "2025-01-01T12:00:00.000Z"
}
],
"totalCampaigns": 1,
"changesDetected": 1,
"syncedAt": "2025-01-01"
}
},
"pathFragment": "",
"webhookUrls": {
"Flow 1": "https://hooks.example.io/trigger/EXAMPLE1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123456==",
"Campaign Change": "https://hooks.example.io/trigger/EXAMPLE0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA654321=="
},
"webhookApiKeys": {
"Flow 1": [],
"Campaign Change": []
},
"invokeUrl": "https://hooks.example.io/trigger/EXAMPLE0987654321ZYXWVUTSRQPONMLKJIHGFEDCBA654321==",
"executionId": "EXAMPLEEXECUTIONID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"customer": {
"id": "exampleCustomerId",
"name": "Example Customer",
"externalId": "exampleCustomerExternalId"
},
"instance": {
"id": "EXAMPLEINSTANCEID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"name": "Ads Polling Trigger - Campaign Change"
},
"user": {
"id": "exampleUserId",
"email": "exampleUser@example.com",
"name": "Example User",
"externalId": "exampleUserExternalId"
},
"integration": {
"id": "EXAMPLEINTEGRATIONID1234567890ABCDEFGHIJKLMNOPQRSTUV",
"name": "Ads Polling Trigger",
"versionSequenceId": "exampleIntegrationVersionSequenceId",
"externalVersion": ""
},
"flow": {
"id": "EXAMPLEFLOWID1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ123==",
"name": "Campaign Change"
},
"startedAt": "2025-01-01 12:00:00.00000+00",
"globalDebug": true,
"rawBody": {}
}
}

Data Sources

List Accessible Customers

Get a list of accessible customers for the logged in user | key: listAccessibleCustomersDataSource | type: picklist

InputNotesExample
Connection

The Google Ads connection to use.

{
"result": [
{
"label": "Example Account - 123-456-7890",
"key": "1234567890"
}
]
}

List Accessible Sub Accounts

Get a list of accessible Sub Accounts for the customer id provided. | key: listAccessibleSubAccounts | type: picklist

InputNotesExample
Connection

The Google Ads connection to use.

Customer Client Level

The level of the customer client to retrieve.

1
Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444

{
"result": [
{
"label": "Example Account - 123-456-7890",
"key": "1234567890"
}
]
}

Actions

Account Reports

Account Reports show the performance and metrics associated with the linked Local Services accounts of a Manager account. | key: accountReports

InputNotesExample
Connection

The Google Ads connection to use.

Customer IDs

List of customer IDs to include in the report.

111-222-4444
End Date

The end date of the date range, inclusive. Format: MM-DD-YYYY.

12-31-2025
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Page Size

Number of results to return per page. Defaults to 20.

100
Page Token

Token for retrieving the next page of results. Returned in previous page responses.

CJL5XLT2PWDmIpGNGciABRnu
Start Date

The start date of the date range, inclusive. Format: MM-DD-YYYY.

01-01-2025

{
"data": {
"accountReports": [
{
"accountId": "1234567890",
"aggregatorInfo": {
"aggregatorProviderId": "1234567890"
},
"averageFiveStarRating": 4.8,
"averageWeeklyBudget": 500,
"businessName": "Example Plumbing Services",
"currentPeriodChargedLeads": 15,
"currentPeriodConnectedPhoneCalls": 25,
"currentPeriodPhoneCalls": 30,
"currentPeriodTotalCost": 450.5,
"impressionsLastTwoDays": 1250,
"phoneLeadResponsiveness": 0.95,
"previousPeriodChargedLeads": 12,
"previousPeriodConnectedPhoneCalls": 20,
"previousPeriodPhoneCalls": 28,
"previousPeriodTotalCost": 380.25,
"totalReview": 125
}
],
"nextPageToken": "CJL5XLT2PWDmIpGNGciABRnu"
}
}

Confirm a pending customer client link | key: confirmClientLink

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Manager Link ID

The unique identifier of the manager link. See Customer manager link documentation.

1234567890

{
"data": {
"results": [
{
"resourceName": "customers/2222222222/customerManagerLinks/1111111111~3333333333"
}
]
}
}

Create an invitation to link a client account to a manager account | key: createClientLink

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890

{
"data": {
"resourceName": "customers/1111111111/customerClientLinks/2222222222~3333333333",
"managerCustomerId": "1111111111",
"clientCustomerId": "2222222222",
"managerLinkId": "3333333333"
}
}

Detailed Lead Reports

Detailed Lead Reports show an in-depth view of leads associated with the linked Local Services accounts of a Manager account. | key: detailedLeadReports

InputNotesExample
Connection

The Google Ads connection to use.

Customer IDs

List of customer IDs to include in the report.

111-222-4444
End Date

The end date of the date range, inclusive. Format: MM-DD-YYYY.

12-31-2025
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Page Size

Number of results to return per page. Defaults to 20.

100
Page Token

Token for retrieving the next page of results. Returned in previous page responses.

CJL5XLT2PWDmIpGNGciABRnu
Start Date

The start date of the date range, inclusive. Format: MM-DD-YYYY.

01-01-2025

{
"data": {
"detailedLeadReports": [
{
"accountId": "1234567890",
"businessName": "Example Plumbing Services",
"leadType": "MESSAGE",
"chargeStatus": "CHARGED",
"currencyCode": "USD",
"disputeStatus": "DISPUTE_INELIGIBLE",
"geo": "San Francisco, CA",
"leadCategory": "PLUMBER",
"leadCreationTimestamp": "2024-01-15T10:30:00Z",
"leadId": "987654321",
"leadPrice": 25.5,
"messageLead": {
"customerName": "John Doe",
"jobType": "Pipe Repair",
"postalCode": "94105"
}
}
],
"nextPageToken": "CJL5XLT2PWDmIpGNGciABRnu"
}
}

Get Conversion Action

Get Conversion Action | key: getConversionAction

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Page Token

Token for retrieving the next page of results. Returned in previous page responses.

CJL5XLT2PWDmIpGNGciABRnu

{
"data": {
"results": [
{
"conversionAction": {
"resourceName": "customers/1234567890/conversionActions/987654321",
"id": "987654321",
"name": "Purchase Conversion"
}
}
],
"fieldMask": "conversionAction.id,conversionAction.name,conversionAction.resourceName"
}
}

Get Customer

Get Customer | key: getCustomer

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Page Token

Token for retrieving the next page of results. Returned in previous page responses.

CJL5XLT2PWDmIpGNGciABRnu

{
"data": {
"results": [
{
"customer": {
"resourceName": "customers/1234567890",
"id": "1234567890",
"descriptiveName": "Example Customer Account",
"status": "ENABLED",
"testAccount": false,
"manager": false
}
}
],
"fieldMask": "customer.id,customer.descriptiveName,customer.status,customer.testAccount,customer.manager"
}
}

Invite User

Invite a user by email to a customer | key: inviteUser

InputNotesExample
Access Role

The access role to grant to the user. See Access roles documentation.

Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Email Address

The email address of the user to invite to the customer account.

john.doe@example.com

{
"data": {
"result": {
"resourceName": "customers/1234567890/customerUserAccessInvitations/9876543210"
}
}
}

List Accessible Customers

Get a list of customers accessible to the logged in user | key: listAccessibleCustomers

InputNotesExample
Connection

The Google Ads connection to use.

{
"data": {
"resourceNames": [
"customers/1234567890",
"customers/5555555555"
]
}
}

List Manager's Customers

List all customers under a manager account | key: listCustomers

InputNotesExample
Connection

The Google Ads connection to use.

Fetch All

When true, all pages of results will be fetched automatically. When false, only the first page of results will be returned.

false
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Page Token

Token for retrieving the next page of results. Returned in previous page responses.

CJL5XLT2PWDmIpGNGciABRnu

{
"data": {
"results": [
{
"customerClient": {
"resourceName": "customers/1234567890/customerClients/1234567890",
"clientCustomer": "customers/1234567890",
"id": "1234567890",
"hidden": false,
"level": "1"
}
},
{
"customerClient": {
"resourceName": "customers/1234567890/customerClients/1234567890",
"clientCustomer": "customers/1234567890",
"id": "1234567890",
"hidden": false,
"level": "1"
}
}
],
"nextPageToken": "CJL5XLT2PWDmIpGNGciABRnu",
"fieldMask": "customerClient.resourceName,customerClient.clientCustomer,customerClient.id,customerClient.level,customerClient.hidden,customerClient.level"
}
}

Mutate Campaign

Creates, updates, or removes campaigns as well as local services campaigns. Operation statuses are returned. NOTE: API v22 requires setting 'containsEuPoliticalAdvertising' field when creating campaigns or modifying location/proximity targeting on existing campaigns. See https://developers.google.com/google-ads/api/docs/release-notes#v22_0 for details. | key: mutateCampaign

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Operations

The list of operations to perform on individual campaigns. See Campaign operations documentation.

Partial Failure

When true, successful operations will be carried out and invalid operations will return errors. When false, all operations will be carried out in one transaction if and only if they are all valid. This should always be set to true. See Partial failure documentation.

false
Validate Only

When true, the request is validated but not executed. Only errors are returned, not results.

false

{
"data": {
"results": [
{
"resourceName": "customers/1234567890/campaigns/9876543210"
}
]
}
}

Mutate Campaign Criteria

Creates, updates, or removes campaign criteria as well as local services campaign criterion. Operation statuses are returned. NOTE: API v22 requires setting 'containsEuPoliticalAdvertising' field on the parent campaign before modifying location/proximity targeting criteria. See https://developers.google.com/google-ads/api/docs/release-notes#v22_0 for details. | key: mutateCampaignCriteria

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Operations

The list of operations to perform on individual campaigns. See Campaign operations documentation.

Partial Failure

When true, successful operations will be carried out and invalid operations will return errors. When false, all operations will be carried out in one transaction if and only if they are all valid. This should always be set to true. See Partial failure documentation.

false
Validate Only

When true, the request is validated but not executed. Only errors are returned, not results.

false

{
"data": {
"results": [
{
"resourceName": "customers/1234567890/campaignCriteria/9876543210~123456"
}
]
}
}

Raw Request

Send raw HTTP request to Google Ads | key: rawRequest

InputNotesExample
Connection

The Google Ads connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/v22/customers:listAccessibleCustomers), The base URL is already included (https://googleads.googleapis.com). For example, to connect to https://googleads.googleapis.com/v22/customers:listAccessibleCustomers, only /v22/customers:listAccessibleCustomers is entered in this field. Note: If using the Raw Request action, you must specify the API version in the path (e.g., /v22/) to override the connection default.

/v22/customers:listAccessibleCustomers
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

{
"data": {
"resourceNames": [
"customers/1234567890",
"customers/5555555555"
]
}
}

Search Ads

Returns all rows that match the search query. You can query for local services resources: https://developers.google.com/google-ads/api/docs/campaigns/local-service-campaigns#local_services_resources | key: searchAdsLocalServices

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Fetch All

When true, all pages of results will be fetched automatically. When false, only the first page of results will be returned.

false
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Page Token

Token for retrieving the next page of results. Returned in previous page responses.

CJL5XLT2PWDmIpGNGciABRnu
Query

Google Ads Query Language (GAQL) query string. See GAQL documentation.

SELECT campaign.id, campaign.status, campaign_budget.id, campaign_budget.period, campaign_budget.amount_micros, campaign_budget.type FROM campaign WHERE campaign.advertising_channel_type = 'LOCAL_SERVICES'
Return Total Results Count

When true, the total number of results that match the query ignoring the LIMIT clause will be included in the response. Default is false.

false

{
"data": {
"results": [
{
"campaign": {
"resourceName": "customers/1234567890/campaigns/9876543210",
"id": "9876543210",
"name": "Local Services Campaign",
"status": "ENABLED"
}
}
],
"nextPageToken": "CJL5XLT2PWDmIpGNGciABRnu",
"fieldMask": "campaign.resourceName,campaign.id,campaign.name,campaign.status"
}
}

Upload Call Conversions

Upload offline call conversions into Google Ads in order to track ads that led to sales | key: uploadCallConversions

InputNotesExample
Connection

The Google Ads connection to use.

Conversions

The conversions that are being uploaded. See Click conversions documentation.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Validate Only

When true, the request is validated but not executed. Only errors are returned, not results.

false

{
"data": {
"partialFailureError": {
"code": 123,
"message": "string",
"details": [
{
"@type": "string"
}
]
},
"results": [
{
"callerId": "string",
"callStartDateTime": "string",
"conversionAction": "string",
"conversionDateTime": "string"
}
]
}
}

Upload Click Conversions

Upload offline click conversions into Google Ads in order to track ads that led to sales | key: uploadClickConversions

InputNotesExample
Connection

The Google Ads connection to use.

Conversions

The conversions that are being uploaded. See Click conversions documentation.

Customer ID

Customer ID of the Google Ads Client account; accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

Customer ID of the Google Ads Manager account; accepts hyphenated or number forms. When used in conjunction with a sub account as the customer ID, this value is used as the 'login-customer-id' header for the HTTP request. See Customer ID documentation.

123-456-7890
Validate Only

When true, the request is validated but not executed. Only errors are returned, not results.

false

{
"data": {
"partialFailureError": {
"code": 123,
"message": "string",
"details": [
{
"@type": "string"
}
]
},
"results": [
{
"callerId": "string",
"callStartDateTime": "string",
"conversionAction": "string",
"conversionDateTime": "string"
}
]
}
}

Changelog

2025-12-15

Added documentation for polling triggers:

  • New and Updated Campaigns - Checks for new and updated campaigns on a configured schedule
  • Campaign Budget Alerts - Checks for campaigns approaching or exceeding budget thresholds on a configured schedule
  • Account Change History - Checks for account modifications with user attribution on a configured schedule

Updated default Google Ads API version to v22 with new EU Political Advertising requirements:

  • Default API version updated to v22 for all new connections
  • Campaign creation and location targeting now require Contains EU Political Advertising field when using v22
  • Existing integrations can continue using v19, v20, or v21 by specifying the API Version connection field

2025-06-09

Added inline data sources for accessible customers and sub-accounts to enhance data selection capabilities