update_adset
Update an existing Meta ad set with supervised validation and rollback support. Modify name, status, budget (ABO only), targeting (partial updates allowed), or schedule. Enforces ABO/CBO budget rules and verifies post-write state.
Instructions
Update an existing ad set. Supervised write - validates before applying.
Takes a pre-write snapshot for rollback, validates the update payload, applies via Meta API, and verifies post-write state.
Note on budgets: ABO/CBO rules are enforced. If the parent campaign uses CBO (has campaign-level budget), ad set budget updates are blocked. Budget updates are only allowed for ABO ad sets (parent campaign has no budget).
Note on targeting: targeting_json must be a valid Meta targeting spec JSON object. Partial updates are supported - Meta merges provided fields with existing targeting. To clear a field, set it explicitly to null in the JSON.
Args: adset_id: Ad set ID to update. name: New ad set name. Subject to naming enforcement. status: New status. Allowed: 'PAUSED', 'ACTIVE', 'ARCHIVED'. Activating requires confirmation-level validation. daily_budget: New daily budget in currency units (e.g., 15.0 for EUR 15). Only allowed for ABO ad sets. Mutually exclusive with lifetime_budget. lifetime_budget: New lifetime budget in currency units. Only allowed for ABO ad sets. Mutually exclusive with daily_budget. targeting_json: JSON string of targeting spec to apply. Example: '{"geo_locations":{"countries":["GR"]},"age_min":25,"age_max":55}' start_time: New start time (ISO 8601 format). end_time: New end time (ISO 8601 format).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| adset_id | Yes | ||
| name | No | ||
| status | No | ||
| daily_budget | No | ||
| lifetime_budget | No | ||
| targeting_json | No | ||
| start_time | No | ||
| end_time | No |