Skip to main content
Glama

Honeyfield Marketing MCP

Meta Ads: Campaign performance

meta_campaign_performance
Read-only

Meta-Ads-Kampagnen-Performance der letzten N Tage (je Zeile campaign_id + campaign — die ID ist der Schlüssel für meta_update_campaign & Co.). Zeitraum: heute minus N Tage bis heute EINSCHLIESSLICH (N+1 Kalendertage; heute unvollständig). Für Vergleiche mit Google-Ads-Zahlen (schließen heute aus) daily=True nutzen und den heutigen Tag herausrechnen. since / until: fester Zeitraum als 'YYYY-MM-DD', beide zusammen und einschließlich (sonst error=date_range_incomplete; until vor since error=date_range_invalid); hat Vorrang vor date_preset und days. date_preset: relativer Zeitraum nach Metas Kalender — today, yesterday, this_month, last_month, this_quarter, last_quarter, this_year, last_year, last_3d/7d/14d/28d/30d/90d, last_week_mon_sun, last_week_sun_sat, this_week_mon_today, this_week_sun_today, maximum, data_maximum (error=invalid_date_preset sonst); hat Vorrang vor days. Jede Zeile trägt date_start/date_stop — die tatsächlich summierte Spanne, wie Meta sie meldet (bei daily stattdessen date je Tag). totals_only: True liefert Gesamtzahlen des Kontos als EINE Zeile (ohne campaign/campaign_id) — für Kontosummen diesen Weg nehmen und nicht Zeilen selbst addieren: bei breakdown überschneiden sich reach-Werte. Mit breakdown/daily kombinierbar; nicht mit campaign_id (error=totals_only_with_campaign — eine Kampagne liefert mit campaign_id ohnehin genau eine Zeile). Zahlen folgen der Attributionseinstellung der Adsets (unified attribution, wie im Ads Manager) — nicht Metas API-Default. Liefert neben Impressionen/Spend/Conversions auch link_clicks (echte Link-Klicks — clicks zählt Likes und Profilaufrufe mit), landing_page_views und landing_page_rate_pct (wie viele Klicks die Seite erreichen), reach, frequency, cpm, cpc und cost_per_link_click. Bei leeren Insights trotz vorhandener Kampagnen kommt stattdessen ein Dict mit result=[], time_range bzw. date_preset und info-Erklärung zurück. breakdown: Aufschlüsselung statt Summenzeile — 'publisher_platform' (Facebook vs. Instagram vs. Audience Network), 'platform_position', 'device_platform', 'age', 'gender', 'country', 'region'. daily: True liefert eine Zeitreihe je Tag. Ein kürzeres Zeitfenster ersetzt das NICHT — es summiert nur weniger Tage zu einer Zeile. campaign_id: nur diese Kampagne. Ohne Angabe ALLE Kampagnen des Kontos. Eine uebergebene Kampagnen-/Adset-/Ad-ID muss zum Werbekonto des Workspace gehoeren — IDs eines anderen Kontos (auch wenn die Meta-Verbindung es sieht) → {'error': 'foreign_object'}. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace). conversions zählt AUSSCHLIESSLICH Käufe und Leads. Eigene Custom Conversions stehen getrennt in custom_conversions, und actions führt alle Ereignistypen mit Zahlen auf — conversions=0 heißt deshalb nicht "konvertiert nicht", sondern ist an actions gegenzuprüfen. Obergrenze rund 2.000 Zeilen. Wird sie erreicht, kommt statt der Liste ein Objekt mit result und warning zurück; die Sortierung gilt dann nur für den Ausschnitt.

Input Schema

NameRequiredDescriptionDefault
daysNo
dailyNo
sinceNo
untilNo
breakdownNo
workspaceNo
campaign_idNo
date_presetNo
totals_onlyNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Without repeating the basic annotations, it discloses the attribution setting used (adset unified attribution, not the API default), the failure modes (foreign_object, date_range_incomplete, date_range_invalid, invalid_date_preset, totals_only_with_campaign), the ~2,000-row cap with a warning object, and the empty-insights response shape. It also warns that conversions=0 does not mean no conversions and must be checked against actions.

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 front-loaded with the return grain and the date-window semantics, and each parameter paragraph delivers real information. It is long, around 350 words, and some metric explanations in the middle, such as link_clicks versus clicks, go beyond the key ideas, but they are informative rather than wasteful.

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 9-parameter, read-only reporting tool with an output schema, it covers everything an agent needs: time-window precedence and error handling, breakdown and daily semantics, the row cap, empty results, ID ownership across accounts, and the caveat that conversions exclude custom conversions. No relevant behavior is left undisclosed.

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 carries the full burden, and it does: it documents the precedence order of since/until > date_preset > days, lists every valid date_preset value, enumerates breakdown options, and explains the semantics of daily, campaign_id, workspace, and totals_only including their interactions.

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 resource (Meta Ads campaign performance) and the row grain (campaign_id + campaign, which is the key for meta_update_campaign). It does not, however, explicitly differentiate itself from the sibling tools meta_ad_performance and meta_adset_performance that offer other granularities.

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?

It gives explicit guidance on when to use daily=True (comparing against Google Ads, which excludes today) and when to use totals_only rather than summing rows (breakdown reach overlaps). It also states incompatibilities (totals_only + campaign_id). It does not redirect to the ad/adset performance siblings for other grains.

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