meta_ads_adset_write_update
Create or update Meta Ads ad sets. Actions: create — new ad set linked to a campaign (targeting, budget, schedule) update — change fields on existing ad set Targeting is a JSON object: { "geo_locations": { "countries": ["BR"] }, "age_min": 18, "age_max": 65, "genders": [1, 2] } Budgets in cents. BUDGET (most common create failure): the ad set REQUIRES daily_budget or lifetime_budget, UNLESS the parent campaign already carries the budget (campaign budget optimization) — in which case the ad set must NOT send one. lifetime_budget also requires end_time. optimization_goal must match the campaign objective: OUTCOME_TRAFFIC → LINK_CLICKS / LANDING_PAGE_VIEWS / IMPRESSIONS; OUTCOME_AWARENESS → REACH / IMPRESSIONS; OUTCOME_ENGAGEMENT → POST_ENGAGEMENT / THRUPLAY / PAGE_LIKES / CONVERSATIONS; OUTCOME_LEADS → LEAD_GENERATION / QUALITY_LEAD / OFFSITE_CONVERSIONS; OUTCOME_SALES → OFFSITE_CONVERSIONS / VALUE; OUTCOME_APP_PROMOTION → APP_INSTALLS. OFFSITE_CONVERSIONS/VALUE need promoted_object with the pixel: {"pixel_id":"123","custom_event_type":"PURCHASE"}. LEAD_GENERATION needs {"page_id":"123"}. destination_type is only for non-website destinations (MESSENGER, WHATSAPP, PHONE_CALL); omit it for regular website traffic. For destructive delete use meta_ads_adset_delete.
[Flattened action: update]
Bulk support: accepts adset_ids, campaign_ids for batched execution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| status | No | ||
| account | No | ||
| adset_id | No | ||
| end_time | No | ||
| adset_ids | No | ||
| targeting | No | ||
| bid_amount | No | ||
| start_time | No | ||
| campaign_id | No | ||
| auth_account | No | ||
| bid_strategy | No | ||
| campaign_ids | No | ||
| daily_budget | No | ||
| billing_event | No | ||
| lifetime_budget | No | ||
| promoted_object | No | ||
| destination_type | No | ||
| optimization_goal | No |