---
name: appeal-rejections-and-restrictions
description: >-
  Turns a disapproved Meta ad or a restricted ad account into a resolved item: read the actual reason
  from mads_get_ad (ad_review_feedback and effective_status), diagnose whether it names a real violation
  or a system error, then fix the ROOT CAUSE, rewrite the flagged element and submit as a new ad, or
  file a specific appeal via Account Quality (facebook.com/accountquality). Covers business verification
  blocks on Advanced Access, and draws a hard line against the two moves that convert a recoverable
  disapproval into permanent enforcement: resubmitting an identical disapproved ad, and spinning up a new
  ad account or Business Manager to route around a restriction. Reach for it whenever an ad shows
  DISAPPROVED, an account carries a policy restriction, or a business-verification gate is blocking a
  feature. It ends at a resolved or filed-and-pending item, prevention so the same cause doesn't recur
  is pass-ad-review-and-avoid-rejection.
---
# Appeal Rejected Ads and Account Restrictions

## Purpose
A disapproval or restriction is Meta stating specifically what it thinks is wrong; the fast, safe path is
reading that reason and fixing it, not guessing, not resubmitting unchanged, and never routing around
enforcement with a new account. This skill turns a disapproved ad or a restricted account into either a
fixed-and-cleared item or a filed, well-supported appeal, while treating any circumvention instinct as
the single fastest way to lose the account permanently.

## When to run
- An ad shows `DISAPPROVED` or a similarly blocked `effective_status`.
- An ad account or Page carries a restriction, reduced delivery, a locked feature, or a formal warning, tied to policy enforcement.
- A previously-edited ad was resubmitted and disapproved again, for the same or a different reason.
- Business verification is blocking Advanced Access or another restricted feature the account needs.

## When NOT to run
- The ad hasn't been submitted yet → run `pass-ad-review-and-avoid-rejection` first so it never needs
  this skill at all.
- The vertical itself was never cleared → `navigate-restricted-verticals`; settle the vertical question
  before appealing an ad that was never eligible to run as built.
- The disapproval cites Special Ad Category or targeting-discrimination reasons → this skill still
  applies for reading the feedback and deciding fix-vs-appeal, but the fix itself is
  `declare-special-ad-categories`.

## Prerequisites
- The disapproved ad's ID(s), and, for account-level issues, the restriction notice, HUMAN STEP, these
  typically arrive by email or in Business Manager, not through VigilDog.
- Willingness to change the ad rather than defend it unchanged, an appeal only makes sense when the
  business genuinely believes the ad complies.
- Access to Account Quality (facebook.com/accountquality) to actually file a review request, VigilDog
  has no appeal-submission tool; filing is always a HUMAN STEP.

## Procedure
1. **Read the actual disapproval reason.** Call `mads_get_ad` and pull `ad_review_feedback` and
   `effective_status`, do not act on a guess or on the ad's surface topic. The feedback names the
   policy area (personal attributes, restricted content, landing page, and so on).
2. **Diagnose root cause vs. symptom.** Map the cited policy to what specifically triggered it: which
   line of copy, which creative element, which landing-page behavior, which targeting parameter. IF the
   cited reason doesn't obviously match anything visible in the ad, THEN check the landing page and
   targeting spec too, the visible creative is often not the actual cause.
3. **Decide fix-and-resubmit vs. appeal.** IF the ad genuinely violates the cited policy, THEN fix the
   root cause (rewrite copy, replace creative, repair the landing page, correct targeting) and submit it
   as a new ad, don't edit something adjacent and hope. IF the ad genuinely complies and the disapproval
   looks like a system error, THEN appeal instead of editing.
4. **Never resubmit an identical disapproved ad.** Identical resubmission, same creative, same copy,
   same landing page, does not read to Meta as a neutral fresh review; it reads as either an error on
   their part (rare) or an attempt to slip past review (the default assumption).
5. **Never spin up a new ad account to dodge a restriction.** Creating a fresh Business Manager or ad
   account specifically to route around a disapproval or restriction is circumventing the enforcement
   system. It is treated far more severely than the original violation and risks losing both accounts
   permanently. Resolve the current account in place instead.
6. **File the appeal, when warranted, via Account Quality.** HUMAN STEP (outside VigilDog):
   facebook.com/accountquality shows the specific violation and the request-review option. Include the
   reasoning for why the ad complies, a bare "please review again" is weaker than a specific rebuttal of
   the cited policy.
7. **Handle business-verification blocks separately.** If Advanced Access or a restricted feature is
   gated on Business Verification, that is a document-submission process in Meta Business Manager (HUMAN
   STEP), confirm what's outstanding and route it to the account owner; VigilDog cannot submit
   verification documents.
8. **Escalate if the account-level restriction persists.** Repeated denied appeals on genuinely compliant
   content, or a restriction with no clear cited cause, becomes a Meta Business Help Center support case
   (HUMAN STEP), not another retry loop.
9. **Log the resolution.** Record what was cited, whether it was fixed or appealed, the outcome, and, if fixed, feed the root cause into `pass-ad-review-and-avoid-rejection`'s pre-submit checklist so the
   same mistake doesn't recur.

## Decision rules
- IF `ad_review_feedback` names a specific policy and the ad actually does that THEN fix the root cause
  and submit a new ad, don't appeal a real violation.
- IF the ad genuinely complies and the disapproval looks wrong THEN appeal via Account Quality with a
  specific rebuttal, not a generic re-request.
- IF the instinct is "let's just resubmit the same thing and see" THEN stop, that is the one move that
  turns a recoverable disapproval into an enforcement pattern.
- IF the instinct is "let's build a new ad account" to get around a restriction THEN stop, this is
  account-ban-risk territory, regardless of how unfair the original restriction felt.
- IF a business-verification requirement blocks a needed feature THEN route to the account owner as a
  document-submission HUMAN STEP, there is no tool-level workaround.
- IF the same policy topic recurs across multiple ads THEN the fix belongs in the creative/copy process
  (`pass-ad-review-and-avoid-rejection`), not in another round of appeals.
- **Done means:** the cited reason was read from `mads_get_ad`, a fix-vs-appeal decision was made and
  documented, the ad was either resubmitted with the root cause changed or a specific appeal was filed
  via Account Quality, and the incident is logged for prevention.

## Common failure modes
- Appealing a real violation instead of fixing it, wastes review cycles and builds a denial history on
  the account.
- Editing something adjacent to the flagged issue while leaving the actual cause untouched, then being
  surprised by a second disapproval.
- Resubmitting an unchanged ad "to see if it clears this time", it reads as evasion, not luck.
- Creating a new ad account after a restriction, the single highest-risk move in this skill; treat it as
  off-limits, not a last resort.
- Filing a generic "please review" appeal with no rebuttal, which reviewers weight lower than a specific,
  policy-referenced explanation.
- Not logging the resolution, so the same policy trips the account again next month.

## Related skills
- Run after: `pass-ad-review-and-avoid-rejection` (this feeds it, root causes found here become that
  skill's pre-submit checks).
- Related: `declare-special-ad-categories`, `navigate-restricted-verticals` (when the root cause is
  targeting or vertical, not creative).
- Related: `set-up-political-ads-authorization` (if the restriction is SIEP-authorization related).
