Skip to main content
Glama

google_ads_search_terms_report

List actual user search queries that triggered Google Ads, with impressions, clicks, cost, conversions, and CTR. Filter by campaign or ad group to inspect raw query logs for insight.

Instructions

List actual user search queries that triggered ads in the account over a reporting window. Returns one row per search term shaped as {search_term, metrics}, where the metrics object contains impressions, clicks, cost_micros, cost (currency-formatted), conversions, and ctr. The rows are filterable by campaign_id and/or ad_group_id but those IDs are NOT echoed back in the output — scope your query before calling. Read-only. Use this for raw query logs when you need to eyeball the terms yourself. For rule-based add/exclude candidates use google_ads_search_terms_review; for intent-class distribution use google_ads_search_terms_analyze; for campaign-level aggregates without query breakdown use google_ads_performance_report.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
periodNoReporting window for the metrics. Default 'LAST_30_DAYS'. Use a shorter window (LAST_7_DAYS / LAST_14_DAYS) when diagnosing recent changes; use LAST_90_DAYS for trend baselines.
ad_group_idNoRestrict results to a single ad group by numeric ID. Omit to include all ad groups under the campaign filter (or the entire account if campaign_id is also omitted).
campaign_idNoRestrict results to a single campaign by numeric ID. Omit to include all campaigns.
customer_idNoGoogle Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does a strong job: it states 'Read-only', warns that campaign_id/ad_group_id are 'NOT echoed back in the output — scope your query before calling', and describes the exact return shape. It could add more about row limits or sorting but covers the most critical behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then the return shape, then a critical caveat, and finally explicit sibling differentiation. Every sentence carries useful information with no fluff, and the use of semicolons efficiently packs in the alternatives.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description fully explains the return value shape and metrics. It covers parameter semantics (via schema and added context), read-only behavior, scoping caveats, and alternative tools. For a list-style report with 4 optional parameters, this description is complete enough for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining the ID omission behavior and suggesting shorter vs. longer period windows for different diagnostic scenarios. This enriches parameter understanding beyond the field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'List actual user search queries that triggered ads' and the resource 'over a reporting window'. It also specifies the output shape and explicitly distinguishes from sibling tools like google_ads_search_terms_review, google_ads_search_terms_analyze, and google_ads_performance_report, making the tool's unique role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage guidance: 'Use this for raw query logs when you need to eyeball the terms yourself' and then names alternatives with their specific use cases (rule-based candidates, intent-class distribution, campaign-level aggregates). This clearly tells the agent when to use this tool vs. when to choose a sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/logly/mureo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server