Skip to main content
Glama
kLOsk

AdLoop: Google Ads, Reddit Ads & GA4

Search terms report

get_search_terms
Read-only

Pull the search terms report to see what users typed before clicking your ads, then find negative keyword opportunities and understand intent.

Instructions

Get search terms report — what users actually typed before clicking your ads.

Critical for finding negative keyword opportunities and understanding user intent. Returns search term, campaign, ad group, impressions, clicks, conversions.

Google Ads API: https://developers.google.com/google-ads/api/docs/start

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
compactNoWhen true (for audits/overviews), returns totals, the top-10 terms by clicks, ready-made negative-keyword waste candidates (5+ clicks, zero conversions), and top converters (~90% smaller).
customer_idNoGoogle Ads customer ID, digits with or without dashes (e.g. "123-456-7890"). Defaults to the configured ads.customer_id.
date_range_endNoEnd date as "YYYY-MM-DD" (inclusive).
date_range_startNoStart date as "YYYY-MM-DD". Both dates must be set to apply a range; if either is empty, the last 30 days are used.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.27.1
    • addedInput schema / properties / compact / description
      Added value: +"When true (for audits/overviews), returns totals, the top-10\nterms by clicks, ready-made negative-keyword waste candidates\n(5+ clicks, zero conversions), and top converters (~90% smaller)."
    • addedInput schema / properties / customer_id / description
      Added value: +"Google Ads customer ID, digits with or without dashes\n(e.g. \"123-456-7890\"). Defaults to the configured ads.customer_id."
    • addedInput schema / properties / date_range_end / description
      Added value: +"End date as \"YYYY-MM-DD\" (inclusive)."
    • addedInput schema / properties / date_range_start / description
      Added value: +"Start date as \"YYYY-MM-DD\". Both dates must be set\nto apply a range; if either is empty, the last 30 days are used."
  2. Addedv0.13.2
  3. Removedv0.13.0
  4. Changed1 schema field changedv0.12.0
    • addedInput schema / properties / compact
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
  5. First observedv0.9.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered. The description adds the returned dimensions (search term, campaign, ad group, impressions, clicks, conversions), but since an output schema exists this is largely redundant; nothing is said about pagination, date defaults, or rate limits. Adequate but thin beyond the annotations.

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

Conciseness4/5

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

The core purpose is front-loaded in the first clause, and the intent/negative-keyword value proposition follows immediately. The trailing Google Ads API URL is marginal filler but does not dilute the definition.

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

Completeness4/5

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

With annotations covering safety and an output schema covering return fields, the description supplies the remaining conceptual context (what search terms are, why they matter). It is complete enough to call correctly, missing only explicit sibling routing and behavioral notes like date-default fallback.

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

Parameters3/5

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

Schema description coverage is 100%, including detailed docs for compact, customer_id, and the date range params, so the schema carries the parameter burden. The description adds no parameter-level meaning beyond what is already documented, which is the expected baseline of 3.

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

Purpose4/5

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

States a clear verb+resource ('Get search terms report') and immediately defines the resource in user terms ('what users actually typed before clicking your ads'), which distinguishes it from report tools like get_keyword_performance. It stops short of naming which sibling to use instead when the agent wants keyword-level rather than query-level data.

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

Usage Guidelines3/5

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

It gives a use case ('Critical for finding negative keyword opportunities and understanding user intent') that implies when to reach for it, and the 'find negative keyword opportunities' framing loosely routes toward add_negative_keywords. However, there is no explicit when-not guidance or named alternative, so usage is inferred rather than stated.

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

Deploy Server

Other Tools