Feed format
Text (TSV)
Tab-delimited text feed
A TSV feed is the same structure as a CSV with tabs separating the fields instead of commas. Because a tab almost never appears inside product data, it needs far less quoting than a CSV, which makes it the more robust of the two delimited formats and the only one Microsoft Advertising accepts.
Specification
- File extension
-
.tsv.txt - Content type
- text/tab-separated-values; charset=utf-8
- Compression
- Gzip is accepted by most channels and required by OpenAI, which takes .tsv.gz.
- One product is
- One product per line, with a header row naming the attributes. Fields are separated by a single tab character, and consecutive tabs represent an empty value.
- Escaping
- Strip tabs and line breaks from every value rather than trying to quote them, because tab-delimited parsers vary in whether they honour quoting at all. Encode as UTF-8 without a byte order mark.
A valid tab-delimited text feed
Two products, every required attribute, nothing omitted for brevity. Copy it and replace the values.
id title description link image_link availability price brand gtin condition item_group_id
SHIRT-BLK-M Northbound Oxford Shirt, Black, Medium A long-sleeved Oxford shirt in 100% brushed cotton. https://example.com/products/oxford-shirt?variant=101 https://cdn.example.com/oxford-black.jpg in_stock 49.00 GBP Northbound 05012345678900 new SHIRT-OXFORD
SHIRT-BLK-L Northbound Oxford Shirt, Black, Large A long-sleeved Oxford shirt in 100% brushed cotton. https://example.com/products/oxford-shirt?variant=102 https://cdn.example.com/oxford-black.jpg out_of_stock 49.00 GBP Northbound 05012345678917 new SHIRT-OXFORD
Which channels accept it
| Channel | Support | Notes |
|---|---|---|
| Google Shopping | Supported | Accepted as a text feed alongside comma-delimited files. |
| Meta | Supported | Accepted for a catalogue data feed. |
| Microsoft Advertising | Preferred | The delimited format Microsoft accepts. A comma-delimited file is not a substitute. |
| Supported | Accepted for a scheduled data source. | |
| OpenAI | Supported | Accepted gzipped as .tsv.gz, though Parquet is preferred. |
What breaks a tab-delimited text feed
Quoting is not reliably supported
A CSV parser is expected to honour double quotes. Tab-delimited parsers vary, and some treat a quote as an ordinary character. That makes stripping tabs from values the only dependable approach, rather than quoting the fields that contain them.
Tabs arrive from pasted descriptions
A tab in product data is rare but not impossible: merchants paste from Word, from a supplier spreadsheet, or from a PDF, and a tab comes along. One tab in one description shifts every subsequent column on that row, which reads as a completely different error.
Renaming a CSV does not make it a TSV
Changing the extension or the content type leaves commas separating the fields. Microsoft will reject the file or read the whole row as a single column, and the error message will not mention delimiters.
Editors quietly convert tabs to spaces
Many editors expand a tab to spaces on save. Inspecting a TSV in one of those and saving it, even without meaning to change anything, destroys the delimiters throughout the file.
Frequently asked questions
Is TSV better than CSV for a product feed?
More robust, yes. A tab almost never appears inside product data, so far less escaping is needed, and a stray comma in a description cannot split a row. Support is slightly narrower, but every channel documented here except OpenAI takes it uncompressed.
Can I just rename my CSV to .tsv?
No. The delimiter is in the file, not the extension. The file has to be regenerated with tabs between fields.
How do I handle a tab inside a description?
Strip it at generation time, replacing it with a space. Quoting is unreliable in tab-delimited files because parsers differ on whether they honour it.
Does Microsoft Advertising accept CSV?
Its delimited format is tab-separated. A comma-delimited file has to be regenerated rather than renamed or re-declared with a different content type.
Errors this format causes
Related concepts
Primary sources
Channel specifications change. These are the official documents this page is based on.