Policy Affects: 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. 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. 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. 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. 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. 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.

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

Free plan · No card

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