Meta rejected your ad. Don't panic, don't resubmit, don't argue with the bot. Most rejection appeals fail because contractors skip the diagnostic step + go straight to 'try again with the same ad.' Here's what actually works.
Step 1: Read the EXACT Policy Citation (Don't Skip This)
When Meta rejects an ad, it cites a SPECIFIC policy with a link. Click the link. Read the actual policy. 80% of contractor appeals fail because they didn't read the citation — they just resubmitted hoping the rejection was a mistake.
Rejections often cite policies like 'Personal Attributes,' 'Discriminatory Practices,' 'Misleading Claims,' 'Restricted Content.' Each requires a different fix. Generic 'I think it's fine' arguments don't work — only specific evidence + specific changes get appeals approved.
Step 2: Identify the Trigger Element
Meta's rejection AI flagged something specific. Your job is to figure out what. The 5 most common contractor triggers:
- PERSONAL ATTRIBUTES: Copy that implies user characteristics — 'Are you a homeowner?', 'Tired of your old roof?', 'You homeowners know...' All assume the viewer's status.
- MISLEADING CLAIMS: Copy with unverifiable superlatives — 'Cheapest in town,' 'Lowest rates,' 'Guaranteed results.' Even if true, you can't prove it to Meta's reviewers.
- RESTRICTED HEALTH/SAFETY: Claims like 'reduce allergies,' 'eliminate mold permanently,' 'lower energy bills 50%.' Outcome guarantees + health claims trigger filters.
- FINANCIAL SERVICES: Phrases like 'no credit check,' 'guaranteed approval,' specific APR percentages. These flag even if you're not actually a lender.
- URGENCY/CRISIS: 'Your AC could DIE today!' / 'Don't lose your home!' triggers misleading-claims filters.
Step 3: Decide — Appeal, Edit-Resubmit, or Relaunch Fresh
DO NOT resubmit the SAME flagged ad multiple times. Meta detects pattern repetition + escalates to account-level penalties. Each rejection should result in a meaningful change — not a re-submit attempt.
Step 4: Edit + Resubmit Process (The Most Common Path)
If the rejection is real but minor, edit-resubmit is your fastest path. Workflow:
- Open the rejected ad → click 'Edit' (NOT 'Submit Appeal')
- Scroll to the section called out in the rejection (usually copy or image)
- Make a SPECIFIC change addressing the cited issue: rephrase 'You homeowners' to 'Homes need maintenance every spring'; replace 'cheapest in Houston' with 'transparent pricing'; remove unverifiable health claims
- Save + resubmit
- Approval typically comes back within 12-24 hours
Step 5: Appeal Process (When the Bot Was Wrong)
Appeals work best when you have a CLEAR case that Meta's auto-flag was a mistake. Use the 'Request Review' button on the rejected ad. Write a 2-3 sentence explanation:
Sample appeal text: 'This ad complies with [Policy X]. The phrase "22-point inspection" describes our service deliverable, not a health claim. We are a licensed roofing contractor (license #ABC1234) advertising standard inspection services. Please review.'
DON'T: argue with the policy itself, complain about the bot, demand explanations. Meta's reviewers look for clean compliance evidence, not defensive language. Clear explanation + verifiable facts wins appeals; emotional appeals don't.
Step 6: Prevent Future Rejections
Three preventive practices that cut your rejection rate by 70%+:
- PRE-CHECK every ad with Meta's Pre-Submission Tool in Ads Manager — flags policy issues BEFORE you submit
- MAINTAIN your Account Quality at 'Good' or 'Excellent' rating — quarterly check at business.facebook.com/accountquality
- BUILD a 'compliant copy' template library: pre-approved phrasings for trust signals, urgency, financing, and warranties (use the patterns from our /guides/meta-ads-compliance-contractors guide)
When to Worry About Account-Level Risk
Single-ad rejections are normal. Multiple rejections in a 30-day window can cascade to account-level penalties — restricted delivery, suspended accounts, sometimes permanent bans. Watch for these escalation signals:
- 3+ rejections in 30 days = warning
- Account Quality drops to 'Average' or 'Poor' = serious flag
- Reduced ad reach despite full budget = restricted delivery (silent penalty)
- Accounts running for 6+ months suddenly hitting policy walls = pattern detection
If you hit 3+ rejections in a month, STOP submitting the same campaigns. Audit your full creative library; identify what's triggering Meta's filters; rebuild from scratch with cleaner copy + creative. Resubmitting variants of flagged ads compounds the problem.