Why your Facebook ads get rejected, and how to avoid it

Most Meta ad rejections come from a handful of predictable causes. Here is what triggers them, what Special Ad Categories change, and how to fix a rejection.

An ad rejection is not usually a mystery. Meta’s automated review flags a fairly predictable set of things, and once you know what they are, most rejections stop happening.

Here are the causes worth knowing, roughly in order of how often they catch e-commerce advertisers.

Personal attributes — the one that surprises people

This is the most common rejection for stores that have done nothing obviously wrong.

Meta prohibits ad copy that asserts or implies knowledge of a personal attribute of the reader — health condition, financial status, age, religion, sexual orientation, race, or membership of a group.

The trap is second-person phrasing. These get flagged:

  • “Struggling with back pain?”
  • “Are you over 50?”
  • “Tired of being in debt?”
  • “Meet other single parents”

These do not:

  • “Back pain relief that works”
  • “Designed for comfort after 50”
  • “A simpler way out of debt”
  • “A community for single parents”

The rule is not about the topic — it is about whether the copy implies you know something about the specific person reading it. Rewrite from “you are X” to “this is for X”, and the same message passes.

Before-and-after and body imagery

Meta restricts images that show unexpected or unlikely results, before-and-after comparisons, or that zoom in on a specific body part in a way that implies a flaw to be corrected.

This catches a lot of legitimate skincare, fitness and supplement advertising. Split-screen transformation images are the classic trigger. So are close-ups of a stomach, teeth or skin isolated from a person.

Show the product in use, or the whole person, rather than the problem area.

Unrealistic or absolute claims

“Cures”, “guaranteed results”, “lose 10kg in a week”, “100% effective”. Health and finance claims get the strictest scrutiny, but the principle is general: if the claim cannot be substantiated, it is a policy problem regardless of category.

Softening the language usually fixes it without weakening the ad. “Clinically tested” instead of “clinically proven to cure”. “Most customers see results within four weeks” instead of “results in four weeks, guaranteed”.

Special Ad Categories

This is a different thing from a rejection, and it is worth understanding separately.

If your ad relates to credit, employment, housing, or social issues, elections and politics, you are required to declare it as a Special Ad Category. Doing so restricts your targeting substantially: most detailed targeting options disappear, age and gender targeting is removed, geographic targeting is limited to a broader radius, and lookalikes are replaced with a more limited “special ad audience”.

Two things go wrong here. Advertisers who should declare do not, and get their ads rejected or their account restricted. Advertisers who declare unnecessarily hobble their targeting for no reason.

Categories adjacent to these — health products, alcohol, gambling, dating, supplements — are not Special Ad Categories but do carry their own restrictions, age gating and in some markets outright prohibitions. Check the specific policy for your product before you build the campaign, because the targeting you are allowed to use changes the campaign structure.

Landing page mismatch

Meta reviews where the ad goes, not just the ad. Rejections here come from:

  • A landing page that does not obviously sell what the ad advertised.
  • A page with no visible contact information, terms, or privacy policy.
  • Aggressive interstitials, forced pop-ups before content, or auto-downloads.
  • Broken or geo-blocked pages — if the reviewer cannot load it, it fails.

For a Shopify store this is usually straightforward, but it does catch people running ads to a product that is out of stock or to a page hidden behind a password.

Text in images

The old hard limit of 20% text in images is no longer enforced as a rejection. Heavy text can still suppress delivery in practice, and it tends to perform worse regardless. Treat it as a performance consideration rather than a policy one.

What to do when an ad is rejected

Read the actual reason. Meta names the policy in the rejection notice. It is often more specific than the summary email suggests.

Request a review if you believe it is wrong. Automated review has a meaningful false-positive rate, and the appeal often succeeds within a day. This is the correct first step when you are confident the ad complies.

Do not resubmit the same ad repeatedly. Repeated rejections accumulate against the account, and enough of them can trigger an account-level restriction that is far more painful to resolve than a single ad.

Edit rather than duplicate. Editing the rejected ad sends it back through review. Duplicating it and hoping is how one rejection becomes five.

Building compliance in from the start

The cheapest time to deal with policy is before the ad exists. Two habits do most of the work:

Write copy in the third person about the product, rather than the second person about the reader. Almost every personal-attribute rejection disappears.

Check whether your product category has restrictions before choosing the targeting, because for restricted categories the targeting is what changes, and discovering that after you have built the campaign means building it again.


AdPilot’s campaign generator applies Meta’s advertising rules while writing: it avoids targeting on protected attributes, uses age and gender only where objectively relevant, and attaches a mandatory warning when a product falls into a special category such as health, finance, alcohol or credit.

Plan your next Meta campaign in a minute

Install AdPilot from the Shopify App Store and generate your first campaign today. The free plan needs no credit card.