image_link image Fix “Promotional overlay on image” on Google Merchant Center
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.
What you see in Google Merchant Center:
Promotional overlay on image
API identifier: image_link_promotional_overlay
The image text overlay policy was tightened in 2024 and tightened again in 2026. The threshold isn't published officially, but 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 (Q4, BFCM) when manual review capacity is stretched, so creatives that pass in March may fail in November. The classifier looks at the entire image: badges in corners count, watermarks across the centre count, "100% Cotton" stamps over the product count.
What specifically triggers the flag: sale percentages ("SALE 50% OFF"), urgency claims ("LIMITED TIME"), product attributes baked into the image ("WATERPROOF", "100% COTTON"), brand watermarks larger than 10% of the image area, calls-to-action ("SHOP NOW"). What doesn't trigger: text that's a physical part of the product (book covers, garment text, product packaging photographed naturally), small corner brand logos under 5% of area, model release captions that don't promote.
The hand-edited-fix problem: removing overlay from 20 product images is feasible, removing it from 20,000 isn't. The scalable answer separates source-image policy compliance from creative branding. Keep image_link as clean source photography — no overlay, no badges, no watermarks beyond minimal corner branding. Apply promotional elements (sale badges, dynamic price tags, brand colour bars, conditional sale signals) at render time through a creative template that pulls data from the feed.
This is what the DPA Creative Editor handles. The template renders against every SKU automatically — change a price, the rendered creative updates next render pass. Add a sale badge to the template, every SKU's creative now shows the badge when sale_price is set. The source image stays policy-compliant across all channels; the rendered output carries the branding and promotion data. One template can render against 50,000 SKUs in under 15 minutes; manual badge work across the same volume takes weeks.
The auto-reviewer's seasonal aggression is worth planning around. October through December, the auto-reviewer is materially stricter — overlay that passes in October may flag in November. Q4 launches that depend on promotional creative should validate against current enforcement two weeks before the campaign goes live, not three days before. Most teams discover this when their BFCM creative gets flagged mid-campaign.
The appeal path for false positives is real but slow. Legitimate text that's a physical part of the product (book titles, garment text, product names physically printed on packaging) sometimes gets flagged. The appeal succeeds when you can document the text is physical-to-product, not added-in-post. Provide the original photography file and the manufacturer's product image showing the same text. Appeals typically resolve in 5-7 days; during the wait, the listings are suspended.
The strategic implication: this is the work where you separate "policy-compliant feed-grade imagery" from "branded creative-grade imagery". They're different assets with different requirements. Treating them as one breaks the moment policy tightens. The teams that have done this separation well are the ones who can ship creative refreshes across the full catalog in hours instead of months, because the rendering layer scales independently of the source-image layer.
The Audit feature catches overlay issues across Google, Meta, and TikTok (each has its own overlay policy with slightly different thresholds) — see the [DPA creative playbook](/blog/branded-dpa-creative-catalogue-ads-at-scale) for the full creative-layer strategy.
Top causes
- 1
Sale badges baked into product images (most common cause in retail)
- 2
Brand watermarks covering more than ~20% of the image area
- 3
Lifestyle imagery with promotional text in the scene
- 4
Calls-to-action like 'Shop now' rendered into the image
- 5
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
Merchant Center → Needs attention → filter by image policy issues. Most accounts have a handful at a time, but high-volume retail catalogues can see hundreds during promotional windows.
- 2
Choose your fix strategy
Hand-editing 50 product images is feasible. Hand-editing 5,000 isn't. For larger catalogues, the scalable fix is to move every promotional element to the creative layer — keep image_link clean, render branded elements as templates against the feed.
- 3
Replace image_link with clean shots
Use the original photography without overlay. White background or environmental, no badges, no text. This is what Google sees in image_link going forward.
- 4
Move promo elements to render-time templates
Sale badges, dynamic price tags, brand elements — these become template-driven, applied at render time using feed data (sale_price, price, brand). The output is served to Shopping creative slots separately from image_link.
- 5
Appeal genuine false positives
Account Quality → Restrictions. Appeals work for legitimate text that's part of the product itself (book covers, garment text). Include a clear written explanation.
Related issues
Image text overlay
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.
Read moreImage too small
The image at image_link doesn't meet Google's minimum resolution. Google tightened this threshold in April 2026 — what was previously a warning is now blocking for new submissions. Affected items don't show in Shopping until the image is replaced.
Read moreGeneric image
The image_link points to a 'generic' image — usually a stock photo used by many sellers, a placeholder graphic, or a manufacturer marketing shot used by competitors. Google's classifier identifies these and downgrades them.
Read moreRelated fields
Related tools
FAQ
What's the exact size threshold for text overlay?
Roughly 20% of the image area, though Google doesn't publish a precise figure. The auto-reviewer over-flags during promotional windows (Q4, Prime Day) when manual review capacity is constrained.
Are brand logos considered promotional overlay?
Small corner logos are generally fine. Logos covering more than ~10% of the image, or any logo over the product itself, get flagged. Subtle is the rule.
Can I just use clean images for Google but keep branded ones for Meta?
Image_link is the field both channels read. You can't fork compliance — the image either passes all your channels' policies or fails them. The exception is using a creative layer that renders branded versions separately from image_link itself.
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