Google Ads
The 66 read-only tools Pilot MCP serves for Google Ads, taken from the server.
Pilot MCP serves 66 tools for Google Ads, all read-only. Their names start with google_. The connector's 113 write tools are not served: Pilot MCP is read-only.
Google Ads, read-only: accounts, campaigns and budgets, ad groups and assets, keywords and search terms, audiences and locations, conversions, Shopping, recommendations and experiments, and GAQL queries.
What each entry shows
The name, description and parameters come from the list the server serves to your assistant (tools/list). Descriptions are in English: this is the text your assistant receives. Your assistant never fills in platform credentials: Pilot adds them on each call.
Tool families
Audiences and locations
google_get_audience_insights
Google Ads: Get Audience Insights · read-only · idempotent
Get insights about audience performance and characteristics
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
google_get_geographic_performance
Google Ads: Get Geographic Performance · read-only · idempotent
Get performance by geographic location
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date YYYY-MM-DD, used if date_range not provided. |
end_date | string | no | End date YYYY-MM-DD, used if date_range not provided. |
campaign_id | string | no | Filter by campaign ID. |
google_get_location_performance
Google Ads: Get Location Performance · read-only · idempotent
Get geographic performance report showing metrics by location
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
campaign_id | string | no | Optional campaign ID to filter by. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date (YYYY-MM-DD), used if date_range not provided. |
end_date | string | no | End date (YYYY-MM-DD), used if date_range not provided. |
google_get_user_location_view
Google Ads: Get User Location View · read-only · idempotent
Get performance data based on actual user locations (where users were physically located when they saw ads)
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
campaign_id | string | no | Optional campaign ID to filter by. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date (YYYY-MM-DD), used if date_range not provided. |
end_date | string | no | End date (YYYY-MM-DD), used if date_range not provided. |
google_list_ad_group_audience_criteria
Google Ads: List Ad Group Audience Criteria · read-only · idempotent
List audience targeting criteria for an ad group (remarketing lists, in-market segments, custom audiences, etc.). Use this to see what audiences are currently targeted or excluded.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
ad_group_id | string | yes | Ad group ID. Use list_ad_groups to get it. |
google_list_audiences
Google Ads: List Audiences · read-only · idempotent
Lists the audiences of a Google Ads account (audience resources) with id, name, description, status and dimensions, removed ones excluded, ordered by ID, up to limit rows (default 100). User lists have their own tool, list_user_lists.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
limit | number | no | Max results. Default: 100. |
google_list_campaign_location_targets
Google Ads: List Campaign Location Targets · read-only · idempotent
List location targeting criteria for a campaign. If campaign_id is omitted, lists location targets for all campaigns.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
campaign_id | string | no | Campaign ID (optional - omit to list all campaigns). |
google_list_remarketing_actions
Google Ads: List Remarketing Actions · read-only · idempotent
List all remarketing actions (Google tag snippets) for an account. Returns id, name, tag_snippets, and resource_name.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Max results (default 50). Default: 50. |
google_list_user_lists
Google Ads: List User Lists · read-only · idempotent
List all user lists (audiences) in the account
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
list_type | string | no | Filter by type (CRM_BASED, REMARKETING, etc.). |
google_search_locations
Google Ads: Search Locations · read-only · idempotent
Search for geographic location IDs by name. Use this to find location criterion IDs for targeting.
| Parameter | Type | Required | Description |
|---|---|---|---|
location_names | string[] | no | List of location names to search for. |
query | string | no | Single location name to search for (alias for location_names[0]). |
customer_id | string | no | Google Ads customer ID (optional, not used for geo constant lookup). |
locale_code | string | no | Language code (e.g., "en_US", "fr_FR"). Default: "en_US". |
Campaigns, budgets and bidding
google_get_campaign_performance
Google Ads: Get Campaign Performance · read-only · idempotent
Get campaign performance metrics over a date range
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date YYYY-MM-DD (default: 30 days ago), used if date_range not provided. |
end_date | string | no | End date YYYY-MM-DD (default: today), used if date_range not provided. |
campaign_id | string | no | Filter by campaign ID. |
google_list_bidding_data_exclusions
Google Ads: List Bidding Data Exclusions · read-only · idempotent
List all bidding data exclusions
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
google_list_bidding_strategies
Google Ads: List Bidding Strategies · read-only · idempotent
List all portfolio bidding strategies for an account. Portfolio strategies (Target CPA, Target ROAS, Maximize Conversions) can be shared across campaigns. Use this to discover strategy IDs before assigning to a campaign.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
type_filter | string | no | Filter by strategy type (default: ALL). Values: "ALL", "TARGET_CPA", "TARGET_ROAS", "MAXIMIZE_CONVERSIONS", "MAXIMIZE_CONVERSION_VALUE", "TARGET_IMPRESSION_SHARE", "ENHANCED_CPC". Default: "ALL". |
limit | number | no | Max results (default 50). Default: 50. |
google_list_budgets
Google Ads: List Budgets · read-only · idempotent
List all campaign budgets for an account. Use this to discover budget IDs and resource names before calling create_campaign. The budget resource_name (e.g. customers/123/campaignBudgets/456) is required by create_campaign.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
include_shared | boolean | no | Include explicitly shared budgets (default true). Default: true. |
limit | number | no | Maximum number of budgets to return (default 50). Default: 50. |
google_list_campaign_bid_modifiers
Google Ads: List Campaign Bid Modifiers · read-only · idempotent
List bid modifiers for campaigns (call, interaction types). Use this to audit and manage campaign-level bid adjustments.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | no | Filter by campaign ID. Leave empty for all campaigns. |
limit | number | no | Max results (default 100). Default: 100. |
google_list_campaign_groups
Google Ads: List Campaign Groups · read-only · idempotent
List campaign groups for an account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Maximum number of results (default 100). Default: 100. |
google_list_campaign_targeting
Google Ads: List Campaign Targeting · read-only · idempotent
List campaign targeting criteria. If campaign_id is omitted, lists all campaign criteria for the account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
campaign_id | string | no | Campaign ID (optional - omit to list all campaigns). |
limit | number | no | Max results. Default: 100. |
google_list_campaigns
Google Ads: List Campaigns · read-only · idempotent
List all campaigns for an advertiser account. Use this to discover campaign IDs and resource names needed for other tools. Returns id, name, status, channel_type, budget resource_name and amount, start/end dates.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens, e.g. 7863516311). |
status_filter | string | no | Filter by status. Default: ALL (includes enabled and paused). Values: "ALL", "ENABLED", "PAUSED", "REMOVED". Default: "ALL". |
limit | number | no | Maximum number of campaigns to return (default 50). Default: 50. |
google_list_labels
Google Ads: List Labels · read-only · idempotent
List all labels for an account. Use this to discover label IDs and names before applying or removing labels. Returns id, name, status, background_color, and resource_name.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Max results (default 100). Default: 100. |
google_list_seasonality_adjustments
Google Ads: List Seasonality Adjustments · read-only · idempotent
List all seasonality adjustments
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
google_simulate_bid_change
Google Ads: Simulate Bid Change · read-only · idempotent
Simulate the effect of bid changes on a campaign or ad group. Returns projected metrics (clicks, impressions, cost) at different bid levels. Uses Google Ads campaign criterion simulations.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | yes | Campaign ID to simulate bid changes for. |
limit | number | no | Maximum number of simulation points (default 20). Default: 20. |
google_simulate_budget_change
Google Ads: Simulate Budget Change · read-only · idempotent
Simulate the effect of budget changes on a campaign. Returns projected metrics (clicks, impressions, cost, conversions) at different budget levels. Uses Google Ads campaign budget simulations.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | yes | Campaign ID to simulate budget changes for. |
limit | number | no | Maximum number of simulation points (default 20). Default: 20. |
Accounts
google_get_account_budget_summary
Google Ads: Get Account Budget Summary · read-only · idempotent
Get account budget information including approved spending limits and amounts. Returns budget details like status, amount, and spending limits.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Maximum number of budgets to return (default 10). Default: 10. |
google_get_account_info
Google Ads: Get Account Info · read-only · idempotent
Returns detailed information about a Google Ads account including account settings and a performance summary for the last 30 days. Combines account metadata (name, currency, timezone, type) with key metrics (spend, impressions, clicks, conversions). Example: get_account_info(customer_id='1234567890')
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | The Google Ads account ID. Example: '1234567890'. |
google_get_account_spend_today
Google Ads: Get Account Spend Today · read-only · idempotent
Get the total spend for the account today. Returns cost in micros (divide by 1,000,000 for currency amount). Also includes impressions and clicks for context.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
google_get_account_summary
Google Ads: Get Account Summary · read-only · idempotent
Get account-level summary metrics
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date YYYY-MM-DD, used if date_range not provided. |
end_date | string | no | End date YYYY-MM-DD, used if date_range not provided. |
google_get_change_history
Google Ads: Get Change History · read-only · idempotent
Get recent changes made to the Google Ads account. Returns change events showing what was modified, when, and by whom. Useful for auditing account activity.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Maximum number of changes to return (default 50). Default: 50. |
change_date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS. Default: "LAST_14_DAYS". |
resource_type_filter | string | no | Filter by resource type: CAMPAIGN, AD_GROUP, AD, KEYWORD, etc. |
google_get_optimization_score
Google Ads: Get Optimization Score · read-only · idempotent
Get the account optimization score from Google Ads. Returns a score between 0 and 1 indicating how well the account is optimized.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
google_list_accounts
Google Ads: List Accounts · read-only · idempotent
Lists Google Ads accounts with optimized data fetching. DEFAULT MODE (no parameters): Returns only accessible MCC accounts (manager accounts) with basic info. DETAILED MODE (with manager_customer_id): Returns direct sub-accounts of that specific MCC. Use include_nested=true to recursively fetch nested MCCs and their sub-accounts. Example: list_accounts() → returns MCCs only | list_accounts(manager_customer_id='123456') → returns sub-accounts of MCC 123456
| Parameter | Type | Required | Description |
|---|---|---|---|
manager_customer_id | string | no | If provided, returns sub-accounts of this MCC. If omitted, returns accessible MCC accounts only. |
timeout_seconds | number | no | Timeout in seconds for API calls. Default: 120. Default: 120. |
include_nested | boolean | no | If true and manager_customer_id is provided, recursively includes nested MCCs. Default: false. |
max_depth | number | no | Maximum recursion depth when include_nested is true. Default: 1 (direct only). Default: 1. |
account_id | string | no | Google Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace. |
Conversions
google_list_conversion_actions
Google Ads: List Conversion Actions · read-only · idempotent
List all conversion actions for an account. Use this to discover conversion action IDs and resource names before updating or deleting. Returns id, name, type, status, category, and resource_name.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
status_filter | string | no | Filter by status (default: ALL, excludes REMOVED). Values: "ALL", "ENABLED", "REMOVED", "HIDDEN". Default: "ALL". |
limit | number | no | Max results (default 50). Default: 50. |
google_list_conversion_actions_detailed
Google Ads: List Conversion Actions Detailed · read-only · idempotent
List conversion actions with full details including tracking status, counting type, lookback windows, value settings, and attribution model. More detailed than list_conversion_actions.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
status_filter | string | no | Filter by status (default: ALL, excludes REMOVED). Values: "ALL", "ENABLED", "REMOVED", "HIDDEN". Default: "ALL". |
limit | number | no | Max results (default 50). Default: 50. |
google_list_conversion_value_rules
Google Ads: List Conversion Value Rules · read-only · idempotent
List conversion value rules for an account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Maximum number of results (default 100). Default: 100. |
Ad groups, ads and assets
google_get_ad_performance
Google Ads: Get Ad Performance · read-only · idempotent
Get ad performance metrics
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date YYYY-MM-DD, used if date_range not provided. |
end_date | string | no | End date YYYY-MM-DD, used if date_range not provided. |
ad_group_id | string | no | Filter by ad group ID. |
google_get_ad_strength
Google Ads: Get Ad Strength · read-only · idempotent
Get ad strength and policy info for responsive search ads. If ad_id is provided, returns details for that specific ad. Otherwise lists all responsive search ads in the account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Customer ID. |
ad_id | string | no | Ad ID (optional - lists all RSAs if omitted). |
google_list_ad_group_bid_modifiers
Google Ads: List Ad Group Bid Modifiers · read-only · idempotent
List bid modifiers for ad groups (device, demographics, preferred content). Returns the modifier value and criterion type for each ad group.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | no | Filter by campaign ID (optional). |
ad_group_id | string | no | Filter by ad group ID (optional). |
limit | number | no | Max results (default 100). Default: 100. |
google_list_ad_groups
Google Ads: List Ad Groups · read-only · idempotent
List all ad groups for an account or a specific campaign. Use this to discover ad group IDs before creating ads or adding keywords. Returns id, name, status, campaign, and resource_name.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | no | Filter by campaign ID. Leave empty to list all ad groups across all campaigns. |
status_filter | string | no | Filter by status. Default: ALL (excludes REMOVED). Values: "ALL", "ENABLED", "PAUSED", "REMOVED". Default: "ALL". |
limit | number | no | Maximum number of ad groups to return (default 100). Default: 100. |
google_list_ads
Google Ads: List Ads · read-only · idempotent
List all ads for an account, campaign, or ad group. Use this to discover ad IDs before updating or deleting ads. Returns ad id, type, status, headlines, descriptions, final_urls and ad_group.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | no | Filter by campaign ID (optional). |
ad_group_id | string | no | Filter by ad group ID. Use list_ad_groups to get IDs. |
status_filter | string | no | Filter by status. Default: ALL (excludes REMOVED). Values: "ALL", "ENABLED", "PAUSED", "REMOVED". Default: "ALL". |
limit | number | no | Maximum number of ads to return (default 50). Default: 50. |
google_list_asset_group_assets
Google Ads: List Asset Group Assets · read-only · idempotent
Lists assets linked to a Performance Max asset group.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
asset_group_id | string | yes | Asset group ID. |
limit | number | no | Maximum number of assets to return (default 50). Default: 50. |
google_list_asset_groups
Google Ads: List Asset Groups · read-only · idempotent
Lists Performance Max asset groups for a given campaign.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | yes | Performance Max campaign ID. |
limit | number | no | Maximum number of asset groups to return (default 100). Default: 100. |
google_list_assets
Google Ads: List Assets · read-only · idempotent
List assets (images, text, videos, callouts, sitelinks) for an account. Use this to discover asset IDs and resource names before using them in campaigns or ad groups.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
type_filter | string | no | Filter by asset type (default: ALL). Values: "ALL", "IMAGE", "TEXT", "YOUTUBE_VIDEO", "MEDIA_BUNDLE", "CALL_TO_ACTION", "SITELINK", "CALLOUT", "STRUCTURED_SNIPPET". Default: "ALL". |
limit | number | no | Max results (default 50). Default: 50. |
google_list_campaign_assets
Google Ads: List Campaign Assets · read-only · idempotent
List assets linked to a specific campaign. Returns asset type, field type, and status for each campaign-asset association.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
campaign_id | string | no | Filter by campaign ID. Leave empty to list all. |
limit | number | no | Max results (default 100). Default: 100. |
google_list_extensions
Google Ads: List Extensions · read-only · idempotent
List all extensions (assets) in an account
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
extension_type | string | no | Filter by type (SITELINK, CALL, CALLOUT, etc.). |
limit | number | no | Max results. Default: 100. |
google_list_feed_items
Google Ads: List Feed Items · read-only · idempotent
List all items in a feed
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
feed_id | string | no | Feed ID (optional; lists all feed items if omitted). |
google_list_feeds
Google Ads: List Feeds · read-only · idempotent
List all feeds in the account
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
Keywords and search terms
google_get_keyword_ideas
Google Ads: Get Keyword Ideas · read-only · idempotent
Generate keyword ideas using Keyword Planner
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Customer ID. |
keyword_texts | string[] | no | Seed keywords (alias: keywords). |
keywords | string[] | no | Alias for keyword_texts. |
url | string | no | Website URL for ideas. |
language_id | string | no | Language ID (1000=English). Default: "1000". |
location_ids | string[] | no | Location IDs (e.g., ["2840"] for USA). |
google_get_keyword_performance
Google Ads: Get Keyword Performance · read-only · idempotent
Get keyword performance metrics
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date YYYY-MM-DD, used if date_range not provided. |
end_date | string | no | End date YYYY-MM-DD, used if date_range not provided. |
ad_group_id | string | no | Filter by ad group ID. |
google_get_search_terms_report
Google Ads: Get Search Terms Report · read-only · idempotent
Get search terms report showing actual search queries
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, LAST_90_DAYS, THIS_MONTH, LAST_MONTH. |
start_date | string | no | Start date YYYY-MM-DD, used if date_range not provided. |
end_date | string | no | End date YYYY-MM-DD, used if date_range not provided. |
campaign_id | string | no | Filter by campaign ID. |
google_list_customer_negative_criteria
Google Ads: List Customer Negative Criteria · read-only · idempotent
List account-level negative criteria (excluded sites, keywords, placements, apps). These exclusions apply to all campaigns in the account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Max results (default 100). Default: 100. |
google_list_keyword_plans
Google Ads: List Keyword Plans · read-only · idempotent
List keyword plans for an account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
limit | number | no | Maximum number of results (default 50). Default: 50. |
google_list_keywords
Google Ads: List Keywords · read-only · idempotent
List keywords, optionally filtered by ad group
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Customer ID. |
ad_group_id | string | no | Ad group ID to filter by. |
limit | number | no | Maximum number of results. Default: 100. |
google_list_shared_criteria
Google Ads: List Shared Criteria · read-only · idempotent
List negative keywords/placements in a shared set. Use list_shared_sets to get the shared_set_id first.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
shared_set_id | string | yes | Shared set ID. Use list_shared_sets to get it. |
limit | number | no | Max results (default 100). Default: 100. |
google_list_shared_sets
Google Ads: List Shared Sets · read-only · idempotent
List all shared sets in the account
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
set_type | string | no | Optional filter by type. |
Recommendations, experiments and auctions
google_get_auction_insights
Google Ads: Get Auction Insights · read-only · idempotent
Google Ads auction insights: the competitor domains in the auctions of Search and Shopping campaigns, per campaign and day, with impression share, overlap rate, outranking share, position above rate, top and absolute top impression percentages. Only Search and Shopping campaigns have them, and Google returns rows only above its privacy thresholds: an empty result comes with a warning naming the likely causes. date_range defaults to LAST_7_DAYS; campaign_ids narrows the campaigns.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID (without hyphens). |
date_range | string | no | Date range preset: LAST_7_DAYS, LAST_14_DAYS, LAST_30_DAYS, YESTERDAY, THIS_MONTH, LAST_MONTH, or 'YYYY-MM-DD,YYYY-MM-DD'. Default: LAST_7_DAYS. |
campaign_ids | string[] | no | Restrict to these campaign IDs (optional). |
google_get_recommendation_impact
Google Ads: Get Recommendation Impact · read-only · idempotent
Get detailed impact analysis for a specific recommendation
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
recommendation_resource_name | string | yes | Full resource name of the recommendation. |
google_get_recommendations
Google Ads: Get Recommendations · read-only · idempotent
Get optimization recommendations from Google Ads (KEYWORD, BUDGET, BID, AD, etc.)
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
recommendation_types | string[] | no | Optional list of types to filter by (KEYWORD, BUDGET, BID, AD). |
limit | number | no | Maximum number of results (default: 100, max: 1000). Default: 100. |
google_list_experiment_arms
Google Ads: List Experiment Arms · read-only · idempotent
List all arms for a specific Google Ads experiment.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Customer ID (without hyphens). |
experiment_resource_name | string | yes | Experiment resource name (e.g., customers/123/experiments/456). |
limit | number | no | Maximum number of arms to return (default 50). Default: 50. |
google_list_experiments
Google Ads: List Experiments · read-only · idempotent
List all experiments (A/B tests) for a Google Ads customer account.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Customer ID (without hyphens). |
limit | number | no | Maximum number of experiments to return (default 100). Default: 100. |
GAQL queries
google_autocomplete_gaql
Google Ads: Autocomplete GAQL · read-only · idempotent
Provides autocomplete suggestions for valid GAQL fields for a given resource. Returns all fields that can be selected when querying a specific resource. Example: autocomplete_gaql('campaign') returns all campaign fields, metrics, and segments. Use this to discover what fields are available before building a query.
| Parameter | Type | Required | Description |
|---|---|---|---|
resource_name | string | yes | The Google Ads resource name. Examples: 'campaign', 'ad_group', 'ad_group_criterion'. |
customer_id | string | no | Optional Google Ads customer ID to use for metadata queries. |
google_build_gaql_query
Google Ads: Build GAQL Query · read-only · idempotent
Builds a safe GAQL query from structured components to avoid syntax errors. Helps LLMs construct valid queries without memorizing GAQL syntax. Example: build_gaql_query(resource='campaign', fields=['campaign.id', 'campaign.name'], filters=[{field: 'campaign.status', op: '=', value: 'ENABLED'}], limit=10) returns a complete, validated GAQL query string ready to use with run_query.
| Parameter | Type | Required | Description |
|---|---|---|---|
resource | string | yes | The Google Ads resource to query. Examples: 'campaign', 'ad_group', 'customer'. |
fields | string[] | yes | List of fields to select. Examples: ['campaign.id', 'campaign.name', 'campaign.status']. |
date_range | string | no | Optional date range filter. Examples: 'LAST_30_DAYS', 'LAST_7_DAYS', '2024-01-01'. |
filters | object[] | no | Optional list of filter conditions. Example: [{field: 'campaign.status', op: '=', value: 'ENABLED'}]. |
order_by | string | no | Optional field to order results by. Example: 'campaign.name'. |
limit | number | no | Maximum rows to return. Default: 50, Max: 10000. Default: 50. |
account_id | string | no | Google Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace. |
google_get_resource_metadata
Google Ads: Get Resource Metadata · read-only · idempotent
Fetches detailed metadata for a Google Ads resource, field, segment, or metric. Useful for understanding what fields exist, which fields can be selected together, and validating GAQL queries. Examples: get_resource_metadata('campaign') returns all campaign fields, get_resource_metadata('metrics.clicks') returns click metric details. Use this to discover available fields when building queries.
| Parameter | Type | Required | Description |
|---|---|---|---|
resource_or_field_name | string | no | The name of the resource or field to query. Examples: 'campaign', 'ad_group', 'campaign.name', 'metrics.clicks'. |
resource_type | string | no | Alias for resource_or_field_name. |
customer_id | string | no | Optional Google Ads customer ID to use for metadata queries. |
google_lint_gaql
Google Ads: Lint GAQL · read-only · idempotent
Performs strict static analysis and validation of a GAQL query before execution. Catches common errors like missing SELECT/FROM, forbidden actions (UPDATE/DELETE), using SELECT *, missing date filters for metrics, and invalid field names. Example: lint_gaql(query='SELECT campaign.id FROM campaign') returns validation results. Always use this before run_query to catch errors early and save API quota.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | yes | The GAQL query to validate. Example: 'SELECT campaign.id, campaign.name FROM campaign'. |
account_id | string | no | Google Ads account to use when the workspace has several, as returned by the account listing tool. Default: the first account linked to the workspace. |
google_run_query
Google Ads: Run Query · read-only · idempotent
Executes a GAQL (Google Ads Query Language) query on a Google Ads account. Returns campaign, ad group, keyword, or other Google Ads data based on your query. Example: run_query(customer_id='1234567890', query='SELECT campaign.id, campaign.name FROM campaign WHERE campaign.status = ENABLED LIMIT 10') Always use GAQL syntax: 'SELECT fields FROM resource WHERE conditions LIMIT number'
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | The Google Ads account ID to query. Example: '1234567890'. |
query | string | yes | The GAQL query to execute. Example: 'SELECT campaign.id, campaign.name FROM campaign'. |
limit | number | no | Maximum number of rows to return. Default: 50. Default: 50. |
manager_customer_id | string | no | The main manager (MCC) account ID for authentication. Example: '9876543210'. |
intermediate_manager_customer_id | string | no | The intermediate manager (MCC2) account ID if applicable. For multi-level MCC hierarchies, used as login_customer_id when accessing a client under a sub-MCC. |
timeout_seconds | number | no | Query timeout in seconds. Default: 120. Default: 120. |
skip_validation | boolean | no | If true, skips pre-flight validation (not recommended). Default: false. Default: false. |
google_validate_query_google
Google Ads: Validate Query Google · read-only · idempotent
Validates a GAQL query using the Google Ads API without executing it. This performs server-side validation to check if the query is syntactically correct and semantically valid according to Google Ads API rules. Example: validate_query_google(customer_id='1234567890', query='SELECT campaign.id FROM campaign') returns validation status. Use this for final validation before run_query.
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | The Google Ads account ID to validate against. Example: '1234567890'. |
query | string | yes | The GAQL query to validate. Example: 'SELECT campaign.id, campaign.name FROM campaign'. |
Shopping and Merchant Center
google_get_shopping_performance
Google Ads: Get Shopping Performance · read-only · idempotent
Get Shopping campaign performance report with product-level metrics
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
campaign_id | string | no | Optional campaign ID to filter by. |
start_date | string | no | Start date (YYYY-MM-DD). Default: "2024-01-01". |
end_date | string | no | End date (YYYY-MM-DD). Default: "2024-12-31". |
google_list_merchant_center_links
Google Ads: List Merchant Center Links · read-only · idempotent
List all Merchant Center links for an account
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
google_list_product_groups
Google Ads: List Product Groups · read-only · idempotent
List all product groups (listing groups) in an account or ad group
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | yes | Google Ads customer ID. |
ad_group_id | string | no | Optional ad group ID to filter by. |