tiktok_ads_get_performance_report

Get TikTok Ads Performance Report

Tiktok

Description

Get a performance report for a TikTok advertiser. Returns spend, impressions, clicks, CPC, CPM, CTR, reach, frequency, conversions, cost_per_conversion, conversion_rate, result, and cost_per_result — broken down by day. Supports entity filters: pass campaign_id to get only ads/ad groups within a specific campaign, or adgroup_id to narrow to a specific ad group. This is the primary tool for standard delivery and conversion performance — use get_insights only for audience demographic breakdowns (age, gender, country). Paging: rows come back in \

Read-onlyIdempotentOpen-world

Usage

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tiktok_ads_get_performance_report",
    "arguments": {}
  }
}

Parameters

NameTypeRequiredDescription
advertiser_id string Required TikTok advertiser ID.minLength: 1, maxLength: 64
level string Required Reporting level — mapped to data_level internally.
campaign adgroup ad
reason string Required Why this tool call is neededminLength: 1, maxLength: 500
Optional parameters (9)
NameTypeRequiredDescription
date_preset string Optional Shortcut date range. Overridden by explicit start_date/end_date.
last_7d last_14d last_30d
start_date string Optional Start date in YYYY-MM-DD format.
end_date string Optional End date in YYYY-MM-DD format.
campaign_id string Optional Filter results to a specific campaign by its ID. When the user asks about a specific campaign, always pass this parameter to scope the report.maxLength: 64
adgroup_id string Optional Filter to a specific ad group.maxLength: 64
page integer Optional Page number (1-indexed) to jump straight to. Default: 1. Ignored when cursor is given; prefer cursor to walk a report.min: 1
page_size integer Optional Rows per page. Default: 20, maximum: 100 — a request above the maximum is rejected rather than silently truncated. Note that a wide report (ad level, many metrics) runs roughly 700-800 bytes per row, so a page near the maximum can exceed an MCP client's tool-output limit; 20-30 is the safe working size. Check pagination.hasMore and follow pagination.nextCursor for the rest.min: 1, max: 100
cursor string Optional Opaque cursor from a previous response's pagination.nextCursor. Pass it back unchanged, with every other parameter identical, to fetch the next page; omit it for the first page. Takes precedence over page. Never construct one by hand.minLength: 1, maxLength: 512
connection_id string Optional Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs.