---
name: enable-advantage-plus-placements
description: >-
  Configures placement delivery for a Meta ad set: defaults to Advantage+ placements (formerly "automatic
  placements"), Meta's recommendation for the lowest cost per result and the most optimization freedom
  across Feed, Reels, Stories, Search, Messages, and Audience Network. Covers the narrow, evidence-based
  reasons to exclude a placement, brand safety, poor Audience Network inventory quality, or a format the
  creative genuinely cannot support, plus per-placement asset customization (9:16 for Reels/Stories, 1:1
  or 4:5 for Feed) so excluded or constrained placements still get a properly sized asset instead of a
  stretched fallback. Reach for it at ad-set creation, or when auditing an account that hand-picked
  placements without supporting data. It ends at a placement configuration, it does not cover
  per-placement creative format specs and production (select-formats-and-placements, creative domain).
---
# Enable Advantage+ Placements (and When to Exclude)

## Purpose
Advantage+ placements lets Meta's delivery system shift budget in real time toward whichever placement is
currently cheapest for the optimization event, which nearly always beats a static, hand-picked placement
list. Manual placement selection was historically used to "protect" budget from bad inventory; targeted
exclusion now does that job better than a blanket manual list. This skill defaults every ad set to
Advantage+ placements and reserves manual exclusion for specific, defensible reasons backed by data.

## When to run
- Creating any new ad set, placement is one of the first delivery decisions to make.
- Auditing an account that manually selected placements with no documented reason or supporting data.
- A specific placement is suspected of a brand-safety or inventory-quality problem and needs evaluation.
- A creative format only supports a subset of placements (e.g., no video for Stories) and the ad set needs
  to reflect that constraint.

## When NOT to run
- Producing the actual per-placement creative assets and aspect ratios → `select-formats-and-placements`.
- Deciding audience targeting → `configure-advantage-plus-audience`.
- Building the campaign itself → `launch-advantage-plus-shopping` or the relevant campaign-build skill.

## Prerequisites
- An ad set in progress, or live for a review, whose placement field can be set via
  `mads_create_adset`/`mads_update_adset`.
- If considering exclusion: a specific, named reason, a brand-safety incident, an Audience Network
  quality complaint, or a format the creative cannot support, not a hunch.
- Placement-level performance data (`mads_run_insights` + `mads_get_insights`, broken down
  by placement) if this is a review of an existing hand-picked setup rather than a fresh build.
- Creative assets sized for the placements that will actually serve: at minimum a 9:16 asset for
  Reels/Stories and a 1:1 or 4:5 asset for Feed.

## Procedure
1. **Default to Advantage+ placements.** On `mads_create_adset` (or `mads_update_adset` for an existing ad
   set), set placements to automatic/Advantage+ unless a documented reason says otherwise. Do not
   hand-pick placements "to be safe", that instinct is exactly what Advantage+ placements outperforms.
2. **Supply per-placement creative.** Provide at minimum a 9:16 vertical asset for Reels/Stories and a 1:1
   or 4:5 asset for Feed via `mads_create_creative`'s placement asset customization. A single
   stretched/cropped asset across every placement suppresses performance even when placement selection
   itself is correct.
3. **Evaluate exclusion candidates against real reasons.** For each placement under consideration, name the
   reason: brand safety (content-adjacency risk on Audience Network/Instant Articles), inventory-quality
   complaints specific to Audience Network, or a format the creative genuinely cannot support. (HUMAN STEP:
   confirm a brand-safety concern with the user/brand-safety owner before excluding on that basis, it is
   not a delivery-data judgment call alone.) If no reason exists, do not exclude.
4. **Pull placement-level data before excluding on a live ad set.** Run `mads_run_insights` +
   `mads_get_insights` broken down by placement. IF a placement's CPA is clearly worse AND it carries
   meaningful spend AND the pattern holds over enough volume to not be noise, THEN it's a real exclusion
   candidate, thin-data placements are not.
5. **Exclude narrowly.** Turn off only the specific placement(s) with a documented reason via
   `mads_update_adset`, never the whole automatic-placements toggle in response to one bad placement.
   Audience Network is the most common targeted exclusion; Feed and Reels are rarely excluded.
6. **Preview and confirm.** Show the user which placements are included/excluded and why, plus confirmation
   that per-placement assets are loaded. Get explicit approval before commit (write-safety pattern).
7. **Commit and re-query.** Apply via `mads_update_adset`, then `mads_get_adset` to confirm the placement
   configuration saved as intended.
8. **Re-review on a cadence, not reflexively.** Re-pull placement-level performance on a normal reporting
   cycle; constant manual overrides starve Advantage+ placements of the data volume per placement it needs
   to optimize.

## Decision rules
- **No documented reason to restrict →** Advantage+ placements, fully automatic, always the default at launch.
- **Brand-safety concern on Audience Network/Instant Articles →** exclude that specific placement; leave
  the rest automatic.
- **Audience Network inventory-quality complaints with supporting data →** exclude Audience Network
  specifically, not Feed/Reels/Stories.
- **Format genuinely unsupported** (no vertical asset for Stories/Reels, no eligible asset for a
  placement's required format) **→** exclude that placement until the asset exists rather than force a
  stretched fallback.
- **Reviewing a hand-picked legacy setup with no documented reason on file →** default back to Advantage+
  placements unless the audit turns up a real, current reason to keep an exclusion.
- **Placement-level CPA looks bad but spend/volume is thin →** not yet a valid exclusion signal; let it
  accumulate data before acting.
- **Done means:** placements are Advantage+ (automatic) unless a named, evidence-backed exception is
  recorded, per-placement creative assets are loaded (9:16 and 1:1/4:5 at minimum), and any exclusion is
  scoped to the specific placement, not the whole automation.

## Common failure modes
- **Hand-picking placements by default "for control."** The single most common way accounts pay more per
  result than they need to, Advantage+ placements almost always wins on cost efficiency.
- **Excluding Audience Network account-wide on reputation alone,** with no account-specific data, sometimes justified, but it should be a decision, not a reflex.
- **One asset stretched across every placement.** Even with Advantage+ placements on, missing 9:16 assets
  for Reels/Stories degrades those placements and can look like a placement problem when it's a
  creative-supply problem.
- **Excluding a placement on thin, noisy data.** A handful of impressions with a bad CPA is not a pattern.
- **Toggling placements off and on reactively** instead of on a reasoned review cadence, starves the
  optimization system of stable data.
- **Confusing placement exclusion with format/creative production**, this skill decides which placements
  run; `select-formats-and-placements` handles the actual asset specs.

## Related skills
- Depends on: `select-formats-and-placements` (creative domain) for per-placement asset specs and production.
- Run alongside: `launch-advantage-plus-shopping` (placement is typically set during campaign build).
- Related: `configure-advantage-plus-audience` (the sibling automatic-vs-constrained decision for audience).
