User wants to edit an existing Meta ad set’s targeting, budget, bid, placements, schedule, or optimization settings.
IMPORTANT: This tool modifies REAL ad sets in Meta Ads Manager. Changes take effect immediately.
This is the primary tool for:
Returns:
When to use this tool:
Parameters:
CBO (Advantage Campaign Budget) campaigns: For ad sets under CBO campaigns, do NOT set daily_budget or lifetime_budget. Use daily_min_spend_target / daily_spend_cap to control spend distribution. Setting daily_budget on a CBO ad set will cause Meta to reject with an error.
At least one update field must be provided.
Targeting Spec Examples:
Exclude Audience Network:
{
"publisher_platforms": ["facebook", "instagram"],
"facebook_positions": ["feed", "stories", "reels"],
"instagram_positions": ["stream", "story", "reels"]
}
Change age and gender:
{
"age_min": 25,
"age_max": 45,
"genders": [1]
}
(genders: 1=male, 2=female, omit for all)
Add interest targeting:
{
"flexible_spec": [{"interests": [{"id": "6003139266461", "name": "Fitness"}]}]
}
Exclude custom audience:
{
"excluded_custom_audiences": [{"id": "AUDIENCE_ID"}]
}
Execution time: 2-5 seconds Modifies: Real ad set in Meta Ads
Workflow:
list_meta_ad_sets or get_meta_campaign_details to find the ad set IDupdate_meta_ad_set with the changes you want to makeAPI key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for updating a Meta ad set
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.