Google Ads
Connects to the Google Ads API. An agent can list campaigns and ad groups, get performance metrics and search-term reports, enable/pause campaigns, and get an account-level performance summary.
Add to an agent node's tools array with _node_type: "tool-google-ads". See Connector Reference — How connectors are used.
Authentication
| Field | Required | Description |
|---|---|---|
developer_token | Yes | Google Ads developer token, sent as the developer-token header. |
access_token | Yes (one of) | OAuth access token, sent as Authorization: Bearer <access_token>. Falls back to token if not set. Typically provided via oauth_connection_id. |
token | No | Alternate name for access_token, used if access_token is not set. |
customer_id | Yes | Google Ads customer ID (dashes are stripped automatically), e.g. 1234567890. |
manager_id | No | Manager (MCC) account ID (dashes stripped), sent as the login-customer-id header if set. |
{
"name": "google_ads",
"_node_type": "tool-google-ads",
"developer_token": "{{ secret.GOOGLE_ADS_DEVELOPER_TOKEN }}",
"customer_id": "123-456-7890",
"oauth_connection_id": "{{ connection.google_ads }}"
}
Tools
google_ads_list_campaigns
List Google Ads campaigns with their status, budget and channel type.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | Filter by status: ENABLED, PAUSED, REMOVED (empty = all active) |
limit | number | No | Max campaigns (default 50) |
Returns: A newline-separated list of [<id>] <name> status=<status> budget=$<amount>/day type=<channel type> lines, or "No campaigns found.". Excludes removed campaigns by default.
google_ads_campaign_metrics
Get performance metrics for a campaign: impressions, clicks, CTR, conversions, cost.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_id | string | Yes | Campaign resource name or ID |
days | number | No | Look-back window in days (default 30) |
Returns: A multi-line summary with the campaign name and ID, and the look-back period's impressions, clicks, CTR (%), conversions, total cost ($), and average CPC ($). Returns "No data found for campaign: <campaign_id>" if there are no results.
google_ads_list_ad_groups
List ad groups within a campaign with their status and bids.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_id | string | Yes | Campaign resource name or ID |
Returns: A newline-separated list of [<id>] <name> status=<status> bid=$<cpc bid> lines. Excludes removed ad groups.
google_ads_search_terms
Get top search terms report showing which queries triggered your ads.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
days | number | No | Look-back window in days (default 30) |
limit | number | No | Max search terms (default 25) |
Returns: A text table with columns Search Term, Impr, Clicks, Conv, Cost, sorted by clicks descending.
google_ads_update_campaign_status
Enable or pause a Google Ads campaign.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
campaign_id | string | Yes | Campaign resource name e.g. customers/123/campaigns/456 |
status | string | Yes | ENABLED or PAUSED |
Returns: A confirmation message Campaign updated. Response: <first 200 chars of API response>.
google_ads_account_summary
Get overall account performance summary across all campaigns.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
days | number | No | Look-back window in days (default 30) |
Returns: A multi-line summary with the account name and ID, and the look-back period's total impressions, clicks, conversions, and spend ($). Returns "No account data." if there are no results.