Meta Ads / API Reference
meta_ads_create_adset
Meta Ads tool. Create a new Meta Ads ad set within a campaign. Args: name: Ad set name (required). campaign_id: Parent campaign ID (required). targeting: JSON string with targeting spec, e.g. '{"age_min":25,"age_max":50,"geo_locations":{"countries":["IL"]}}' (required). billing_event: IMPRESSIONS, LINK_CLICKS, POST_ENGAGEMENT. Default IMPRESSIONS. optimization_goal: LINK_CLICKS, OFFSITE_CONVERSIONS, LEAD_GENERATION, CONVERSATIONS, REACH, etc. Default LINK_CLICKS. status: ACTIVE or PAUSED. Default PAUSED. account_id: Ad account ID. Leave blank to use .env default. daily_budget: Daily budget in smallest currency unit, e.g. '5000' for ₪50. lifetime_budget: Lifetime budget in smallest currency unit (required with dayparting). bid_amount: Manual bid cap in smallest currency unit. bid_strategy: LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP, COST_CAP. promoted_object: JSON e.g. '{"pixel_id":"123","custom_event_type":"PURCHASE"}'. start_time: ISO 8601, e.g. '2026-04-01T00:00:00+0300'. end_time: ISO 8601. Required with lifetime_budget. frequency_control_specs: JSON to cap impressions per user, e.g. '[{"event":"IMPRESSIONS","interval_days":7,"max_frequency":3}]'. attribution_spec: JSON attribution windows, e.g. '[{"event_type":"CLICK_THROUGH","window_days":7},{"event_type":"VIEW_THROUGH","window_days":1}]'. pacing_type: 'standard' or 'no_pacing' (accelerated). Default standard. destination_type: Where clicks go: WEBSITE, MESSENGER, INSTAGRAM_DIRECT, WHATSAPP, ON_AD, APP. Default WEBSITE. adset_schedule: JSON daypart windows (requires lifetime_budget), e.g. '[{"start_minute":540,"end_minute":1080,"days":[1,2,3,4,5]}]'. daily_min_spend_target: Soft spend floor in CBO campaigns (smallest unit). daily_spend_cap: Hard spend ceiling in CBO campaigns (smallest unit). advantage_audience: Set True to enable Advantage+ Audience automation (Meta AI expands beyond targeting).
This is a write tool: it creates adset in your Meta Ads account. Claude asks you to confirm before it runs.
Ask Claude
You do not call this tool yourself. Ask for the outcome and the client picks the tool:
Create adset in my Meta Ads account for [name], [campaign id], [targeting].
It takes 3 required and 19 optional parameters.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name |
campaign_id | string | Yes | Campaign Id |
targeting | string | Yes | Targeting |
billing_event | string | No | Billing Event |
optimization_goal | string | No | Optimization Goal |
status | string | No | Status |
account_id | string | No | Account Id |
daily_budget | string | No | Daily Budget |
lifetime_budget | string | No | Lifetime Budget |
bid_amount | string | No | Bid Amount |
bid_strategy | string | No | Bid Strategy |
promoted_object | string | No | Promoted Object |
start_time | string | No | Start Time |
end_time | string | No | End Time |
frequency_control_specs | string | No | Frequency Control Specs |
attribution_spec | string | No | Attribution Spec |
pacing_type | string | No | Pacing Type |
destination_type | string | No | Destination Type |
adset_schedule | string | No | Adset Schedule |
daily_min_spend_target | string | No | Daily Min Spend Target |
daily_spend_cap | string | No | Daily Spend Cap |
advantage_audience | boolean | No | Advantage Audience |
Related Meta Ads tools
meta_ads_create_adset_with_daypartingmeta_ads_create_ab_testmeta_ads_create_admeta_ads_create_ad_creativemeta_ads_create_advantage_plus_campaignmeta_ads_create_advantage_plus_creative
Before you can call it
This tool needs a connected Meta Ads account. The Meta Ads connect guide covers the OAuth flow and the permissions it asks for, and the quickstart gets a client talking to the server in about five minutes.
Workflows that use this
Rather than calling tools one at a time, these skills run a whole procedure against the same account: