Skip to main content
google-ads icon

Google Ads Connector

SourceAPI DocsAPI ChangelogConnector 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 allows managing campaigns, uploading conversions, handling customer accounts, and working with Local Services ads in Google Ads.

API Documentation​

This component was built using the Google Ads API, currently utilizing v25 by default. Every version Google still supports (v22 through v25) can be selected by specifying the API Version in the connection.

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.

Google documents many common errors that will aid in troubleshooting.

Important Notes for v25​

Breaking changes introduced in v25 (from v24):

  • The legacy CustomerLifecycleGoal and CampaignLifecycleGoal resources and their services were removed. New customer acquisition goals are now configured through the Goal and CampaignGoalConfig resources
  • CustomerLifecycleOptimizationValueSettings.additional_value and additional_high_lifetime_value became members of a oneof alongside the new value_multiplier and high_lifetime_value_multiplier fields
  • Incentive services replaced their nested type fields with standalone incentive_type and offer_type enums, and ApplyIncentiveRequest.selected_incentive_id and customer_id are now required
  • LocalServicesLead.ContactDetails.email was removed
  • AdvertisingPartnerLinkInvitationProperties.allowed_domain is now required when creating advertising partner product link invitations
  • GenerateCreatorInsightsRequest.search_brand was removed. Use search_topics instead
  • Reach forecasting replaced Targeting.plannable_location_id with plannable_location_ids, and GenerateReachForecastRequest.cookie_frequency_cap with cookie_frequency_cap_setting
  • GenerateBenchmarksMetricsResponse.customer_metrics changed type from Metrics to CustomerMetrics

These v25 changes do not affect this component's actions. It does not configure lifecycle or acquisition goals, call the incentive services, request reach forecasts or creator insights, or read benchmark metrics. For full details, see the v25 release notes.

The LocalServicesLead.ContactDetails.email removal is worth noting explicitly because it sounds like it should affect this component's Local Services actions, but it does not. Account Reports and Detailed Lead Reports call the separate Local Services API at localservices.googleapis.com/v1, which versions independently of the Google Ads API and is unaffected by this change. Search Ads is unaffected for a different reason: despite its name, it calls googleAds:search on the Google Ads API itself and never reaches the Local Services API.

If a Raw Request action is used to call any of the removed or renamed fields above, those calls must be updated before moving to v25.

Because every version from v22 up is selectable, the earlier upgrade steps below still apply to anyone moving a connection forward from an older pinned version. None of them affect this component's own actions.

Breaking changes introduced in v24 (from v23):

  • videos and logo_images are now required fields on video ad types
  • Campaign-level brand safety settings were removed
  • The loyalty sign-ups user category was deprecated
  • Several keyword planning fields were removed

Breaking changes introduced in v23 (from v22):

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

EU Political Advertising Self-Declaration (v22+): Because v22 is the minimum supported version, this requirement applies to every version the component can use. 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 every Google Ads API version that Google has not yet sunset, selectable through the apiVersion connection field:

  • v25 (recommended, default): latest features and improvements
  • v24, v23: fully supported, set explicitly if an integration depends on their behavior
  • v22 (minimum supported): connections configured below this are automatically upgraded to v22

The minimum tracks Google's own sunset schedule rather than the component's default, so the floor only redirects connections that would otherwise call a retired endpoint. Versions v21 and earlier are no longer selectable. v21 sunsets in August 2026 (tentative), and v20 and earlier are already sunset, so connections pinned to them are auto-upgraded to v22. Note that v22 itself sunsets in October 2026. See the official deprecation and sunset schedule for the latest dates.

Minor releases such as v25.1 do not need to be configured here. Google automatically updates the major-version endpoint the component calls, so minor-version features become available without a component change.

Connections​

Data Manager OAuth 2.0​

key: dataManagerOAuth

This connection uses OAuth 2.0 to connect to the Google Data Manager API. Use this connection for the Ingest Offline Conversions action. A Developer Token is not required for the Data Manager API.

Prerequisites​

  • A Google Developer account with permission to manage APIs and OAuth credentials
  • A Google Ads account that owns the conversion actions to ingest into
  • The numeric Customer ID of the Google Ads account that will receive the offline conversions (configured per-action, not on the connection)

Setup Steps​

  1. Sign in to the Google Cloud Console and select or create a project.
  2. Select APIs & Services -> Enabled APIs & services from the left hand menu.
  3. Click Enable APIs and Services at the top of the screen.
  4. Search for "data manager api" and select Data Manager API in the results.
  5. Click the Enable button to add the API to the project.
  6. From the sidebar, select Credentials.
  7. An OAuth 2.0 app requires 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, and authorized domain.
    3. On the next page, add the https://www.googleapis.com/auth/datamanager scope to the app.
    4. Enter 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.
  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​

Create a connection of type Data Manager OAuth 2.0 and provide the following values:

  • Client ID: From the Google Cloud Console OAuth client credentials
  • Client Secret: From the Google Cloud Console OAuth client credentials
  • API Version: The Google Data Manager API version to use. Defaults to v1. Refer to the Data Manager API reference for the latest version.

After entering the credentials, authorize the connection by signing in with the Google account that has access to the target Google Ads account.

No Developer Token

The Data Manager API does not use a Developer Token. The developer-token header is not sent on requests made by this connection.

Supported API Versions​

The component supports the following Google Data Manager API versions through the API Version connection field:

VersionStatus
v1Recommended (default)

Refer to the official Data Manager API release notes for the latest version information.

App Verification​

Google requires OAuth apps that request access to user data to pass a verification review before being deployed at scale. This process ensures the app complies with Google's API Services User Data Policy, accurately represents its functionality, and handles user data responsibly.

Google OAuth apps pass through three stages before they are ready for production use.

Testing (unpublished): The app is only accessible to users manually added as test users in the OAuth consent screen. Up to 100 test users are allowed. All other users receive an error. This is the expected state during initial development.

Published, unverified: After publishing the app, all Google users can authenticate. However, for sensitive scopes, users see a "This app isn't verified" warning. Users can proceed by clicking Advanced -> Go to [app name] (unsafe), but this warning reduces trust and may be blocked by organizations with strict Google Workspace policies.

Verified: Google has reviewed and approved the app. No warning is shown. Verification is required before deploying to production users.

Publishing the App​

Publishing is required before any users outside the test list can authenticate:

  1. In the Google Cloud Console, navigate to APIs & Services -> OAuth consent screen
  2. Click PUBLISH APP and confirm

Requesting Verification​

The datamanager scope used by this connection is classified as sensitive by Google. Submitting for verification removes the "This app isn't verified" warning:

  1. On the OAuth consent screen, click Prepare for verification
  2. Provide a privacy policy URL, authorized domain, and app logo
  3. Submit for review. Google typically responds within several weeks.

Refer to Google's OAuth consent screen documentation for the full verification requirements.

Verify Connection​

Save the integration to authenticate. After authorizing, run the Ingest Offline Conversions action with Validate Only enabled to confirm the connection and payload are valid without ingesting live data.

InputNotesExample
API Version

The version of the Google Data Manager API to use. Defaults to v1. See API reference.

v1
Authorize URL

The OAuth 2.0 Authorization URL for the Google Data Manager 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 Data Manager API application. Obtain from the Google Cloud Console.

123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
Client Secret

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

GOCSPX-abcdefghijklmnopqrstuvwxyz
Scopes

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

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

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

https://oauth2.googleapis.com/token

OAuth 2.0​

key: oauth

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

Prerequisites​

  • The Google Cloud project that owns the OAuth credentials must have Google Ads API access. Google grants API access levels to the project; a Developer Token is no longer needed
  • The Customer ID of the Ads Manager account (the hyphenated number in the top-right corner of the Ads app) must be noted
  • A Google Developer account is required

Setup Steps​

  1. Sign in to Google Ads with the Google account that will be used for the integration
  2. 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. Open the Google Ads API Overview page of the project and check the access level it displays. A project at Test access can only reach test accounts; under Upgrade access level, apply for Explorer or a higher level to reach production accounts. Refer to Google's access levels documentation for the limits and review process of each level.
  7. On the sidebar, select Credentials.
  8. 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.
  9. Once the "Consent Screen" is configured, open the Credentials page from the sidebar again.
  10. 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.
  11. Take note of the Client ID and Client Secret that are generated.

Configure the Connection​

Create a connection of type OAuth 2.0 and provide the following values:

  • Client ID: From the Google Cloud Console OAuth client credentials
  • Client Secret: From the Google Cloud Console OAuth client credentials
  • Developer Token: Leave blank. Google sunset developer tokens on September 9, 2026. Existing connections with a saved token keep working; the token is not sent with any request.
  • API Version: The Google Ads API version to use. Refer to the Google Ads API release notes for the latest version.
  • Scopes: Defaults to https://www.googleapis.com/auth/adwords. Refer to Google's OAuth 2.0 scopes documentation for additional scope information.

Supported API Versions​

The component supports the following Google Ads API versions through the API Version connection field. Versions below the minimum are automatically upgraded to the minimum supported version.

The minimum tracks Google's own sunset schedule, so every version Google still supports can be selected here.

VersionStatus in this componentGoogle Sunset
v25Recommended (default)August 2027
v24SupportedMay 2027
v23SupportedFebruary 2027
v22Supported (minimum)October 2026 (tentative)
v21 and earlierNot selectable: auto-upgraded to v22v21: August 2026 (tentative) · v20 and earlier: already sunset

Because v22 is the minimum, the EU Political Advertising self-declaration requirement (v22 and later) applies to every version this component can use.

Google publishes nearer-term sunsets as tentative and firms them up closer to the date, so treat these as subject to change. v22 in particular retires in October 2026. Minor releases (for example v25.1) do not need to be selected here; Google updates the major-version endpoint automatically. 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 OAuth credentials.

Passkey Requirement​

Beginning August 5, 2026, Google requires a passkey to authorize new Google Ads API access. Passwords alone and 2-factor methods such as authenticator app codes or SMS codes are no longer accepted for this step.

What this means when setting up a connection:

  • Existing connections keep working. Refresh tokens issued before this change continue to function, and no reauthorization is prompted.
  • New authorizations require a passkey. Anyone authorizing the connection for the first time is prompted to create one if their account does not already have it.
  • Plan for a delay. A newly created passkey may take up to 7 days to become trusted and usable. Create the passkey in advance of configuring the connection to avoid being blocked mid-setup.

To create a passkey, visit Google's passkeys page, then follow the prompts for the device being used. Full details are in Google's announcement.

App Verification​

Google requires OAuth apps that request access to user data to pass a verification review before being deployed at scale. This process ensures the app complies with Google's API Services User Data Policy, accurately represents its functionality, and handles user data responsibly.

Google OAuth apps pass through three stages before they are ready for production use.

Testing (unpublished): The app is only accessible to users manually added as test users in the OAuth consent screen. Up to 100 test users are allowed. All other users receive an error. This is the expected state during initial development.

Published, unverified: After publishing the app, all Google users can authenticate. However, for sensitive scopes, users see a "This app isn't verified" warning. Users can proceed by clicking Advanced → Go to [app name] (unsafe), but this warning reduces trust and may be blocked by organizations with strict Google Workspace policies.

Verified: Google has reviewed and approved the app. No warning is shown. Verification is required before deploying to production users.

Publishing the App​

Publishing is required before any users outside the test list can authenticate:

  1. In the Google Cloud Console, navigate to APIs & Services → OAuth consent screen
  2. Click PUBLISH APP and confirm

Requesting Verification​

The scopes used by this component are classified as sensitive by Google. Submitting for verification removes the "This app isn't verified" warning:

  1. On the OAuth consent screen, click Prepare for verification
  2. Provide a privacy policy URL, authorized domain, and app logo
  3. Submit for review. Google typically responds within several weeks

Refer to Google's OAuth consent screen documentation for the full verification requirements.

InputNotesExample
API Version

The version of the Google Ads API to use. Defaults to v25. Any version from v22 through v25 can be set explicitly; anything below v22 has already been sunset by Google and is automatically upgraded to v22. Note: v22 sunsets in October 2026. See API versions documentation.

v25
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

Leave blank. Google sunset developer tokens on September 9, 2026, and API access is now granted to the Google Cloud project that owns the OAuth credentials. A saved token is not sent to the Google Ads API.

ABcdeFGH93KL-NOPQ_RsTuv
Scopes

Space-separated OAuth 2.0 permission scopes for the Google Ads and Data Manager APIs. See OAuth scopes documentation.

https://www.googleapis.com/auth/adwords https://www.googleapis.com/auth/datamanager
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 Google Ads account modifications with user attribution on a configured schedule. | key: changeHistoryTrigger

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

The unique identifier for 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
Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync's change_event query starts from this date (clamped to Google's 30-day change_event window) instead of one hour before the first run.

2026-01-01
Manager Customer ID

The unique identifier for 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.

The optional Look-back Date input seeds a one-time historical backfill: on the very first run (no polling state yet), the trigger queries change_event rows from that date forward instead of the default one hour. It has no effect once polling state exists, and Google's change_event window still caps how far back a query can reach to the past 30 days.

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. Once the window is exhausted, store its end as the position for the next recurrence

Batching

Batching is enabled per flow on this trigger: each change event is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Google Ads.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off a downstream step reads body.data.changes. With batching on that field does not exist: each execution receives one { "changeType": ..., "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled, or it breaks the moment the switch is flipped. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.

The trigger reads change events oldest first, in pages of at most 10,000 (1,000 with batching on), from a window whose end is fixed when it opens. A window holding more drains within the same recurrence with batching on, or one page per recurrence with batching off, each page resuming where the last stopped, so a backlog larger than one page is not truncated. When batching is enabled, each execution receives one item:

Batched execution payload
{
"changeType": "created",
"record": {
"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",
"resourceChangeOperation": "CREATE"
}
}
}

Returned Data​

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

Fields shown are representative. The full response object includes additional properties.

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"
}
}
}
Example Payload for Account Change History⤓
Loading…

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

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. Use a client account; manager accounts return no metrics. See Customer ID documentation.

111-222-4444
Include Shared Budgets

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

true
Manager Customer ID

The unique identifier for 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

Batching

Batching is enabled per flow on this trigger: each budget alert is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Google Ads.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off a downstream step reads body.data.alerts. With batching on that field does not exist: each execution receives one { "changeType": ..., "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled, or it breaks the moment the switch is flipped. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.

Batching splits the executions, not the fetch: the trigger still retrieves the full set of budget alerts in a single poll before any dispatching happens. When batching is enabled, each execution receives one item:

Batched execution payload
{
"changeType": "warning",
"record": {
"campaignId": "23302011123",
"campaignName": "Example-Campaign-1",
"budgetAmount": 100,
"spent": 85,
"percentSpent": 85,
"remaining": 15,
"period": "DAILY",
"shouldAlert": true,
"severity": "warning",
"message": "Campaign approaching daily budget limit"
}
}

Severity Levels​

Budget alerts are classified by severity:

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

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

Returned Data​

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

Fields shown are representative. The full response object includes additional properties.

View example response
{
"data": {
"alerts": [
{
"campaignId": "23302011123",
"campaignName": "Example-Campaign-1",
"budgetAmount": 100,
"spent": 85,
"percentSpent": 85,
"remaining": 15,
"period": "DAILY",
"shouldAlert": true,
"severity": "warning",
"message": "Campaign approaching daily budget limit"
}
],
"totalCampaignsMonitored": 10,
"alertThreshold": 80
}
}
Example Payload for Campaign Budget Alerts⤓
Loading…

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. The Campaign Settings option is not yet implemented and currently has no effect; no settings fields are evaluated.

Connection

The Google Ads connection to use.

Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync's change_event query starts from this date (clamped to Google's 30-day change_event window) instead of one hour before the first run.

2026-01-01
Manager Customer ID

The unique identifier for 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 reading each change directly from Google's own change history rather than storing a snapshot of campaign state to diff against.

This trigger uses the Google Ads Change Event resource to query campaign and campaign budget changes. Each change_event row carries its own before-and-after values, so the trigger's polling state stays a timestamp cursor rather than a snapshot of every campaign.

The Change Types to Monitor input's Campaign Settings option is not yet implemented: selecting it has no effect, since no settings fields are currently evaluated for changes. Only status, budget, and bidding strategy changes are detected.

The optional Look-back Date input seeds a one-time historical backfill: on the very first run (no polling state yet), the trigger queries change_event rows from that date forward instead of the default one hour. It has no effect once polling state exists, and Google's change_event window still caps how far back a query can reach to the past 30 days.

How It Works​

  1. Run on the configured schedule (e.g., every 15 minutes)
  2. Query the change_event resource for campaign and campaign budget modifications since the last poll using Google Ads Query Language
  3. Read the old and new values directly from each change_event row's before-and-after fields
  4. Categorize changes as "created", "status", "budget", "bidding", or "deleted"
  5. Once the window is exhausted, store its end as the position for the next recurrence

Batching

Batching is enabled per flow on this trigger: each campaign change is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Google Ads.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.

With batching off a downstream step reads body.data.changes. With batching on that field does not exist: each execution receives one { "changeType": ..., "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled, or it breaks the moment the switch is flipped. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.

The trigger reads change events oldest first, in pages of at most 10,000 (1,000 with batching on), from a window whose end is fixed when it opens. A window holding more drains within the same recurrence with batching on, or one page per recurrence with batching off, each page resuming where the last stopped, so a backlog larger than one page is not truncated. When batching is enabled, each execution receives one item:

Batched execution payload
{
"changeType": "budget",
"record": {
"changeType": "budget",
"campaignId": "12345678901",
"campaignName": "Example-Campaign-1",
"field": "budget_amount_micros",
"oldValue": "50000000",
"newValue": "75000000",
"changedAt": "2026-01-01 12:05:00"
}
}

Returned Data​

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

Fields shown are representative. The full response object includes additional properties.

View example response
{
"data": {
"changes": [
{
"changeType": "created",
"campaignId": "12345678901",
"campaignName": "Example-Campaign-1",
"field": "campaign",
"oldValue": null,
"newValue": {
"resourceName": "customers/1234567890/campaigns/12345678901",
"status": "ENABLED",
"name": "Example-Campaign-1",
"id": "12345678901"
},
"changedAt": "2026-01-01 12:00:00"
},
{
"changeType": "budget",
"campaignId": "12345678901",
"campaignName": "Example-Campaign-1",
"field": "budget_amount_micros",
"oldValue": "50000000",
"newValue": "75000000",
"changedAt": "2026-01-01 12:05:00"
}
],
"changesDetected": 2,
"timeRange": {
"start": "2026-01-01 11:00:00",
"end": "2026-01-01 12:10:00"
},
"syncedAt": "2026-01-01 12:10:00"
}
}
Example Payload for New and Updated Campaigns⤓
Loading…

Data Sources​

List Accessible Customers​

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

InputNotesExample
Connection

The Google Ads connection to use.

Example Payload for List Accessible Customers⤓
Loading…

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

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Example Payload for List Accessible Sub Accounts⤓
Loading…

Actions​

Confirms a pending customer client link. | key: confirmClientLink

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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
Example Payload for Confirm Client Link⤓
Loading…

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

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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
Example Payload for Create Client Link⤓
Loading…

Get Account Reports​

Retrieves account reports showing performance and metrics for Local Services accounts linked to 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.

End Date

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

12-31-2025
Manager Customer ID

The unique identifier for 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
Pagination

Page size and cursor controls for the result set.

Start Date

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

01-01-2025
Example Payload for Get Account Reports⤓
Loading…

Get Conversion Action​

Retrieve Conversion Action data for a customer account. | key: getConversionAction

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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
Example Payload for Get Conversion Action⤓
Loading…

Get Customer​

Retrieve Customer data for a customer account. | key: getCustomer

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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
Example Payload for Get Customer⤓
Loading…

Get Detailed Lead Reports​

Retrieves detailed lead reports providing an in-depth view of leads for Local Services accounts linked to 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.

End Date

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

12-31-2025
Manager Customer ID

The unique identifier for 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
Pagination

Page size and cursor controls for the result set.

Start Date

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

01-01-2025
Example Payload for Get Detailed Lead Reports⤓
Loading…

Ingest Offline Conversions​

Import offline conversion events into Google Ads using the Data Manager API. | key: ingestOfflineConversions

InputNotesExample
Connection

The Google Ads connection to use.

Destinations

The array of destinations that describe where each event should be ingested. See Destination reference.

[
  {
    "operatingAccount": {
      "accountType": "GOOGLE_ADS",
      "accountId": "1234567890"
    },
    "productDestinationId": "987654321"
  }
]
Hash Encoding

The encoding format to select for hashed user data fields (such as email or phone). Required when userData fields are included in events.

HEX
Events

The array of conversion events to ingest (max 2000 per request). See Event resource.

[
  {
    "eventTimestamp": "2026-05-15T12:30:00Z",
    "transactionId": "ORDER-2026-00123",
    "adIdentifiers": {
      "gclid": "CjwKCAjw1234567890abcdefGHIJKLmnoPQRStuvwxyz"
    },
    "conversionValue": 149.99,
    "currency": "USD",
    "consent": {
      "adUserData": "CONSENT_GRANTED",
      "adPersonalization": "CONSENT_GRANTED"
    }
  }
]
Validate Only

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

false
Example Payload for Ingest Offline Conversions⤓
Loading…

Invite User​

Invites 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

The unique identifier for 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
Example Payload for Invite User⤓
Loading…

List Accessible Customers​

Gets a list of customers accessible to the authenticated user. | key: listAccessibleCustomers

InputNotesExample
Connection

The Google Ads connection to use.

Example Payload for List Accessible Customers⤓
Loading…

List Customers by Manager​

Lists 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

The unique identifier for 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
Example Payload for List Customers by Manager⤓
Loading…

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

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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.

[
  {
    "updateMask": "status,name",
    "create": {
      "name": "Example Campaign",
      "advertisingChannelType": "SEARCH",
      "status": "PAUSED",
      "campaignBudget": "customers/1234567890/campaignBudgets/9876543210"
    },
    "update": {
      "resourceName": "customers/1234567890/campaigns/1122334455",
      "status": "ENABLED"
    },
    "remove": "customers/1234567890/campaigns/1122334455"
  }
]
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
Example Payload for Mutate Campaign⤓
Loading…

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

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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 create, update, or remove individual campaign criteria. See Campaign criterion operations documentation.

[
  {
    "updateMask": "bidModifier",
    "create": {
      "campaign": "customers/1234567890/campaigns/1122334455",
      "location": {
        "geoTargetConstant": "geoTargetConstants/1014044"
      }
    },
    "update": {
      "resourceName": "customers/1234567890/campaignCriteria/1122334455~987654321",
      "bidModifier": 1.5
    },
    "remove": "customers/1234567890/campaignCriteria/1122334455~987654321"
  }
]
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
Example Payload for Mutate Campaign Criteria⤓
Loading…

Raw Request​

Sends a raw HTTP request to the Google Ads API. | 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 (/v25/customers:listAccessibleCustomers), The base URL is already included (https://googleads.googleapis.com). For example, to connect to https://googleads.googleapis.com/v25/customers:listAccessibleCustomers, only /v25/customers:listAccessibleCustomers is entered in this field. Note: When using the Raw Request action, the API version must be specified in the path (e.g., /v25/) to override the connection default.

/v25/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
Example Payload for Raw Request⤓
Loading…

Search Ads​

Returns rows matching a GAQL query against Google Ads resources. | key: searchAdsLocalServices

InputNotesExample
Connection

The Google Ads connection to use.

Customer ID

The unique identifier for 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

The unique identifier for 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
Example Payload for Search Ads⤓
Loading…

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 call conversions to upload, each identifying the call by caller ID and call start time. See Call conversions documentation.

[
  {
    "callerId": "+16505550100",
    "callStartDateTime": "2026-01-15 10:00:00-05:00",
    "conversionAction": "customers/1234567890/conversionActions/987654321",
    "conversionDateTime": "2026-01-15 10:30:00-05:00",
    "conversionValue": 149.99,
    "currencyCode": "USD",
    "consent": {
      "adUserData": "GRANTED",
      "adPersonalization": "GRANTED"
    },
    "customVariables": [
      {
        "conversionCustomVariable": "customers/1234567890/conversionCustomVariables/111222333",
        "value": "premium"
      }
    ]
  }
]
Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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
Example Payload for Upload Call Conversions⤓
Loading…

Upload Click Conversions​

Upload offline click conversions into Google Ads in order to track ads that led to sales. Developer tokens that have not sent an offline conversion upload request between December 17, 2025 and June 15, 2026 will lose access to this endpoint; new integrations should use Ingest Offline Conversions (Data Manager API) instead. | key: uploadClickConversions

InputNotesExample
Connection

The Google Ads connection to use.

Conversions

The click conversions to upload, each identifying the click (for example, by GCLID) and the conversion action, time, and value. See Offline conversions documentation.

[
  {
    "gbraid": "CjwKCAjwABCDEF1234567890ghijklMNOPQRstuvwxyz",
    "wbraid": "CjwKCAjwZYXWVU0987654321LKJIHGfedcbaSTUVWXqr",
    "externalAttributionData": {
      "externalAttributionCredit": 0.75,
      "externalAttributionModel": "LINEAR"
    },
    "customVariables": [
      {
        "conversionCustomVariable": "customers/1234567890/conversionCustomVariables/11111",
        "value": "premium_tier"
      }
    ],
    "cartData": {
      "merchantId": "1234567",
      "feedCountryCode": "US",
      "feedLanguageCode": "EN",
      "localTransactionCost": 5.99,
      "items": [
        {
          "productId": "SKU-12345",
          "quantity": 2,
          "unitPrice": 49.99
        }
      ]
    },
    "userIdentifiers": [
      {
        "userIdentifierSource": "FIRST_PARTY",
        "hashedEmail": "a1159e9df3670d549d04524532629f5477ceb7deec9b45e47e8c009506ecb2c8",
        "hashedPhoneNumber": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "mobileId": "cdda802e-fb9c-47ad-0794d394c913",
        "thirdPartyUserId": "ext-user-98765",
        "addressInfo": {
          "hashedFirstName": "a8cfcd74832004951b4408cdb0a5dbcd8c7e52d43f7fe244bf720582e05241da",
          "hashedLastName": "2c624232cdd221771294dfbb310aca000a0df6ac8b166e8b32c4bdc2a5a5cc0a",
          "city": "San Francisco",
          "state": "CA",
          "countryCode": "US",
          "postalCode": "94105",
          "hashedStreetAddress": "d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35"
        }
      }
    ],
    "conversionEnvironment": "WEB",
    "consent": {
      "adUserData": "GRANTED",
      "adPersonalization": "GRANTED"
    },
    "gclid": "CjwKCAjw1234567890abcdefGHIJKLmnoPQRStuvwxyz",
    "conversionAction": "customers/1234567890/conversionActions/987654321",
    "conversionDateTime": "2026-01-15 10:30:00-05:00",
    "conversionValue": 149.99,
    "currencyCode": "USD",
    "orderId": "ORDER-2026-00123"
  }
]
Customer ID

The unique identifier for the Google Ads client account. Accepts hyphenated or number forms. See Customer ID documentation.

111-222-4444
Manager Customer ID

The unique identifier for 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
Example Payload for Upload Click Conversions⤓
Loading…

Changelog​

2026-10-07​

Updated the component for Google's developer token sunset, added an initial sync to the change history triggers, and fixed several trigger, action, and data source issues:

  • Updated the OAuth 2.0 connection so Developer Token is optional and no longer sent with any request, following Google's September 9, 2026 developer token sunset; the connection setup guidance now describes Google Cloud project access levels instead of the API Center
  • Added an optional Look-back Date input on the New and Updated Campaigns and Account Change History triggers for performing an initial sync of changes. The initial sync begins on the first recurrence and backfills every change made on or after the specified date, up to Google's 30-day change history window, seeding each once; without batching, a large backfill can span several recurrences before normal polling resumes. Leave it empty to start from one hour before the first recurrence
  • Fixed the New and Updated Campaigns and Account Change History triggers losing the oldest changes when a recurrence found more than a single query returns (10,000 changes and 1,000 changes respectively); changes are now read oldest first and the remainder is delivered on the following recurrences, or within the same recurrence when batching is enabled
  • Fixed New and Updated Campaigns reporting only created and removed campaigns when Change Types to Monitor is left empty; an empty selection now detects all change types as documented, so flows that leave it empty also receive status, bidding strategy, and budget changes
  • Updated New and Updated Campaigns to report a missing oldValue or newValue as null instead of omitting the field
  • Fixed Account Change History failing every recurrence when Resource Types includes Keywords, or once more than 30 days passed without a successful recurrence; Keywords now returns ad group criterion changes, which include keyword changes, and the query start is limited to Google's 30-day change history window
  • Fixed Campaign Budget Alerts ignoring Include Shared Budgets when turned off, comparing daily budgets against spend accumulated since the last recurrence (which could include earlier days) instead of today's spend, and omitting alertThreshold when Alert Threshold (%) is left empty; the default threshold is now reported
  • Fixed Get Account Reports and Get Detailed Lead Reports sending invalid date values when Start Date or End Date is left empty; an empty date is now omitted from the request
  • Fixed Search Ads sending Return Total Results Count as a request field the Google Ads API does not recognize; it is now sent in the search settings, so the total count is returned
  • Fixed the List Accessible Sub Accounts data source failing when Customer Client Level is left empty; it now defaults to level 1
  • Updated the Upload Click Conversions description to state that only developer tokens with no offline conversion upload between December 17, 2025 and June 15, 2026 lose access to the endpoint, rather than the action stopping for everyone after June 15, 2026

2026-08-31​

Updated the component to Google Ads API v25 with reworked campaign change detection and opt-in batching across all polling triggers:

  • Updated the default API version for new connections to v25, matching Google's current major release; updated the minimum supported version to v22, so v22 through v25 are all selectable and connections pinned below v22 are automatically upgraded
  • Updated the New and Updated Campaigns trigger to read the Google Ads change history instead of storing a copy of every campaign between recurrences, a breaking change; totalCampaigns is no longer returned, oldValue and newValue now carry the campaign resource directly rather than wrapped in a query row, a timeRange object was added alongside syncedAt, and detection is bounded by Google's 30-day change history window
  • Added opt-in batching to the New and Updated Campaigns, Account Change History, and Campaign Budget Alerts triggers, dispatching each record individually or in configured batches so large backlogs drain in one recurrence; enabling it changes the shape a downstream step receives
  • Updated Get Account Reports and Get Detailed Lead Reports to group their Page Size and Page Token inputs into a Pagination structured object
  • Added connection setup guidance for Google's passkey requirement; from August 5, 2026 a passkey is required to authorize new Google Ads API access, and a new passkey can take up to 7 days to become usable
  • Added output schemas to 14 actions for improved field mapping during configuration
  • Added inline action calling support across all actions for improved example output during configuration

2026-06-26​

Enabled the OAuth 2.0 connection to drive both the Google Ads and Data Manager APIs from a single connection.

  • Exposed the Scopes field so integration builders can append the Data Manager scope (https://www.googleapis.com/auth/datamanager) to the existing Ads scope. The default remains the Ads scope only, so Ads-only integrations are unaffected.
  • Extended createDataManagerClient to accept the unified OAuth 2.0 connection in addition to the dedicated Data Manager OAuth 2.0 connection. When the OAuth 2.0 connection is used, the Data Manager API version is pinned to v1.

Builders who opt in by adding the Data Manager scope will trigger a one-time re-consent for affected end-users, as the granted scope set changes.

2026-05-22​

Added Ingest Offline Conversions action using the Google Ads Data Manager API to replace the deprecated Upload Click Conversions action, which will stop accepting requests after June 15, 2026.

This action uses a new dedicated Data Manager OAuth 2.0 connection, separate from the existing Google Ads OAuth connection:

  • No Developer Token required — the Data Manager API does not use the developer-token header
  • Configurable API version — defaults to v1
  • Scoped to the Data Manager API only — does not affect existing Google Ads OAuth connections

2026-05-11​

Raised minimum supported Google Ads API version from v20 to v21 ahead of v20's June 2026 sunset. Connections explicitly configured for v20 will be auto-upgraded to v21 by the existing validateApiVersion floor check.

2026-04-30​

Various modernizations and documentation updates

2026-03-31​

Various modernizations and documentation updates

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 unaffected — connections using v20, v21, or v22 can continue using their configured version.
  • GAQL query review recommended — users with 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 — applied to all new connections.
  • EU Political Advertising field required — campaign creation and location targeting now require the Contains EU Political Advertising field when using v22.
  • Existing integrations unaffected — connections 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