Skip to main content
Glama

Conversion tracking audit

audit_conversion_tracking
Read-onlyIdempotent

Check whether the conversion events the active ad sets optimise for are actually arriving. Reads the pixels of the ad account, the active ad sets with the event each one optimises for, the pixel fires of the last 168 hours (browser and server-side), the dataset quality Meta reports for the pixel, the custom conversions those ad sets use, and a day-by-day trend of recorded actions over the lookback window. Returns a health score from 0 to 100 with a grade, the weighted checks it is made of, the ad sets with their events and budgets, and findings in plain words. status "incomplete" means a check could not be run; a pixel that is read but silent is a failed check, not an incomplete audit. With no active ad set there is no score at all, because there is nothing optimising for an event. Read-only and free: changes nothing and does not count toward the monthly change limit. An identical read within 30 seconds may return the same data (see data_age_seconds).

Input Schema

NameRequiredDescriptionDefault
end_dateNoLast day of an explicit window, YYYY-MM-DD, in the ad account time zone. Needs start_date.
pixel_idNoWhich pixel to audit, from list_pixels. Needed only when the ad account has several.
raw_dataNotrue returns the measured numbers only: no severity, scores, recommendations or quick_actions.
connectionNoWhich connected ad account to use: the connection id from start_here or the ad account number (act_123 or 123). Needed only when several ad accounts are connected.
date_rangeNoWindow as a named range. Ignored when start_date and end_date are given.
start_dateNoFirst day of an explicit window, YYYY-MM-DD, in the ad account time zone. Needs end_date.
lookback_daysNoWindow of the event trend in days: 7, 14, 30, 60 or 90. Default 30.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare readOnlyHint, idempotentHint, and non-destructive, but the description adds substantial context beyond them: the 30-second caching behavior with data_age_seconds, the 'incomplete' status semantics, the distinction between a silent pixel (failed check) and an incomplete audit, the absence of a score when no active ad set exists, and that it doesn't count toward the monthly change limit. This is rich behavioral disclosure that annotations alone don't provide.

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, dense paragraph that front-loads the core purpose and then layers in behavioral details. It's efficient and every sentence adds value, though the sentence describing all the data it reads is somewhat long and could be tightened.

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

Completeness4/5

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

With no output schema, the description adequately describes the return values (health score, grade, weighted checks, ad sets, findings, status) and covers key behavioral edge cases. It is nearly complete, but lacks specifics on output format structure or pagination, which would be helpful for an agent parsing the response.

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 coverage is 100%, so the schema already documents all parameters and their formats. The description adds no parameter-specific syntax or usage details beyond what the schema provides, so the baseline of 3 is appropriate.

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 states a specific verb and resource — 'Check whether the conversion events the active ad sets optimise for are actually arriving' — which is unambiguous and distinct from siblings like get_insights or audit_account. It explains the audit's scope by listing exactly what it reads, so an agent can tell it apart from generic reporting tools.

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 implies the context (auditing conversion tracking for active ad sets) but doesn't explicitly name alternatives or state when not to use it, beyond the note about no active ad sets. The explanation of the 'incomplete' status and the no-score case provides useful decision context, but explicit routing to alternatives like get_insights is absent.

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.