Commerce Growth and Retail Media on Criteo.
Criteo's catalog is the one channel where a Google-shaped price is wrong: price is a plain number with a period decimal and no currency code, and a feed that appends USD fails every record. Every product also needs a GTIN or, for products without one, an MPN.
The spec also has its own list syntax: up to ten product types, comma separated and each in single quotes, and up to three colours separated by a slash.
Generated from the Ducted Criteo Product Catalog template, the same field rules your mapping is validated against.
58 fields: 8 required, 10 recommended, 40 optional. 2 fields change level with the market, the product or how the record is sent.
| Field | Level | Accepted values / example |
|---|---|---|
| id | required | 25c48 |
| title | required | Working Boots - Size 7.5 |
| description | required | Excellent for daily use |
| link | required | https://www.example.com/ProductA |
| image_link | required | http://www.example.com/product/image/working-boots.png |
| product_type | recommended | 'Computing>Keyboards and Mice>Mice','Hardware>Input Device' |
| brand | recommended | Adidas |
| price | required | 19.99 |
| availability | recommended | in stock · out of stock · preorder |
| size | recommended | S |
| color | recommended | Black/White |
| gtin | required required for products without an mpn | 00012345678905 |
| mpn | required required for products without a gtin | T49025028767898 |
| product_type_key | recommended | '123>4567>89012','456>7890' |
| google_product_category | recommended | Apparel & Accessories > Clothing |
| item_group_id | recommended | AB1234 |
| sale_price | recommended | 49.99 |
| number_of_reviews | recommended | 215 |
Field rules from the official spec, verified 2026-10-02.
Also supported, always optional (40): filters, product_rating, custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4, additional_image_link, seller_name, seller_id, cross_sellers_product_id, is_buybox, mobile_link, smallimage, retailprice, condition, adult, is_bundle, multipack, recommendable, age_group, gender, material, pattern, size_type, size_system, model_number, badge, promotion_id, promo_text, shipping, excluded_destination, excluded_channels, adwords_redirect, display_ads_title, display_ads_value, expiration_date, unit_pricing_measure, unit_pricing_base_measure, regiondata
19.99 is right, 19.99 USD is not. Criteo reads a plain number with a period as the decimal separator and no thousands separator; the same applies to sale_price and retailprice.
Criteo requires a gtin or, for products without one, an mpn. A record with neither is rejected.
id must be unique and consistent across uploads, ASCII only with no quotation marks, and must differ from item_group_id and seller_id. Two products sharing an id reject.
product_type takes up to ten categories separated by commas, each wrapped in single quotes ('Computing>Mice','Hardware>Input Device'); color takes up to three values separated by a slash. A filters value containing an ampersand is flagged because it breaks URL parsing in ad requests.
One mapped catalog serves every channel; each page covers what that platform's feed needs.
Add a Criteo output to an existing project, or start free and map your first.