MMetadata /docs
Docs/Tools/performance_metrics

performance_metrics

Granular performance metrics for ads, audiences, creatives, offers, target groups, keywords.

Read analytics

Returns data. Calling it changes nothing, so it is safe in an unattended loop.

What it does

Granular performance metrics for ads, audiences, creatives, offers, target groups, keywords.
IMPORTANT: Always specify endpoint parameter. Always use ISO 8601 for dates.

USE FOR: Best performing ads/audiences/creatives/offers/target groups, ingredient comparisons, ad type analysis (IMAGE, VIDEO, CAROUSEL), lead gen forms vs landing pages, pipeline by ingredient, creative previews, keyword performance.
NOT FOR: Account-level stats, experiment-level analysis without ingredient focus.

ENDPOINT LOGIC:
- 'target group' → customAudience/group
- 'audience' → customAudience
- 'offer'/'lead gen'/'landing page' → offer
- 'creative' → creative
- 'keyword' → keywords
- 'ad'/'ads' or default → ads

AD TYPES: IMAGE, VIDEO, CAROUSEL, DOCUMENT, CONVO, SPOTLIGHT, SEARCH, MESSAGE
- The `adFormat` field on each response row identifies the ad type.

METRICS: spend, impressions, clicks, leads, mqls | opens, sends, actionClicks, costPerOpen, costPerSend (CONVO/MESSAGE ads) | cpl, cpc, cpm, ctr, conversionRate, formConversionRate, mqlRate | totalOpps, totalTriggered, oppsAmount, triggeredAmount | cpMql, cpOppInfluenced, cpOppTriggered | channel, goal, adFormat, audienceSize, statusLabel | previewUrl

CONVO/MESSAGE AD CAVEAT: when adFormat is CONVO or MESSAGE (LinkedIn message ads), success is measured by opens, sends, and actionClicks (and costPerOpen / costPerSend), NOT clicks/ctr/cpc. Do not rank these ads by CTR or dismiss them when clicks=0. Use sort='actionClicks,desc' or sort='opens,desc' for conversational performance ranking.

RULES: Field 'id' corresponds to endpoint queried. Exclude $0 CPL experiments from calculations.

Arguments

ArgumentTypeNotes
launchedExperimentStatuses array Filter Performance Metrics by experiment launch statuses only.
page integer Page number to retrieve (0-based indexing)
size integer Number of results per page. Default 100; raise it freely (up to 10000) for comprehensive full-dataset analysis.
sort string Sorting criteria (e.g., 'spent,desc', 'cpl,asc', 'experimentId,spent,desc')
ids array Set of IDs to filter by
experimentIds array Set of experiment IDs to filter by
startDate string startDate in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ), e.g., `startDate=2025-06-12T14:30:00.123Z`).
endDate string endDate in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ), e.g., `startDate=2025-06-12T14:30:00.123Z`).
oppsStartDate string Start date for opportunities data in ISO 8601 format
oppsEndDate string End date for opportunities data in ISO 8601 format
adName string Filter by specific ad name
keyword string Filter by specific keyword
campaignName string Filter by specific campaign name
creativeName string Filter by specific creative name
customAudienceName string Filter by specific custom audience name
offerName string Filter by specific offer name
experimentName string Filter by specific experiment name
budgetGroupName string Filter by specific budget group name
channels array Filter by marketing channels
goals array Filter by campaign goals
audienceTypes array Filter by audience types
offerTypes array Filter by offer types. LG=Lead Gen forms, LP=Landing Pages
visibilities array Filter by visibility status
adFormats array Filter by ad format types. Applied to ads endpoint automatically.
minSpend number Minimum spend threshold
maxSpend number Maximum spend threshold
minLeads integer Minimum number of leads threshold
maxLeads integer Maximum number of leads threshold
minCpl number Minimum cost per lead threshold
maxCpl number Maximum cost per lead threshold
minAudienceSize integer Minimum audience size threshold
maxAudienceSize integer Maximum audience size threshold
usedInActiveExperiments boolean Filter for ingredients used in active experiments only
tags array Set of tag IDs to filter by
accountTagIds array Set of account tag IDs to filter by
showWithSpend boolean Show only experiments/ingredients with spend data
experimentList string Experiment list filter
customFieldIds string Custom field IDs to include
skipCustomFields boolean Skip custom fields in response
endpoint string Specific endpoint to query. If not specified, will be auto-determined from query context. Use 'customAudience/group' for target groups.
one of: ads, customAudience, customAudience/group, offer, creative, keywords

Request

curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
  -H "Authorization: $METADATA_PAT" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"performance_metrics","arguments":{}}}'

Response

Real, from the production server, in 1561 ms. Values that identify a customer or disclose money are replaced with typed placeholders; keys, types and nesting are exactly as returned.

recorded response
"[value redacted]"

Other analytics tools:

All 160 tools · machine-readable index