image_link image Fix “Image contains text overlay” on Meta Commerce Manager
Meta's catalog policy bans promotional text overlay on product images. When the auto-reviewer flags this, affected SKUs stop serving in Dynamic Product Ads, Advantage+ Catalog Ads, and organic Shopping placements until the image is replaced.
What you see in Meta Commerce Manager:
Image contains text overlay Meta's image text overlay policy is the single largest cause of DPA / Advantage+ Catalog Ads rejections in 2026. The threshold isn't published officially; operational evidence across accounts puts it at roughly 20% of the image area covered by text. The auto-reviewer over-flags during peak retail windows when manual review capacity is stretched.
The hand-edit-every-image instinct doesn't scale. Removing overlay from 50 product images is feasible work; removing it from 50,000 isn't. The scalable answer separates source-image policy compliance from creative branding entirely.
The model: image_link is clean source photography (no overlay, no badges, no aggressive watermarks). The branded creative — sale badges, dynamic price tags, brand colour treatment, conditional promotional elements — is applied at render time through a template that pulls data from the feed. The template renders against every SKU automatically; output is published to a URL Meta pulls from. The source image stays policy-compliant; the rendered creative carries the brand and promo signal.
This is what the [DPA Creative Editor](/features/dpa) does. It's also covered in detail in the [branded DPA creative playbook](/blog/branded-dpa-creative-catalogue-ads-at-scale). The principle: stop baking promotional elements into source images; treat catalog imagery and ad creative as different asset classes with different policy constraints.
The CTR data backs this up. Branded DPA creative (rendered templates against clean images) outperforms default Meta DPA templates by 30-60% on click-through across most retail verticals. That gap closes when default templates use the same clean source images — which is the same approach this issue's fix forces.
Top causes
- 1
Sale badges baked into product images ('50% OFF', 'FREE SHIPPING')
- 2
Brand watermarks covering more than ~20% of the image area
- 3
Lifestyle imagery with promotional text in the scene
- 4
Auto-reviewer false positives on legitimate text that's a physical part of the product (book covers, garment text)
How to fix it
- 1
Identify affected items
Commerce Manager → Catalog → Items → filter by rejected. The specific reason appears in each item's detail panel.
- 2
Strip text overlay from image_link
Use clean product photography — white background or environmental, no badges, no text, no watermarks beyond minimal corner branding.
- 3
Move promotional elements to the creative layer
Sale badges, dynamic price tags, brand elements — these become template-driven, applied at render time from feed data. The product image stays policy-compliant; the rendered creative carries the design language.
- 4
Force a catalog refresh
Commerce Manager → Data Sources → Fetch now. Items with corrected images clear at the next review cycle (typically 24-48 hours).
- 5
Appeal genuine false positives
Account Quality → Restrictions. Appeals work best when the 'text' is a physical part of the product (book covers, garment text) rather than promotional overlay.
Before and after
Product shot with 'SALE 50% OFF' rendered across the bottom and a 'NEW' sticker over the product. ~40% of image area is text overlay. Same product, photographed clean — no overlay. Branded template adds dynamic price tag, conditional sale badge, brand colour bar at render time, applied separately from image_link. The fix isn't to remove the design language — it's to separate the source image (which Meta sees in image_link) from the rendered creative (which carries the promo design).
Related issues
Restricted products
The item falls under Meta's restricted-product categories — alcohol, supplements, beauty claims, weapons, cryptocurrency, gambling, health products, and others. Items in these categories face stricter rules and often country-specific restrictions.
Read moreGeneric policy violation
Meta's general-purpose rejection — the item violates some policy but the auto-reviewer hasn't specified which. Frustrating because the diagnostic is vague. Usually it's image policy, restricted content, or personal attributes, but the path to the right answer involves digging.
Read morePromotional image overlay
The product image contains promotional text overlay — sale percentages, 'NEW' badges, watermarks, calls-to-action rendered into the image. Google's policy bans this and the auto-reviewer flags it. Affected items stop serving until the image is replaced with a clean version.
Read moreRelated fields
Related tools
FAQ
Where is the 20% threshold documented?
Meta doesn't publish a precise percentage — it's a heuristic established by partner documentation and ad ops community knowledge. Treat 20% as a practical ceiling; design below it to be safe.
Will replacing the image lose the item's ad history?
No. The catalog item's id carries learning, not the image URL. Replacing the image doesn't reset Advantage+ optimisation.
Why does this only get flagged in some retail windows?
Meta's auto-reviewer is more conservative during high-volume periods. The same image that passed in March may flag in November because the reviewer's confidence threshold tightens when manual review capacity is constrained.
Last reviewed: 26 May 2026
Why wait? Try it free today.
Stop managing feeds manually. Start optimising with AI in 30 seconds.
- Free plan, no credit card required
- 1 brand, 1 feed, 100,000 products per feed
- Full AI Product Optimisation, Rule Engine, and 200+ channel exports
- Pay only for AI credits when you need them