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 v23 by default. Older versions (v20, v21, v22) are supported by specifying the apiVersion field in the connection configuration. Versions below v20 are not supported and will be overwritten to the minimum version (v20) automatically to prevent errors. Google sunset v19 on February 11, 2026.

Important Notes for v23

Breaking changes from v22:

  • CallAd and CallAdInfo are removed — call ad creation and management must use alternative ad types
  • Campaign.start_date and Campaign.end_date are replaced by Campaign.start_date_time and Campaign.end_date_time
  • Campaign.url_expansion_opt_out is removed — URL expansion is now managed through AssetAutomationType settings
  • Video metrics are renamed: video_views becomes video_trueview_views, average_cpv becomes trueview_average_cpv, video_view_rate becomes video_trueview_view_rate

For full details, see the v23 release notes.

EU Political Advertising Self-Declaration (v22+): When using API v22 or later, the containsEuPoliticalAdvertising field must be set when:

  • Creating new campaigns
  • 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 when the value is unknown or indeterminate

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

Version Compatibility

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

  • v23 (recommended): Latest features and improvements
  • v22: Stable, sunset October 2026
  • v21: Stable, sunset August 2026
  • v20: Minimum supported, sunset June 2026

To use a specific version, set the apiVersion field when configuring the Google Ads connection. See the official deprecation and sunset schedule for the latest dates.

Connections

OAuth 2.0

key: oauth

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
v23Recommended (default)January 2027
v22StableOctober 2026
v21StableAugust 2026
v20StableJune 2026
v19SunsetFebruary 11, 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 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 v23. Older versions (v20, v21, v22) are supported by specifying the version explicitly. Note: v19 was sunset on February 11, 2026. See API versions documentation.

v23
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

The Client ID for the Google Ads API application. Obtain from the Google Cloud Console.

123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
Client Secret

The Client Secret for the Google Ads API application. Obtain from the Google Cloud Console.

GOCSPX-abcdefghijklmnopqrstuvwxyz
Developer Token

The Developer Token for the Google Ads 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": "2026-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": "2026-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": "2026-01-01T12:00:00.000Z"
}
],
"totalCampaigns": 1,
"changesDetected": 1,
"syncedAt": "2026-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": "2026-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 hierarchy depth level of the customer client to retrieve. Defaults to 1 (direct children only).

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

Confirms 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"
}
}

Get 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

The Google Ads customer IDs to filter the Local Services report. Leave empty to include all accessible customers.

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

The maximum number of results to return per page.

100
Page Token

The pagination cursor from a previous request. 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"
}
}

Get Conversion Action

Retrieve Conversion Action data for a customer account. | 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

The pagination cursor from a previous request. 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",
"queryResourceConsumption": "702"
}
}

Get Customer

Retrieve Customer data for a customer account. | 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

The pagination cursor from a previous request. 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",
"queryResourceConsumption": "80"
}
}

Get 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

The Google Ads customer IDs to filter the Local Services report. Leave empty to include all accessible customers.

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

The maximum number of results to return per page.

100
Page Token

The pagination cursor from a previous request. 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": "2026-01-15T10:30:00Z",
"leadId": "987654321",
"leadPrice": 25.5,
"messageLead": {
"customerName": "Jane Smith",
"jobType": "Pipe Repair",
"postalCode": "94105"
}
}
],
"nextPageToken": "CJL5XLT2PWDmIpGNGciABRnu"
}
}

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 Customers by Manager

List all customers under a manager account. | key: listCustomers

InputNotesExample
Connection

The Google Ads connection to use.

Fetch All

When true, automatically fetches all pages of results. 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

The pagination cursor from a previous request. 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. When using API v22+, the containsEuPoliticalAdvertising field is required for campaign creation and location targeting changes. | 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. When using API v22+, the containsEuPoliticalAdvertising field must be set on the parent campaign before modifying location or proximity targeting criteria. | 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 (/v23/customers:listAccessibleCustomers), The base URL is already included (https://googleads.googleapis.com). For example, to connect to https://googleads.googleapis.com/v23/customers:listAccessibleCustomers, only /v23/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., /v23/) to override the connection default.

/v23/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. | 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, automatically fetches all pages of results. 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

The pagination cursor from a previous request. 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",
"queryResourceConsumption": "74"
}
}

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": 3,
"message": "Multiple errors in 'conversions' field. Details are provided in the 'details' field.",
"details": [
{
"@type": "type.googleapis.com/google.ads.googleads.v23.errors.GoogleAdsFailure",
"errors": [
{
"errorCode": {
"conversionUploadError": "INVALID_CONVERSION_ACTION"
},
"message": "The conversion action specified in the request is invalid.",
"location": {
"fieldPathElements": [
{
"fieldName": "conversions",
"index": 0
},
{
"fieldName": "conversionAction"
}
]
}
}
]
}
]
},
"results": [
{
"callerId": "+18005551234",
"callStartDateTime": "2026-01-15 09:30:00-05:00",
"conversionAction": "customers/1234567890/conversionActions/987654321",
"conversionDateTime": "2026-01-15 10:30:00-05:00"
}
]
}
}

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": 3,
"message": "Multiple errors in 'conversions' field. Details are provided in the 'details' field.",
"details": [
{
"@type": "type.googleapis.com/google.ads.googleads.v23.errors.GoogleAdsFailure",
"errors": [
{
"errorCode": {
"conversionUploadError": "INVALID_CONVERSION_ACTION"
},
"message": "The conversion action specified in the request is invalid.",
"location": {
"fieldPathElements": [
{
"fieldName": "conversions",
"index": 0
},
{
"fieldName": "conversionAction"
}
]
}
}
]
}
]
},
"results": [
{
"callerId": "+18005551234",
"callStartDateTime": "2026-01-15 09:30:00-05:00",
"conversionAction": "customers/1234567890/conversionActions/987654321",
"conversionDateTime": "2026-01-15 10:30:00-05:00"
}
]
}
}

Changelog

2026-03-11

Updated default Google Ads API version from v22 to v23 and raised minimum supported version from v19 to v20:

  • Default API version updated to v23 - Default for all new connections, bringing support for Performance Max channel reporting, AI-powered audience definitions, and enhanced invoice granularity
  • Minimum supported version raised to v20 - Google sunset v19 on February 11, 2026; connections configured with v19 will now fall back to v20
  • Campaign date fields updated - Trigger queries now use campaign.start_date_time and campaign.end_date_time (v23 replaces the previous start_date/end_date fields)
  • Existing integrations using v20, v21, or v22 are unaffected and can continue using their configured version
  • Users with GAQL queries referencing CallAd, CallAdInfo, Campaign.url_expansion_opt_out, or the legacy video metric names (video_views, average_cpv, video_view_rate) should review these fields before upgrading, as they are removed or renamed in v23

2025-12-15

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