Skip to main content
Glama

Honeyfield Marketing MCP

Google Ads: Impression share

ads_impression_share
Read-only

Search-Impression-Share (nur Suchnetzwerk, kein Display/PMax) der letzten N Tage bis gestern (heute nicht enthalten), in Prozent — wahlweise je Kampagne, Anzeigengruppe oder KEYWORD. Kennzahlen je Zeile: impression_share_pct (Anteil der möglichen Impressionen), top_impression_share_pct (Anteil oberhalb der organischen Ergebnisse, „Search top IS"), abs_top_impression_share_pct (Anteil auf Position 1, „Search abs. top IS"), lost_to_rank_pct plus impressions, clicks, cost_eur. level: 'campaign' (Default), 'ad_group' oder 'keyword'. Bei 'keyword' kommen zusätzlich keyword, match_type, status, criterion_id (für ads_update_keyword_bid) sowie ad_group_id/ad_group_name. lost_to_budget_pct gibt es NUR bei 'campaign' — auf Anzeigengruppen- und Keyword-Ebene lehnt Google die Kennzahl ab (Budgetverlust ist eine Eigenschaft der Kampagne). campaign_id / ad_group_id: auf eine Kampagne bzw. Anzeigengruppe einschränken (ad_group_id erst ab level='ad_group', sonst error=ad_group_needs_finer_level). keyword: Teilstring des Keyword-Textes, Groß-/Kleinschreibung egal — braucht level='keyword', sonst error=keyword_needs_keyword_level. Beispiel: level='keyword', keyword='zahnarzt baden'. Bleibt nach dem Entfernen von Anführungszeichen kein Text übrig, kommt error=invalid_keyword_filter, damit der Filter nicht stillschweigend jedes Keyword trifft. limit: max. Zeilen, nach Impressionen absteigend. Ohne Angabe liefert level='campaign' ALLE Kampagnen (wie bisher), 'ad_group' und 'keyword' je 100; max. 200. Wird die Grenze erreicht, kommt statt der Liste ein Objekt mit result und warning — der Ausschnitt ist dann nicht das Ganze. Gelöschte Kampagnen, Anzeigengruppen und Keywords bleiben auf allen Ebenen außen vor. Die Anteile sind Brüche mit je eigenem Nenner: Summieren oder Mitteln über Keyword- oder Anzeigengruppen-Zeilen ergibt NICHT den Kampagnenwert — für den korrekten Gesamtwert level='campaign' abfragen. Google kappt die Werte: 10.0 bedeutet „<10 %", 90.0 bedeutet „>90 %" — keine exakten Werte; null, wenn Google keinen Wert liefert. Das Feld note in jeder Zeile wiederholt diese Kappungsregel. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace).

Input Schema

NameRequiredDescriptionDefault
daysNo
levelNocampaign
limitNo
keywordNo
workspaceNo
ad_group_idNo
campaign_idNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this readOnly/openWorld, and the description layers substantial extra context: the window excludes today, deleted campaigns/ad groups/keywords are filtered out on all levels, lost_to_budget_pct is rejected above campaign level, hitting limit returns a result+warning object instead of the full list, and Google caps values (10.0 = '<10%', 90.0 = '>90%', null when unavailable). That is exactly the kind of behavior an agent cannot get from the schema.

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?

Front-loaded with the single-sentence definition, then per-parameter blocks — each block earns its place and the error codes are actionable. It is long, and the capping rule is stated twice (once in prose, once by noting the repeated `note` field), which is mild redundancy but defensible as reinforcement.

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?

For a 7-parameter analytics tool with an output schema, everything an agent needs to call it correctly is present: valid level values, filter preconditions and their error identifiers, truncation semantics, aggregation caveat, and value capping. Return-field documentation goes beyond what the output schema alone would convey.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must carry all seven parameters — and it does: level with its three literal values and default, keyword as a case-insensitive substring with a worked example and the invalid_keyword_filter guard, limit with per-level defaults (all campaigns vs 100 vs max 200), campaign_id/ad_group_id scoping with their error codes, and workspace optionality for single-workspace accounts. Only the `days` parameter is described implicitly ('letzten N Tage') rather than by name.

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?

States a precise resource and scope: Search-network-only impression share (explicitly excluding Display/PMax) for the last N days up to yesterday, segmented by campaign, ad group, or keyword. It also enumerates the exact metrics returned (impression_share_pct, top/abs-top IS, lost_to_rank_pct, etc.), which makes it unmistakable against generic siblings like ads_campaign_performance or ads_keyword_performance.

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

Usage Guidelines4/5

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

Gives clear conditional guidance: ad_group_id only works from level='ad_group' (else ad_group_needs_finer_level), keyword requires level='keyword' (else keyword_needs_keyword_level), and it explicitly instructs to query level='campaign' for a correct aggregate because averaging keyword rows is invalid. It never names a sibling tool as the alternative, so it stops short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources