meta-ads · git:20261014.8613433 · 2026-10-14 · sha256 4b52a432cba05fd7

meta-ads git:20261014.8613433A

Immutable. This exact content never changes and is served at /api/v1/blob/4b52a432cba05fd7.

---
name: meta-ads
description: "Meta (Facebook/Instagram) Ads theory and diagnostics for the policy-compliant (clean) lane: 'why is CPA up', 'CBO vs ABO', 'pixel vs CAPI mismatch', 'what does Marketing API error X mean'. Covers Ads Manager, ODAX objectives and structure, Advantage+, placements and creative, targeting, budgets and bidding, pixel/CAPI and attribution, ad policy, unit economics, account audits, API governance and the canonical API error catalog. Not grey/affiliate launch ops, metaops CLI or ad-rejection survival (meta-grey-ops), kill/scale rules (senior-buyer-ops), tracker math (tracker-ops) or causal test validity (measurement-experimentation-ops)."
---

# Meta Ads

Operate as a senior Meta Ads practitioner. UI, eligibility, policy, API behavior, prices and benchmarks are volatile: verify current primary sources when an answer depends on them. Each reference header carries its review date; only sections marked verified were rechecked against primary sources.

Sibling skills live at `../<name>/`. In references, `<name>/NN` means `../<name>/references/NN-*.md`.

## Route references

Read only what the task needs:

| Need | Reference |
|---|---|
| Evidence labels, source priority, API version table, hard limits | `references/00-evidence-and-maintenance.md` |
| Portfolio, assets, access, billing, security | `references/01-business-portfolio-setup.md` |
| Ads Manager UI, metrics, reports, rules | `references/02-ads-manager-interface.md` |
| Objectives, structure, CBO/ABO, special categories | `references/03-campaign-objectives-structure.md` |
| Placements, formats, ratios, creative | `references/04-instagram-placements-creatives.md` |
| Advantage+ and manual audiences, geo, retargeting | `references/05-targeting-audiences.md` |
| Budgets, bidding, learning, cost drivers | `references/06-budgets-bidding-costs.md` |
| Policy, restricted verticals, review, appeals | `references/07-policies-restricted-niches.md` |
| Pixel/dataset, CAPI, events, UTMs, attribution | `references/08-tracking-pixel-optimization.md` |
| Intake, economics, diagnosis, test design | `references/09-diagnostics-unit-economics.md` |
| Budget tiers by decision capacity, test backlog, post-mortem | `references/11-budget-and-funnel-playbooks.md` |
| Creative metrics, audits, exports, scenarios | `references/12-creative-diagnostics-account-audits.md` |
| API/MCP governance, identity, billing, launch gates (token mechanics: `meta-grey-ops/02`) | `references/13-api-access-billing-launch-operations.md` |
| API errors: code, cause, fix | `references/14-api-error-catalog.md` |

Read 00 for any current policy, eligibility or numerical claim. Read 13 before API/MCP automation, accepting tokens, billing work, restrictions or activation.

Scaling and kill numbers (budget steps, thresholds, budget vs CPA) are canonical in `senior-buyer-ops/01`. Grey/affiliate lane: `meta-grey-ops`. Strategy (structure, bid, event, edit policy) is the account owner's call; these files give options, not a default.

## Guardrails

Tripwires that fire before any reference is read:

- The location-presence selector and Special Ad Audiences are retired (`00` §4).
- Pixel is the web data source; datasets group events (`08`). Interest/lookalike and Advantage+ availability vary: verify the live flow (`05`).
- `50 events/7 days`, budget-change percentages, frequency caps and refresh cadences are heuristics, not rules. Hard limits: `00` §4.2.
- Card verification, balance, payment eligibility and restriction are separate states, as are portfolio membership, ownership and creation quota. `Leave` is not deletion; "warmed" assets guarantee neither approval nor payment trust (`01`, `13`).
- Support replies are account-specific evidence, not platform contracts (`00` §2).
- System User tokens are bearer secrets: never in chat, URLs, screenshots, repos or logs.
- Never delete/rebuild assets or profiles to evade enforcement.

## Evidence rules

Label material claims when useful: official, Meta-reported, independent benchmark, practitioner heuristic, unverified. Keep source population, geography, objective, date and method. Never turn a benchmark or case lift into a platform rule or forecast.

## Minimum context

Infer first; ask only for inputs that change the decision: country, currency, vertical, special-category status; business model, offer, destination, sales cycle; objective, conversion location/event, attribution; spend/dates, structure, delivery state, recent edits; CPM, CTR, CPC, LPV, CVR, CPA/CPL, value/ROAS, frequency; backend revenue, margin, lead quality, refunds, lag; pixel/dataset, CAPI, UTMs, consent, Diagnostics. State assumptions and continue.

## Model

```text
Portfolio -> assets/access/billing/security
  Campaign -> objective/category/budget
    Ad set  -> event/audience/placements/bid/schedule/attribution
      Ad    -> identity/creative/copy/CTA/destination
```

Diagnose at the level that owns the setting. Check campaign, ad-set and ad effective status separately.

## Workflow

1. Derive break-even CPA/CPL/ROAS from margin, value and close rate (affiliate CPA: target = payout per approved conversion, no ROAS; `09` §2).
2. Verify ownership, least privilege, 2FA, billing, policy/category.
3. Choose the closest measurable business outcome and conversion location.
4. Validate one event per real outcome, parameters, CAPI dedup, UTMs.
5. Consolidate enough to learn; avoid redundant low-spend ad sets.
6. Choose Advantage+ audience/placements deliberately; use hard controls and manual structure only for a reason.
7. Distinct concepts with native 4:5 and 9:16 assets; preview placements and enhancements.
8. Predefine KPI, lag, observation window, stop/scale/rollback conditions.
9. Before activation verify Account Quality, billing, identity, schedule, currency, budget, destination, previews, effective statuses.
10. Reconcile Meta with analytics/CRM/backend before optimization conclusions.

API launch: verify scopes and exact asset tasks, then create every object `PAUSED` as a zero-spend write probe (a successful `GET` does not prove write access). A PAUSED ad created via API is still submitted for review at once; the grey launcher creates ACTIVE by default (`meta-grey-ops/00`).

## Diagnose in order

```text
eligibility/billing -> delivery -> auction -> attention -> click quality
-> landing continuity -> conversion -> business value -> attribution
```

- No spend: restrictions, billing, status, schedule, eligibility, audience/placement, bid, creative.
- High CPA: decompose CPM, CTR, click-to-LPV, CVR, value/quality.
- Meta/backend mismatch: count/dedup first, then attribution, lag, consent, modeled/view-through results, refunds, qualification.
- Creative: reference 12; define hook/hold denominators first.
- Export audit: stable IDs, raw counts, daily/placement exports, attribution context, backend joins; `scripts/analyze_ads_export.py` gives weighted totals and top-spend rows for one CSV (no joins, no thresholds; `12` §6).
- Restriction: capture the exact asset and reason, fix, then appeal. Grey lane (own BM: no edit/resubmit on a disapproval; disabled account triage): `meta-grey-ops/23`.
- API read-only failure: scopes, System User asset tasks, app/business relationship, identity, restriction state.

## Output

Lead with the decision. Include evidence level/assumptions, exact actions at the right level, measurement window, stop/rollback conditions and remaining uncertainty. Treat published cases as mechanism analogies, not outcome promises.

For regulated verticals verify current Meta policy and local law. Cloaking, replacement accounts and review-layer filters are Circumventing Systems; this skill does not own that lane (`meta-grey-ops`).