Skip to main content
Glama

get_ad_insights

Retrieve performance metrics for a specific Meta ad by ad ID, with optional date ranges, breakdowns, and filters to analyze impressions, clicks, spend, CTR, and more.

Instructions

Get performance insights for a specific ad.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ad_idYesAd ID
levelNoAggregation level: campaign, adset, ad
fieldsNoComma-separated insight fieldsimpressions,clicks,spend,reach,frequency,cpc,cpm,ctr,actions,cost_per_action_type
filteringNoJSON string for filtering
breakdownsNoBreakdown dimensions: age,gender,country,region,publisher_platform,platform_position,device_platform,comscore_market (replaces dma). Some accounts must opt in in Ads Manager for impression_device, hourly_stats_aggregated_by_audience_time_zone, and frequency_value; empty results do not necessarily mean zero performance.
time_rangeNoJSON string {since,until} in YYYY-MM-DD format
date_presetNoLowercase date preset, for example: today, yesterday, last_7d, last_14d, last_30d, this_month, last_month, this_quarter, last_quarter, this_year, last_year
time_incrementNoTime granularity: all_days, 1, 7, monthly

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.6.1
    • changedInput schema / properties / breakdowns / description
      Previous value: -"Breakdown dimensions: age,gender,country,region,placement,device_platform"New value: +"Breakdown dimensions: age,gender,country,region,publisher_platform,platform_position,device_platform,comscore_market (replaces dma). Some accounts must opt in in Ads Manager for impression_device, hourly_stats_aggregated_by_audience_time_zone, and frequency_value; empty results do not necessarily mean zero performance."
    • changedInput schema / properties / date_preset / description
      Previous value: -"Date preset: TODAY,YESTERDAY,LAST_7D,LAST_14D,LAST_30D,THIS_MONTH,LAST_MONTH,THIS_QUARTER,LAST_QUARTER,THIS_YEAR,LAST_YEAR"New value: +"Lowercase date preset, for example: today, yesterday, last_7d, last_14d, last_30d, this_month, last_month, this_quarter, last_quarter, this_year, last_year"
  2. First observedv1.2.0

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden and delivers almost nothing: no statement of read-only safety, no auth/permission requirements, no rate-limit or timeout guidance (notable for an insights endpoint where large queries typically require an async report), and no sense of what the response contains.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though the brevity is partly under-specification rather than disciplined conciseness.

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

Completeness2/5

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

For an 8-parameter analytics tool with no annotations and no output schema, sitting in a family of four near-identical insight tools, the description omits everything an agent needs beyond the schema: when to prefer it over the sibling insight tools, the interaction between ad_id and level, and how to handle queries too large for a synchronous call.

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 all 8 parameters (including the nuanced breakdowns and date_preset options) are already documented in the schema. The description adds no parameter meaning at all, so the baseline 3 applies.

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?

Clear verb+resource ('Get performance insights') with a scoping qualifier ('for a specific ad') that separates it from the account/campaign/adset insight siblings. It stops short of naming those siblings or explaining the level parameter's role, so differentiation is implied rather than stated.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no mention of the obvious alternatives (get_account_insights, get_campaign_insights, get_adset_insights) or of create_async_report for heavy queries. The agent must infer routing from the tool name alone.

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