Skip to main content
Glama

google_ads_ad_performance_compare

Compares all ads in a Google Ads ad group, ranks them by performance score, and designates winners and losers. Flags ads with insufficient data for reliable comparison.

Instructions

Rank ENABLED ads within a single Google Ads ad group and assign WINNER / LOSER / INSUFFICIENT_DATA verdicts. Returns {ad_group_id, period, ads:[{ad_id, impressions, clicks, conversions, cost, ctr, cvr, cpa, score (ctr*cvr, or ctr when conversions=0), rank, verdict, headlines?, descriptions?}], winner, recommendation, insights:[strings]}. Ads with impressions < 100 are flagged INSUFFICIENT_DATA; all ads tied at the top score receive WINNER, the rest LOSER. Read-only — does not pause or rotate ads. For cross-ad-group per-ad reporting use google_ads_ad_performance_report; for RSA asset-level splits use google_ads_rsa_assets_analyze.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
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.
ad_group_idYesAd group ID as a numeric string (e.g. '145680123456'). Required — comparison is always scoped to one ad group so the ads share targeting. Obtain via google_ads_ad_groups_list.
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.
Behavior5/5

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

Discloses read-only nature ('does not pause or rotate ads'), explains verdict logic (INSUFFICIENT_DATA threshold at 100 impressions, WINNER/LOSER ties), and details scoring formula (ctr*cvr or ctr when conversions=0). No annotations provided, so description carries full burden and meets it excellently.

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?

Single paragraph efficiently front-loads the primary action, then describes output format and logic without redundancy. Every sentence adds value, balancing completeness with brevity.

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 complex comparison tool, the description fully explains output structure, scoring, thresholds, and side effects (none). No output schema provided, but detail covers what agents need to interpret results.

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 coverage is 100% (baseline 3). Description adds context beyond schema: for period, recommends specific windows for diagnosis/treads; for customer_id, explains fallback behavior; for ad_group_id, states why required (scope). Slightly above baseline.

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?

The description clearly states the tool's purpose: ranking enabled ads within an ad group and assigning verdicts. It distinguishes from sibling tools like google_ads_ad_performance_report and google_ads_rsa_assets_analyze, specifying when to use each alternative.

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?

Explicitly states the usage context (single ad group) and provides when-not-to-use guidance by referencing sibling tools. Also includes parameter guidance for period selection based on diagnostic needs, e.g., 'Use a shorter window...when diagnosing recent changes'.

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