Skip to content

Reference

Google Ads tools

Full campaign management for Google Ads with GAQL queries, keyword research, and campaign mutations.

Markdown
On this page

Before you begin

Connect the relevant Google Ads account through Accounts, then connect your AI assistant. Confirm the target account and date range before querying data or making changes.

This is the generated catalog. The tools shown in your AI assistant depend on your connected accounts, active workspace, role, write permissions, enabled features and the client's supported tool surface. A listed tool is not a promise that it is enabled in every workspace. See accounts, workspace access and troubleshooting.

Available tools

5 tools · API v25.

ToolAccessPurpose
google_ads_list_accountsReadList all Google Ads accounts you have access to
google_ads_run_gaqlReadRun a Google Ads Query Language (GAQL) query
google_ads_run_keyword_plannerReadGet keyword ideas and search volume data
google_ads_mutateWriteCreate, update, or remove campaigns, ad groups, ads, and keywords
google_ads_uploadWriteUpload staged Google Ads images/videos, or inspect the exact recorded media.

Write tools can change account settings, campaigns or workspace content. Confirm the target and proposed changes before running them.

Private local uploads support Meta, TikTok, LinkedIn and Google Ads. Your workspace needs upload access to the destination, and your AI client needs file access and HTTP upload. JPEG/PNG images up to 20 MB (20,000,000 bytes) and MP4 videos up to 500 MB (500,000,000 bytes) are supported by the upload flow; destination-specific restrictions still apply. Existing account-library IDs remain available. Read the upload guide before uploading.

Example questions

List my Google Ads accounts

Find keyword ideas for 'marketing automation'

Show campaign performance for the last 30 days

What keywords have the best quality score?

Compare performance across my search campaigns

More example questions.

API capabilities

Available fields and combinations depend on the resource, account and campaign type. Adapt the examples to your selected account.

Metrics

CategoryFields
Trafficimpressions, clicks, ctr, cost_micros, average_cpc, average_cpm
Conversionconversions, conversions_value, conversions_by_conversion_date, all_conversions, view_through_conversions, cross_device_conversions
Engagementengagements, engagement_rate, interactions, interaction_rate
Videovideo_views, video_view_rate, video_quartile_p25_rate, video_quartile_p50_rate, video_quartile_p75_rate, video_quartile_p100_rate
Quality & Competitionsearch_impression_share, search_top_impression_share, search_absolute_top_impression_share, content_impression_share, search_budget_lost_impression_share, search_rank_lost_impression_share
Biddingaverage_cost, cost_per_conversion, cost_per_all_conversions, value_per_conversion, value_per_all_conversions, optimization_score_uplift

Dimensions

CategoryFields
Timesegments.date, segments.day_of_week, segments.hour, segments.month, segments.quarter, segments.year, segments.week
Device & Networksegments.device, segments.ad_network_type, segments.click_type
Conversionsegments.conversion_action, segments.conversion_action_category, segments.external_conversion_source
Geographicsegments.geo_target_city, segments.geo_target_metro, segments.geo_target_region
Shoppingsegments.product_channel, segments.product_item_id
Searchsegments.search_term_match_type

Query examples

Bidding Strategy Effectiveness Analysis

Compare campaign bidding strategies. Calculate ROAS after retrieval as conversions_value / (cost_micros / 1,000,000); leave ROAS undefined when cost is zero.

Tool: google_ads_run_gaql.

SELECT
  campaign.id,
  campaign.name,
  campaign.bidding_strategy_type,
  bidding_strategy.name,
  campaign.target_cpa.target_cpa_micros,
  campaign.target_roas.target_roas,
  metrics.impressions,
  metrics.clicks,
  metrics.conversions,
  metrics.cost_per_conversion,
  metrics.conversions_value,
  metrics.cost_micros
FROM campaign
WHERE
  campaign.status = 'ENABLED'
  AND segments.date DURING LAST_30_DAYS
  AND metrics.impressions > 100
ORDER BY metrics.conversions DESC

Search Term Discovery & Negative Keyword Mining

Find search terms that cost money but don't convert - candidates for negative keywords

Tool: google_ads_run_gaql.

SELECT
  search_term_view.search_term,
  search_term_view.status,
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.conversions,
  metrics.cost_micros
FROM search_term_view
WHERE
  segments.date DURING LAST_30_DAYS
  AND metrics.impressions > 50
  AND metrics.conversions = 0
  AND metrics.cost_micros > 10000000
ORDER BY metrics.cost_micros DESC
LIMIT 100

Geographic Performance Deep Dive

Analyze which geographic locations drive the most conversions

Tool: google_ads_run_gaql.

SELECT
  geographic_view.country_criterion_id,
  geographic_view.location_type,
  campaign.name,
  metrics.impressions,
  metrics.clicks,
  metrics.conversions,
  metrics.cost_micros,
  metrics.conversions_value
FROM geographic_view
WHERE
  segments.date DURING LAST_30_DAYS
  AND metrics.impressions > 100
ORDER BY metrics.conversions_value DESC

Device & Hour Performance Matrix

Build a dayparting matrix to optimize ad scheduling by device

Tool: google_ads_run_gaql.

SELECT
  segments.device,
  segments.hour,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.conversions,
  metrics.cost_per_conversion
FROM campaign
WHERE
  segments.date DURING LAST_7_DAYS
  AND campaign.status = 'ENABLED'
ORDER BY segments.device, segments.hour

Quality Score & Ad Relevance Analysis

Find keywords with low quality scores that need optimization

Tool: google_ads_run_gaql.

SELECT
  ad_group.name,
  ad_group_criterion.keyword.text,
  ad_group_criterion.quality_info.quality_score,
  ad_group_criterion.quality_info.creative_quality_score,
  ad_group_criterion.quality_info.post_click_quality_score,
  ad_group_criterion.quality_info.search_predicted_ctr,
  metrics.impressions,
  metrics.clicks,
  metrics.average_cpc
FROM keyword_view
WHERE
  segments.date DURING LAST_30_DAYS
  AND ad_group_criterion.status = 'ENABLED'
ORDER BY ad_group_criterion.quality_info.quality_score ASC

Auction Insights Competitive Analysis

Understand your competitive position with impression share metrics

Tool: google_ads_run_gaql.

SELECT
  campaign.name,
  metrics.search_impression_share,
  metrics.search_top_impression_share,
  metrics.search_absolute_top_impression_share,
  metrics.search_budget_lost_impression_share,
  metrics.search_rank_lost_impression_share,
  metrics.search_exact_match_impression_share
FROM campaign
WHERE
  campaign.advertising_channel_type = 'SEARCH'
  AND segments.date DURING LAST_30_DAYS
  AND campaign.status = 'ENABLED'
ORDER BY metrics.search_impression_share DESC

Technical reference

API endpoint: googleads.googleapis.com/v25. Status: stable. Scheduled version sunset: August 2027.

Limitations and notes

  • Campaign mutations require google_ads_mutate tool (Standard Access developer token needed for production)
  • GAQL has no LAST_90_DAYS preset - use BETWEEN with specific dates instead
  • Some metrics require specific campaign types (e.g., video metrics need video campaigns)

Other platforms and tools

All tools · Quickstart

Cookies on this site

We use analytics cookies to see how the site is used. They load only if you accept, and you can change your choice at any time. Read our privacy policy.