Google Ads Component
Manage campaigns, conversions, customers, and local services in Google Ads.
Component key: google-ads
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 advertisingDOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING- Campaign does not contain EU political advertisingUNSPECIFIEDorUNKNOWN- 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:
- Sign in to Google Ads with the Google account that will be used for the integration
- Click Tools & Settings in the top right corner
- Under Setup, click API Center
- In the Developer token section, click Create token or view the existing token
- Copy and save the Developer Token value securely
- 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
- Access the project selector in the top-left and select an existing project or create a new one.
- Select APIs & Services -> Enabled APIs & services from the left hand menu
- Click Enable APIs and Services towards the top of the screen
- Search for "google ads api" and select Google Ads API in the results (avoid selecting AdWords as that is deprecated)
- Click the Enable button to add the API to the project
- On the sidebar, select Credentials.
- An OAuth 2.0 app includes a "Consent Screen". Click CONFIGURE CONSENT SCREEN.
- The app will be externally available to customers, so choose a User Type of External.
- Fill out the OAuth consent screen with an app name, support email, app logo, domain, etc.
- On the next page, add the
https://www.googleapis.com/auth/adwordsscope to the app. - 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.
- Once the "Consent Screen" is configured, open the Credentials page from the sidebar again.
- Click +CREATE CREDENTIALS and select OAuth client ID.
- Under Application type select Web application.
- Under Authorized redirect URIs enter the OAuth 2.0 callback URL:
https://oauth2.prismatic.io/callback - Click CREATE.
- 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:
| Version | Status | Tentative Sunset |
|---|---|---|
| v22 | Recommended (default) | October 2026 |
| v21 | Stable | August 2026 |
| v20 | Stable | June 2026 |
| v19 | Legacy | February 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.
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
- Run on the configured schedule (e.g., every 15 minutes)
- Query the change_event resource for modifications since the last poll
- Return change details including what changed, who made the change, and when
- 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-4444or1112224444)
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
| Input | Notes | Example |
|---|---|---|
| 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
- Run on the configured schedule (e.g., every 15 minutes)
- Query all enabled campaigns with their budget and cost metrics
- Calculate spending percentage, remaining budget, and severity level for each campaign
- 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-4444or1112224444)
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
| Input | Notes | Example |
|---|---|---|
| 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
- Run on the configured schedule (e.g., every 15 minutes)
- Query campaigns modified since the last poll using Google Ads Query Language
- Compare current campaign data against stored state to identify changes
- Categorize changes as "created", "updated", or "deleted"
- 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-4444or1112224444)
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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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 Client Link
Confirm a pending customer client link | key: confirmClientLink
| Input | Notes | Example |
|---|---|---|
| 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 Client Link
Create an invitation to link a client account to a manager account | key: createClientLink
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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