Short answer. Commerce Manager reports “Invalid HTML”, “HTML attributes unsupported” or “Disallowed HTML tags” when a feed carries HTML outside rich_text_description or uses tags and attributes Meta does not support. Only p, b, i, ul and li are allowed, attributes such as style are removed, and rich text shows only in Shops, not ads; keep description as plain text and put formatted text, if you want it, in rich_text_description.
| Shown in Commerce Manager as | Invalid HTML, HTML attributes unsupported, Disallowed HTML tags |
|---|---|
| Attribute | rich_text_description |
| Effect | Warning |
| Where to find it | Catalog → Products → a product’s Status and issues; feed-level errors under Catalog → Data sources → Download issue report |
| Free check | Not something a feed file shows; see below for what the check can tell you instead |
What Commerce Manager means by “Invalid HTML, HTML attributes unsupported, Disallowed HTML tags”
Meta’s data feed troubleshooting page reserves HTML for one field: rich text is supported only in rich_text_description, only with the tags p, b, i, ul and li, and only in Shops on Facebook and Instagram, not in ads. Attributes such as style are removed, other tags are uploaded but do not render. The product data specification requires the plain description as a fallback even when rich text is provided.
Why it happens
- Store descriptions exported with their HTML into
description. - Tags beyond the five (
div,span,br,img,a) in rich text. - Inline styles from a page builder.
How to fix it
In Shopify
Shopify descriptions are HTML; the channel strips them for description. A feed app should do the same, and can send the formatted version as rich_text_description limited to the five tags.
In WooCommerce
Our free plugin writes plain text in g:description, tags stripped, and does not send rich text. If you want bullets in the shop, a feed tool has to produce rich_text_description with only the allowed tags.
In a CSV or XML feed
Strip HTML from description. If you add rich_text_description, keep to p, b, i, ul, li without attributes, and keep the plain description alongside it.
How long until Commerce Manager clears it
On the next upload with plain descriptions and, if used, compliant rich text.
What FeedRobin does about it
The free feed check strips HTML when it reads descriptions, so it reports on the text, not the tags. The feeds we render send plain text in every channel’s description field, cleaned per channel.
Questions merchants ask
My descriptions come from the store with HTML in them. Is that rejected?
The description field is plain text; HTML in it is a formatting problem rather than a working description. Strip the tags for description, and if you want bullets in the shop, send the formatted version separately in rich_text_description.
Which tags work in rich_text_description?
p, b, i, ul and li, per Meta’s page. Anything else is uploaded but does not render, and attributes such as style are removed.
Will the rich text show in my ads?
No. Meta says rich text descriptions are supported in Shops on Facebook and Instagram only, not in ads, which is why the plain description remains required as the fallback.
Sources
- Troubleshoot data feed errors in your catalog — Meta Business Help Centre
- Product data specifications for catalogs in Commerce Manager — Meta Business Help Centre