Skip to main content
Glama
dhawalshah

google-ads-mcp

Get Campaign Performance

get_campaign_performance

Retrieve performance metrics for all campaigns in a Google Ads account. Provide customer ID and select a date range to see key stats.

Instructions

Get performance metrics for all campaigns in an account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
date_rangeNoDate range for metrics. One of: TODAY, YESTERDAY, LAST_7_DAYS, LAST_BUSINESS_WEEK, THIS_MONTH, LAST_MONTH, LAST_14_DAYS, LAST_30_DAYS, THIS_QUARTER, LAST_QUARTER, THIS_YEAR, LAST_YEAR (default: LAST_30_DAYS)LAST_30_DAYS
manager_idNoManager ID if access type is 'managed'
customer_idYesThe Google Ads customer ID (10 digits, no dashes)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. 'Get' makes clear this is a read operation and 'all campaigns in an account' defines scope, but it says nothing about row granularity, date-range filtering behavior, pagination, or managed-account requirements. It is not misleading, but it is thin.

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 description is a single, front-loaded sentence with no filler or repetition. It is appropriately concise, though a second sentence providing sibling differentiation or usage context would have made it more useful without hurting structure.

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

Completeness3/5

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

Given the 100% schema coverage and presence of an output schema, the basic call can be constructed reliably. However, with no annotations and twelve sibling tools, the absence of routing guidance and behavioral caveats leaves the description only minimally complete.

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%, so the baseline of 3 applies. The description itself adds no parameter-level meaning beyond the idea of account-wide campaign metrics, but the schema already documents customer_id, date_range, and manager_id clearly.

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?

The description clearly states the action ('Get') and resource ('performance metrics for all campaigns in an account'), which is specific enough to separate it from sibling tools like get_ad_group_performance or get_keyword_performance. It does not explicitly compare itself to those alternatives, so it stops just short of a 5.

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?

The campaign-level scope is implied by the wording, so an agent can infer this is for campaign metrics rather than ad group or keyword metrics. However, there is no explicit guidance about when to prefer this over run_gaql or the other reporting siblings, and no exclusions are mentioned.

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