meta_ads_excluded_placements_set
Set ad set delivery exclusions in Meta Ads, replacing specified facets while preserving other targeting. Reversible via rollback for safe changes.
Instructions
Sets one ad set's delivery-surface exclusions. Returns ad_set_id, the applied facets, and Meta's update result. Mutating and delivery-affecting — excluding too much can take an ad set to zero delivery. Each supplied facet REPLACES its current value (Meta has no append here); an omitted facet is left untouched. The rest of the targeting spec (geo, audiences, interests) is preserved by a read-modify-write merge. Recorded in STATE.json's action_log with an observation window and reversible via rollback_apply, which restores the prior lists.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_set_id | Yes | Ad set ID whose exclusions to read or write (e.g. '23851234567890123'). Exclusions live on the ad set, not on the campaign — set them per ad set. | |
| account_id | No | Ad account ID in 'act_XXXXXXXXXX' form. Optional — falls back to META_ADS_ACCOUNT_ID from the configured credentials. | |
| excluded_publisher_list_ids | No | Complete new value for targeting.excluded_publisher_list_ids — numeric ids of Audience Network publisher block lists to apply. Replaces the current list; an empty array clears the facet. | |
| excluded_publisher_categories | No | Complete new value for targeting.excluded_publisher_categories — Audience Network publisher/app categories to exclude. Replaces the current list rather than appending, so read the current value with meta_ads_excluded_placements_get first and send the full intended set. An empty array clears the facet. | |
| excluded_brand_safety_content_types | No | Complete new value for targeting.excluded_brand_safety_content_types — content types to exclude. Replaces the current list; an empty array clears the facet. |