Two directions, one set of rules
Product data arrives as XML from suppliers and leaves as XML to shopping platforms. The rules of the format are the same in both directions. The XML specification says a file that is not well-formed is a fatal error that a processor must report, and that it must not carry on passing the document's data to the application as normal. A feed with one unescaped ampersand therefore fails as a whole, whoever reads it. The difference is who owns the fix: a supplier's file is theirs to correct, while a file you send to Google is yours.
Three layers where data is lost
First, well-formedness: escaping, tag matching, character range, a single root, encoding. Second, namespaces and structure: Google's XML example puts product attributes in a g namespace on an RSS item, and an importer that matches tags as text will skip prefixed fields while the file parses cleanly. Third, meaning: whether the values agree with your store, which is a different guide for each platform. The cheapest diagnosis is a real XML parser's first error, with its line and column.
- Open a copy in a web browser or run a parser; the first error is more useful than the whole file.
- A supplier's XML from an unknown source needs entity-expansion protection; Python's documentation warns about it.
Where to go next
For a supplier file you read: the guide on well-formed XML and the fixed job xml-supplier-feed-parse-errors-import, £295. For the file you send to Merchant Center: the guide on its format requirements and the fixed job merchant-center-feed-file-fetch-processing-errors, £245. For a file delivered by SFTP that arrives partial or twice: the SFTP guide and sftp-scheduled-supplier-fetch-complete-files, from £445. Prices are untested proposals, and payment follows the agreed checks and your sign-off. Nothing is booked or charged by an enquiry. Google's review and recrawl timing and decisions are its own, and approval is never promised.
Boundaries
This cluster covers product, stock and price data in feeds you can share in redacted form. We do not repair a supplier's malformed XML by text substitution, design schemas, tune very large files beyond an agreed sample, or take personal data or credentials.
Sources and limits
- W3C Extensible Markup Language (XML) 1.0, Fifth Edition Checked 2026-10-11.
- A processor must report a well-formedness violation as a fatal error and not pass data on as normal; the encoding is UTF-8 unless declared or indicated otherwise.
- Python xml documentation Checked 2026-10-11.
- Attacker-controlled XML can be used for denial of service; the built-in parsers rely on libexpat.
- Google Merchant Center Help: create a product file Checked 2026-10-11.
- Google's XML example uses RSS 2.0 with the g namespace http://base.google.com/ns/1.0 and an item per product.