Get ad status (adsap_get_ad_status)
Platform: Meta · Read or write: Read · Plan: All plans · Consumes a task: No · Preview supported: No
What it does
Checks the delivery, review and effective status of one Meta ad, read live from Meta. It includes the parent ad set and campaign statuses, review feedback if the ad was disapproved, any active issues, and a plain summary of whether the ad is delivering. Use it after creating an ad or when an ad is not spending.
When to use it
- Use it for one ad, when you have its ID and want to know why it is or is not delivering.
- It reads the ad live from Meta, not from a cache. The answer shows the ad’s state at the moment of the call.
- One call also returns the status of the parent ad set and campaign. A paused parent shows up there.
- To check every ad in an account at once, use
adsap_get_ad_review_status. - It returns no spend or results. For those, use
adsap_get_insights.
Worked example
You ask
“I switched on ad 120210000000000 in act_1234567890 an hour ago and it has no impressions. What is wrong?”
The assistant calls adsap_get_ad_status
{
"ad_account_id": "act_1234567890",
"ad_id": "120210000000000"
}Adsap returns
The field names are the ones Adsap returns. The values are examples.
{
"ad_id": "120210000000000",
"name": "Spring sale, video 1",
"status": "ACTIVE",
"effective_status": "ADSET_PAUSED",
"configured_status": "ACTIVE",
"adset_id": "120210000000001",
"adset_name": "Prospecting US",
"adset_status": "PAUSED",
"adset_effective_status": "PAUSED",
"campaign_id": "120210000000002",
"campaign_name": "Spring sale",
"campaign_status": "ACTIVE",
"campaign_effective_status": "ACTIVE",
"review_feedback": null,
"issues": null,
"delivery_summary": "Ad: ADSET_PAUSED | Ad Set (Prospecting US): PAUSED | Campaign (Spring sale): ACTIVE | Review: No issues."
}How to read it
status is what you set on the ad. effective_status is what Meta does with it once the parents and the review are counted. Here the ad is on and its ad set is paused, which is why nothing delivers. review_feedback and issues are null when Meta reports none. To switch the ad set on, the assistant can use adsap_set_entity_status.
Parameters
Descriptions are shortened from the tool schema. Your assistant sees the full text.
| Name | Type | Required | Description |
|---|---|---|---|
ad_account_id | string | Yes | Ad account ID (act_xxx). Required: scopes the request to the workspace that owns this ad account. |
ad_id | string | Yes |
Example prompts
- “Is ad 120210000000000 delivering?”
- “Why is my new ad not running?”
- “Check the review status of the ad I just created.”
Related tools
adsap_create_ad: Create a Meta ad (image/video) in an ad set.adsap_duplicate_ad_set: Duplicate an existing Meta ad set into 1-10 copies, keeping ALL its ads (including ads with no delivery yet).adsap_get_ad: Read ONE ad in full, live from Meta: its creative content (primary texts, headlines, descriptions, CTA, destination link, URL parameters…adsap_get_ad_review_status: Check review and policy status of all active (optionally paused) ads in an account.adsap_get_ad_set: Read ONE ad set in full, live from Meta: complete targeting spec (geo incl. regions/cities, age, genders, custom audiences…adsap_list_ad_accounts: List Meta ad accounts the user manages.
Guide
Read Building the ads for the workflow around this tool, and the Tool reference for every tool.
The Meta Ads MCP server page shows how to connect Meta Ads to Claude, ChatGPT or Perplexity.