Skip to main content
Operations6 min read

Stay Out of Meta's Doghouse — A Compliance Guide for Contractors.

The specific policy rules that trip up home service advertisers: medical claims, personal attributes, pricing, before/afters, and more.

J
JadenFounder, Elev8 Operations
200+ contractor accounts managed6 min read · Updated 2026-05-10

Meta's policies are inconsistently enforced but consistently enforced-against. Contractors get ad rejections + account flags for things they didn't know were violations. Here's the compliance cheat sheet.

The 7 Most Common Rejection Reasons

1. Personal Attribute Violations

Meta doesn't let you imply you know something about the user personally. 'Are YOU tired of high electric bills?' might get flagged. 'Tired of high electric bills?' (without the 'you') usually passes.

2. Before/After Without Context

'Before/after' photos are fine, but health/cosmetic transformation framing (weight loss, skin, etc.) is off-limits even if you're showing a home improvement. Keep 'before/after' framing firmly home-service oriented.

3. Urgency + Fear Language

'Act now or regret it' types of language can trigger the misleading-advertising flag. Urgency is fine ('limited April inspections') — fear-mongering isn't ('your house will flood if you don't act').

4. Exaggerated Savings Claims

'Save thousands!' without substantiation can be flagged. Better: 'Clients typically save $X-$Y on roofing insurance claims' — more specific, less exaggerated-sounding.

5. Unverified Trust Signals

Saying 'licensed + insured' is fine. Saying '#1 rated roofer in [state]' without substantiation gets flagged. Accurate superlatives ('A+ BBB rating') are safe; puffery isn't.

6. Discriminatory Targeting

Meta restricts targeting by age/gender/ZIP for ads about housing (which can include home services in some interpretations). Run service-area targeting at the metro/city level, not individual ZIPs when you can.

7. Landing Page Discrepancies

If your ad says '$49 tune-up' but the LP says '$149 tune-up,' that's a misleading-advertising violation. Pricing on ad must match LP exactly.

The Unofficial Rules Nobody Tells You

  • Don't run the same exact ad from multiple Business Managers (triggers duplicate-ad-account flag)
  • Don't change primary Pixel 3+ times in a month (looks suspicious to Meta's fraud system)
  • Don't run ads with competitor names in copy (trademark violation flag)
  • Avoid the phrase 'money-back guarantee' without substantiation (can trigger misleading-claims flag)
  • Never use numbered comparisons like 'beat Competitor X by 30%' — direct attacks get flagged

When You Get Flagged

  • Step 1: Review the specific policy cited. Meta's notification usually links to the section.
  • Step 2: Fix the specific issue. Don't resubmit identical creative.
  • Step 3: Appeal if you believe it was wrong. Meta does reverse some rejections, especially at the human-review level.
  • Step 4: Don't submit 5+ times in a day. Pattern-repetition flags your account further.
Share
6 min read · Updated 2026-05-10

Frequent Questions. Short Answers.

Three options: (1) appeal the ban through Meta's review process — works 30% of the time for first-offense bans; (2) move advertising to a different Business Manager with different admin; (3) work with an agency that has a history of restoring banned accounts. Don't try to create fake accounts — pattern detection catches that.

Any health or medical framing triggers strict review. For contractors: 'AC repair for healthier indoor air' is medical-adjacent and might get flagged. Stick to clearly home-service framing: comfort, energy savings, property value.

For home exteriors/interiors, yes. Just avoid framing around bodies/health. 'Before: stained deck. After: restored deck' = fine. 'Before: embarrassed to have guests over. After: confident' = body/health-adjacent and may flag.

No. Some violations get missed; some clean ads get flagged. The enforcement is largely automated and noisy. Your job: minimize flag-worthy elements so when enforcement hits, you have defensible creative. Don't rely on 'it got through last time.'

Subscribe to Meta's Business News RSS + check Ad Library quarterly for your trade to see what's getting flagged. Major policy changes (like the 2024 housing-targeting restrictions) are announced 60-90 days ahead. Update your creative + targeting BEFORE the deadline — ads that violate post-deadline rules get auto-flagged and can hurt your whole account's reputation score.

Rarely from a single ad — but a pattern of violations can. Meta's policy enforcement is graduated: warning → ad rejection → account flag → restricted delivery → suspension → permanent ban. Most contractors who get permanently banned ignored 5+ warnings and resubmitted nearly identical creative repeatedly. Pay attention to the first warning; treat it as the actionable signal it is.

Walk a careful line. Meta's financial-services restrictions apply to lenders and financial advisors — not to contractors who happen to offer financing. Allowed: 'Financing available' + 'Affordable monthly payments' + 'Payment plans for major projects.' Not allowed: implying you're the lender, quoting specific APRs/interest rates, claiming guaranteed approval, or using 'no credit check' language. Safest framing: 'Financing options through our partners' (signals you're not the lender). For high-ticket trades (roofing, solar, remodeling), financing copy CAN work — it just needs the right framing. If your ad gets flagged, scrub the financial language entirely and add a more neutral 'flexible payment options' phrase. Avoid screenshots of dollar amounts in approval emails — Meta's image AI flags those as financial-product imagery.

Allowed framings: '100% satisfaction guaranteed,' 'workmanship warranty included,' 'we'll redo any work you're not happy with at no charge,' 'fully insured + bonded.' These signal trust without crossing policy lines. Risky framings that often get flagged: '100% guaranteed results' (Meta interprets as 'guaranteed outcomes' which violates Personal Attributes policy), 'risk-free' (financial language flag), 'guaranteed return on investment' (financial product implication). The safest pattern: anchor your guarantee to a SERVICE deliverable, not a financial outcome. 'We'll redo any work that's not perfect' = compliant. 'You'll save 30% on energy bills guaranteed' = flagged because outcomes vary by household. When in doubt, run the ad copy through Meta's Pre-Submission Tool in Ads Manager (it pre-screens for policy violations before submission).

Personal Attributes policy is the most common violation for contractor ads. Two principles: (1) DON'T REFERENCE the user's status directly — 'Are you a homeowner?' = violates (assumes status). 'Homes need maintenance every spring' = compliant (general statement); (2) DON'T IMPLY SHARED experience that targets a protected class — 'Hey single moms, save on lawn care' = violates (gender + family status targeting via copy). 'Lawn care service for busy families' = compliant (general benefit). The pattern: the ad copy should make sense to ANY viewer, even if Meta is targeting it to a specific demographic. The targeting (age, geo, interests) does the segmentation; the copy should be universal. Most contractor copy violations come from mirroring the targeting too literally in the ad text. If you wouldn't say it as a TV commercial broadcast to everyone, don't say it in the ad. Use the targeting layer for segmentation, not the copy.

Three rules to keep before/after compliant: (1) BOTH IMAGES MUST BE REAL + UNRETOUCHED — Meta's image AI compares pixel data; cleanly-shot before + after of the same property = compliant; staged 'demo' before vs 'professional' after with different lighting = flagged as misleading; (2) DON'T IMPLY GUARANTEED OUTCOMES — 'Most homeowners see results like this' = compliant (qualified). 'You'll get results like this' = flagged (guarantee); (3) AVOID FACES OR BODIES — focus on the property, not the person. Body-in-photo with 'before/after' framing trips the 'personal attributes' filter. Three more practical safeguards: include a small disclosure ('actual customer project, [city], [date]'); use multiple before/afters in a carousel rather than dramatic single comparisons (lower flag risk); have written customer permission on file in case Meta's reviewers ask. Most contractor before/after rejections come from over-cropping the 'after' image to make the difference look bigger than reality — keep it honest, keep it compliant.

Three options ranked by speed + cost: (1) APPEAL — submit appeal with a brief explanation of why you believe the ad complies (use Meta's 'Request Review' button on the rejected ad). 30-50% of appeals succeed for legitimately compliant ads; takes 24-72 hours. Use when you genuinely believe Meta's auto-flag was wrong. Don't appeal if the ad clearly violates a policy; (2) EDIT + RESUBMIT — make a specific change addressing the cited policy issue. Resubmit. Faster than appeal (12-24 hours typically). Use when the violation is real but minor (one specific phrase, one image to swap); (3) RELAUNCH FRESH — duplicate the ad set, build a new ad from scratch with cleaner copy + creative, ignore the rejected one. Use when the rejection has stacked policy violations or your account quality is at risk. Avoid the trap: resubmitting the SAME flagged ad multiple times. Meta detects pattern + escalates to account-level penalties. Each rejection should result in a meaningful change, not a re-submit attempt.

Five preventive measures: (1) Keep Account Quality at 'Good' or 'Excellent' rating — review monthly; address yellow flags within 7 days; (2) Don't run ads that target sensitive verticals you don't actually serve (health claims, debt relief, get-rich-quick); (3) Limit your ad account to 1-2 trusted admin users + audit access quarterly (rogue admins cause many bans); (4) Verify your Business Manager (business.facebook.com → Verification) — verified BMs get more lenient enforcement; (5) Pay invoices on time + never run a card that gets declined (financial flags compound with policy flags). IF YOU DO GET DISABLED: (a) submit appeal IMMEDIATELY through Account Quality; include all relevant business documents (LLC docs, tax ID, business license, insurance certificate); (b) DON'T create a new BM under a different email (Meta detects this + permanently bans across all your accounts); (c) consider an agency partner with Meta Concierge access — they have escalation paths regular users don't. About 40-60% of first-time bans get reversed via proper appeal process. Repeat offenders rarely recover.

Three free monitoring practices that catch policy shifts before they affect you: (1) META BUSINESS NEWS RSS feed (transparency.fb.com/policies/community-standards) — Meta publishes major policy updates 30-60 days before enforcement; subscribe via RSS reader; (2) AD LIBRARY for your trade — bookmark searches like 'roofer [your city]' and check monthly. If you suddenly see competitors' ads paused en masse OR a new format dominating, a policy or industry-wide change is happening; (3) r/FacebookAds + r/PPC subreddits — practitioners flag policy changes faster than Meta announces them. 30 min/month total monitoring catches 80% of relevant policy changes. The rule: if you're surprised by a policy change that affects you, you weren't monitoring. Most contractors get blindsided by changes (last year's housing-targeting restriction, AEM changes, financial-services rule shifts) because they only learn about them when their ads suddenly get rejected. Proactive monitoring is the cheapest insurance against policy disasters.

Five copy patterns that consistently trigger auto-rejection for contractor ads: (1) PERSONAL-ATTRIBUTE assumptions — 'You homeowners,' 'You who own roofs,' 'Hey landlords' — implies user characteristic (Personal Attribute violation); (2) HEALTH/SAFETY claims unless you're licensed for them — 'reduce indoor allergies by 80%,' 'eliminate mold permanently,' 'lower energy bills 50% guaranteed' — outcome guarantees + health claims trigger Discriminatory Practices + Personal Attributes filters; (3) CRISIS/URGENCY language that sounds predatory — 'Don't lose your home to bad roofing,' 'Your AC could DIE today' — triggers misleading-claims policy; (4) PRICING claims that aren't fully verifiable — 'Cheapest in [city],' 'Lowest rates in Texas' — superlative claims are red flags; (5) FINANCIAL terms even when you're not the lender — 'No credit check,' 'Guaranteed approval,' specific APR percentages. Replace each with compliant alternatives: instead of 'reduce allergies,' say 'remove duct-system buildup'; instead of 'cheapest,' say 'transparent pricing.' Most rejection appeals fail because the contractor doesn't fix the actual policy issue, just resubmits with cosmetic changes. Treat the policy citation as a real instruction, not a suggestion.

Three best practices for compliant before/after ads. (1) DOCUMENTATION readiness — keep a folder per project: signed customer permission form, project-completion date stamp, raw before+after photos with EXIF metadata intact. If Meta reviewers request verification, you can provide within 24 hours; (2) DISCLOSURES placed visibly — small text in the ad ('Actual customer project, [city], [date]') shifts liability + signals authenticity. Avoid generic stock-style language; (3) CONSERVATIVE comparisons — show modest improvements ('Replaced 30-year-old roof with new architectural shingle'), not dramatic claims ('Look at this transformation!'). Modest framings rarely flag; dramatic ones often do. AVOID: cropping the after-photo to make differences look bigger than reality, color-correcting only the after-photo to look brighter, using stock 'before' images that you didn't actually photograph. Meta's image AI is increasingly sophisticated at detecting manipulation; getting flagged for misleading visuals damages account quality + makes future ads harder to approve. Document, disclose, stay conservative.

Want Us to Do It For You?

Book a free 30-minute strategy call. We'll apply everything in this guide to your business, for free.

Book My Free Strategy Call