Sign in

Welcome to our Support Center

Get help with integration and live campaigns

Welcome to our Support Center. Get help with integration and live campaigns

Criteo Product Feed specification

1 - Overview

A product feed is a file that contains information about all products on your site. We will use this information to build the dynamic product banners.

In this article, you will find details about what you can include in your feed and how to format each field.

2 - Feed formats supported by Criteo

To make sure Criteo can retrieve your product feed, please use one of these formats:

Feed format

Detail

Download

TSV

This format is based on the Tab-separated value. The header must be declared in the first row of the file. Field names can contain spaces or underscores (e.g. image_link or image link)

 Feed example

CSV

This format is based on the Comma-separated value. The header must be declared in the first row of the file.Field names can contain spaces or underscores (e.g. image_link or image link)

 Feed example

XML

This format should respect the basics of the XML structure. Products are represented by a set of XML nodes. The product list must start by <?xml declaration tag. 

 Feed example

 

 

3 - Product Information to provide

All field names must be in English. Product information should not contain HTML tags or style tags.

3.1 - Required fields to advertise your products

3.1.1 id

This field is required for all products in the feed, and cannot be empty/blank.

The id is a unique product identifier that represents one, and only one, product. Once an id is assigned to a product and imported, the id may not be used for a different product, nor can the id for a particular product change. If you have item_group_id also populated, populate id with the child ID/SKU.

Character Requirements: The id must only contain ASCII characters, and must not contain quotation marks.

Limit: 240

Type: String

Example: abc123-black-7.5

3.1.2 title

This field is required for all products in the feed, and cannot be empty/blank

The title is the product’s name, typically as it is displayed on the product’s detail page. This will be used as the main text descriptor in the banners for a given product. 

Recommended for Criteo Predictive Search:

If you plan to reuse your Google Shopping feed, it is recommended to put the longest title in ‘title’, and a shorter title, more adapted to display, in ‘display_ads_title’

Character Requirements: The name must start with a letter or number.

Limit: 150

Type: String

Example: Working Boots – Size 7.5

3.1.3 description

The description is a short piece of text that gives more information about a product in addition to its name. Because of the design of the banners, shorter descriptions (under 50 characters) are more likely to fit in Criteo’s formats and layouts, however, not all formats and layouts will have a description.

Character Requirements: The description must start with a letter or number. Remove all HTML tags from this field, including style, embed, object, and anchor tags.

Limit: 5000 

Type: String

Example: Excellent for daily use.

3.1.4 google_product_category

Category level attributes indicate the category of the product being submitted, according to the Google product taxonomy.

If your product can be linked to multiple categories, we only want the one that is the most relevant.

Character Requirements: We accept both IDs and fulll category path

Type: String

Example: Women’s > Shoes > Working Boots OR 2271

3.1.5 link

This field is required for all products in the feed, and cannot be empty/blank

The link is the product’s dedicated detail page. The link is usually, although not necessarily unique to a given product. The product information on this URL should match the corresponding information provided in your feed. Please specify the protocol (http:// or https://) for all URLs.

If you are running Criteo Predictive Search, the domain name in this field must match the domain claimed in Google Merchant Center.

Character Requirements: The link must start with the protocol (http:// or https://) followed by the full URL of the product detail page. All symbols must be encoded. Eg. $ must be replaced with %24.

Limit: 1024

Type: String

Example: http://www.example.com/product/working-boots

3.1.6 image_link

This field is required for all products in the feed, and cannot be empty/blank

The image_link is a URL that specifies a file path to a given product’s image. The image_link will be used to display the product’s image in the banners. Ideally, images should be at least 800x800 pixels and weigh under 16MB. The image must have a Content-Type header specified, either image/png, image/gif or image/jpeg. If you restrict your images from being accessible via cURL, please whitelist our user-agent so we may display your images in the Criteo banners: curl/7.15+ (x64-criteo) libcurl/7.15+ OpenSSL zlib libidn.

Character Requirements: The image_link must start with http:// or https:// followed by the full URL of the product’s image. All symbols must be encoded. Eg. $ must be replaced with %24. 

Limit: 2000

Type: String

Example: http://www.example.com/product/image/working-boots.png

3.1.7 additional_image_link

The additional_image_link is a URL that specifies a file path to a given product’s image. The additional_image_link will be used to display the product’s image in the banners. Ideally, images should be at least 800x800 pixels and weigh under 16MB. The image must have a Content-Type header specified, either image/png, image/gif or image/jpeg. If you restrict your images from being accessible via cURL, please whitelist our user-agent so we may display your images in the Criteo banners: curl/7.15+ (x64-criteo) libcurl/7.15+ OpenSSL zlib libidn.

Character Requirements: The additional_image_link must start with http:// (not https://) followed by the full URL of the product’s image. All symbols must be encoded. Eg. $ must be replaced with %24. However, the additional_image_link cannot contain any symbols in the query string (any characters after the ?).

Limit: 2000

Type: String

Example: http://www.example.com/product/image/working-boots-side.png

3.1.8 availability

This field is required for Criteo Predictive Search

The availability indicates if the product may be purchased on the site. You may populate availability with 3 possible values: preorder (item is not currently shipping, but still may be purchased), out of stock (item is not shipping and you are not accepting orders for this item), and in stock (item is shipping and orders may be placed for this item). Items marked as out of stock will be excluded from being shown in the banners.

Character Requirements: The availability must be populated with one of the following three values:

· preorder

· out of stock

· in stock

Limit: 16

Type: String

Example: in stock

3.1.9 price

The is the price the manufacturer recommends the product is to be sold for. If a given product is “on sale”, the price field would be populated with the higher price. The price should be in the same currency as the site. Only populate price with the numeric value using a period (.) as the decimal separator and no thousands separator.

Character Requirements: The decimal separator must be a period (.) with no thousands separator.

Limit: 14

Type: String

Example: 1299.99

3.1.10 sale_price

The sale_price is the price at which the product is available for purchase on the site, if a given product is ‘on sale’, the sale_price would be populated with the lower price. The sale_price should be in the same currency as the site. Only populate sale_price with the numeric price using a period (.) as the decimal separator and no thousands separator.

Character Requirements: The decimal separator must be a period (.) with no thousands separator.

Limit: 14

Type: String

Example: 1199.99

3.1.11 gtin (upc, ean)

This field is required for Criteo Predictive Search

Global Trade Item Number (GTIN) is a unique product identifier used to identify a product, a service, or an item in the global marketplace.

GTIN includes:

  • GTIN-12 (UPC-A): this is a 12-digit number used primarily in North America.
  • GTIN-8 (EAN/UCC-8): this is an 8-digit number used predominately outside of North America.
  • GTIN-13 (EAN/UCC-13): this is a 13-digit number used predominately outside of North America.
  • GTIN-14 (EAN/UCC-14 or ITF-14): this is a 14-digit number used to identify trade items at various packaging levels.

Character Requirements: The value must be a 8-, 12-, 13-, or 14-digit number (UPC, EAN, JAN, or ISBN).

Limit: 50

Type: String

Example: 0001234560012

 

3.1.12  mpn 

MPN is the number that uniquely identifies the product to its manufacturer

Limit: 70

Type: String

Example: 4060882

 

3.1.13 brand

 This field is required for Criteo Sponsored Products

The brand indicates the product brand’s name. Some products don’t have a clear brand associated. In this case this info doesn’t need to be provided.

Character Requirements: The name must start with either a letter or number, and can only contain ASCII characters. Remove all HTML tags from this field, including style tags.

Limit: 70

Type: String

Example: Criteo

 

3.1.14 adult

This field is required for Criteo Predictive Search

The adult attribute indicates if the product is safe to be shown for all users and all audiences. Adult products can’t be shown in Criteo banners, and might lead to a blacklisting of your campaign by publisher networks. You can also use this field with the value ‘yes’ if you want this product to be non-recommendable and not displayed in the banners

Character Requirements: The value must be yes or no

Type: Boolean

Example: no

3.1.15 product_type

This field is required for Criteo Sponsored Products

The product_type is a category (or list of categories) to which the product belongs. The product_type field lists your merchandising category, or set of merchandising categories for this product. It must match your website categories. Each level in the hierarchy needs to be delimited by " > ". If a product is available in multiple categories, please send the different categories as comma (,) delimited with the primary category first. product_type is case-sensitive, so if you use women’s for one product and Women’s for another, Criteo will interpret these as two different categories.

Character Requirements: The product_type must start with a letter or number, and can only contain ASCII characters. The delimiter between categories must be > (&gt; for XML feeds). We only support the full category path. If a product is available in multiple categories, please send the different categories as comma (,) delimited with the primary category first. We do not accept the categories ID of the path. IDs must be filled in the product_type_key field. 

Limit: 500

Type: String

Example:

  • Single: Computing &gt; Keyboards and Mice &gt; Mice &gt; Wireless Mice
  • Multiple: Computing &gt; Keyboards and Mice &gt; Mice &gt; Wireless Mice,Gifts &gt; For Dad &gt; Mice

3.1.16 product_type_key

This field is required for Criteo Sponsored Products

This field lists the unique ID and hierarchy for the product_type or set of product_type(s). Each key in the hierarchy needs to be delimited by " > ". If a product is available in multiple categories, please send as comma (,) delimited with the primary category first in the array.

Character Requirements: The product_type_key can only contain ASCII characters. The delimiter between categories must be > (&gt; for XML feeds). If a product is available in multiple categories, please send the different categories as comma (,) delimited with the primary category first.

Limit: 500

Type: String

Example:

  • Single: XY1 &gt; YZ1 &gt; Z1
  • Multiple: XY1 &gt; YZ1 &gt; Z1 , AB1 &gt; BC2 &gt; A

3.1.17 number_of_reviews

This field is recommended for Criteo Sponsored Products

This field contains the number of reviews for this product. number_of_reviews is required if you want this information to be displayed in the ad.

Limit: 8

Type: Integer

Example: 2456

3.1.18 product_rating

This field is recommended for Criteo Sponsored Products

This field represents the rating of this product. product_rating is required if you want this information to be displayed in the ad.

Character Requirements: The decimal separator must be a period (.) with no thousands separator.

Limit: 8

Type: String

Example: 4.5

3.1.19 filters

This field is required for Criteo Sponsored Products

filters are attributes that designate differences between products in the same category. Filters should be provided as a comma separated list of attribute name value pairs. They must match the list of filters available on your website and matching this product. This is critical for Criteo Sponsored Products.

Character Requirements: The Key=Value pairs must be comma (,) separated and multiple values pipe (|) separated.

Limit: 2000

Type: String

Example: Color=Red|Black, Size=XL, Screen Size = 15"

3.2 - Optional fields

3.2.1 mobile_link

The mobile_link is the link to your mobile-optimized version of your product landing page. This url should be different from the one that you provide in the 'link' field. By providing a mobile link: you will improve your customers’ user experience, and reduce the landing page loading latencies.

Character Requirements: The link must start with the protocol (http:// or https://) followed by the full URL of the product detail page. All symbols must be encoded. Eg. $ must be replaced with %24.

Limit: 2000

Type: String

Example: http://m.example.com/product/working-boots

3.2.2 condition

The condition is used to qualify the product with three different accepted values: ‘new’, ‘refurbished’ and ‘used’.

Character Requirements: Only 3 values are accepted:

  • 'new' [new]
  • 'refurbished' [refurbished]
  • 'used' [used]

Type: String

Example: new

---

Product Variants

3.2.3 item_group_id

The item_group_id is a unique parent-level product identifier. It can contain alphanumeric characters that represent one product that can be expressed as a collection of child products. Once an item_group_id is assigned to a product and imported, the item_group_id may not be used for a different product, nor can the item_group_id for a particular product change. Because item_group_id can represent a collection of products, several products may have the same value for item_group_id

Characters Requirements: The item_group_id can only contain ASCII characters, and must not contain quotation marks.

Limit: 240

Type: String

Example: abc123

 

3.2.4 color

Detail: This attribute will indicate the dominant color(s) of the product.

Limit: 100

Type: String

Example: Black

3.2.5 gender

Required for all products in an item group that vary by gender.

Characters Requirements: Only 3 values are accepted:

  • 'male' [male]
  • 'female' [female]
  • 'unisex' [unisex]

Type: String

Example: male

3.2.6 age_group

This attribute will be used to indicate the age group targeted for your product.

Characters Requirements: Only 5 values are accepted:

  • 'newborn' [newborn]
  • 'infant' [infant]
  • 'toddler' [toddler]
  • 'kids' [kids]
  • 'adult' [adult]

Type: String

Example: adult

3.2.7 material

This attribute will indicate the material or fabric that a product is made of. Required for all products in an item group that vary by material.

Limit: 200

Type: String

Example: leather

3.2.8 pattern

This attribute will indicate the pattern or the graphic print for the product. Required for all products in an item group that vary by pattern.

Limit: 100

Type: String

Example: Striped

3.2.9 size

This attribute will indicate the size of the product. Required for all products in an item group that vary by size.

Limit: 100

Type: String

Example: L

3.2.10 size_type

You can specify the cut of the product by adding the size type.

Characters Requirements: Only 5 values are accepted:

  • 'regular' [regular]
  • 'petite' [petite]
  • 'plus' [plus]
  • 'big and tall' [big and tall]
  • 'maternity' [maternity]

Limit: N/A

Type: String

Example: regular

3.2.11 size_system

Detail: You can specify the country's sizing system of the product by adding the size system.

Character Requirements: There are 11 accepted values: US, UK, EU, DE, FR, JP, CN (China), IT, BR, MEX, AU

Limit: N/A

Type: String

Example: US

---

For marketplace sellers

 

3.2.12 cross_sellers_product_id

This field is only required if you are a marketplace and are reselling a product for several sellers.

The cross_sellers_product_id is a unique product identifier grouping several id referring to the same product sold by different sellers. Once a cross_sellers_product_id is assigned to a product and imported, the cross_sellers_product_id may not be used for a different product, nor can the cross_sellers_product_id for a particular product change. Because cross_sellers_product_id represents a collection of products, several products may have the same value for cross_sellers_product_id

Characters Requirements: The cross_sellers_id must start with a letter or number, and can only contain ASCII characters.

Limit: 250

Type: String

Example: abc123

3.2.13 seller_name

This field is only required if you are a marketplace and are reselling a product for several sellers.

The seller_name identifies the display name of a seller. This name is generally the the name displayed along with a particular product on a seller's page or in the buy box. There should be a one-to-one relationship between seller_name and seller_id.

Limit: 200

Type: String

Example: My Electronics Store

3.2.14 seller_id

This field is only required if you are a marketplace and are reselling a product for several sellers.

The seller_id is a unique identifier that represents a seller on your retailer site. There should be a one-to-one relationship between seller_id and seller_name

Limit: 200

Type: String

Example: 3265fd

---

Shipping Information

3.2.15 shipping

This attribute will be used to specify the shipping detail for each country supported, indicating the price and service

Type: String

Example:

 <shipping>
<country>US</country>
<service>Standard</service>
<price>15.5 USD</price>
</shipping>

3.2.16 shipping_weight

The shipping_weight represents the weight of the product.

Character Requirements: Only the following units are accepted: lb, oz, g, kg

Type: String

Example: 1 kg

3.2.17 shipping_height

The shipping_height represents the height of the product.

3.2.18 shipping_width

The shipping_width represents the width of the product

3.2.19 shipping_length

Detail: The shipping_length represents the length of the product.

3.2.20 shipping_label

This attribute can be used to assign labels to specific products using values of your choosing, such as perishable, bulky, or promotion.

Limit: 100

Type: String

Example: promotion

---

Product Pack & Bundle

3.2.21 multipack

This attribute specifies a pack of identical products.

Type: Integer

Example: 2

3.2.22 is_bundle

This attribute specifies a group of different products.

Type: Boolean

Example: FALSE

3.2.23 promotion_id

Detail: This attribute specifies a promotion ID.

Limit: String

Type: 60

Example: 123654

3.2.24 promo_text

Detail: This field contains the promotional text for this product

Limit: String

Type: 60

Example: Special Buy

---

Additional Attributes

3.2.25 custom_label_0

Add additional custom information about the product.

Character Requirements: Only 5 levels of custom label are authorized (0 to 4)

Limit: 100

Type: String

3.2.26 sale_price_effective_date

Only works for Criteo Predictive Search:

This attribute is used with the ‘sale_price’ to specify the date range of the sale price validity.

Character Requirements: Start and end dates separated by a forward slash (/). The start is specified by the format (YYYY-MM-DD), followed by the letter ‘T’, the time of the day when the sale starts, followed by an expression of the time zone for the sale, as defined by the ISO 8601 standard. The end date should be in the same format.

Limit: 51

Example: 2016-03-01T13:00-0800/2016-03-11T15:30-0800

3.2.27 adwords_redirect

URL to track separately all clicks from Google Shopping.

Limit: 200

Type: URL

Example: http://www.mywebsite.com/productpage.html

3.2.28 excluded_destination

The 'excluded destination' attribute prevents an item from appearing in certain destinations even though it appears in your product data.

3.2.29 expiration_date

Only works for Criteo Predictive Search:

The date when the product will not be recommendable anymore.

Limit: 10

Type: ISO 8601 format

Example: 2016-07-24

3.2.30 unit_pricing_measure

The ‘unit pricing measure’ attribute defines the measure and dimension of an item. Eg. 25floz or 15oz.

Example: 15oz

3.2.31 unit_pricing_base_measure

The ‘unit pricing base measure’ attribute specifies your preference of the denominator of the unit price. Eg. 50floz.

Example: 50oz

3.2.32 display_ads_title

This field can be used to display a different title in Display ads (different from 'title') if you wish.

As shorter titles are more likely to fit in our display banners, but longer titles work better for Criteo Search we recommend full/long titles in 'title', and shorter titles in 'display_ads_title'.

Limit: 150 (25 is recommended)

Type: String

3.2.33 display_ads_value

Contains the margin of the item in the same currency as the item price. A multiple of the margin can also be used to hide the actual product margin but it should be consistent across products.

Value limit : 10 times the product price

Type: String

Example : 299.99

3.2.34 map_price

The map_price field represents the "Minimum Advertiser Price" of a product. This field value is never displayed in our ads and must be specified if for some reason, you cannot display in ads a price inferior to the map_price. If the current price of the product is lower than the map_price, price will not be displayed in the ad.

Character Requirements:The decimal separator must be a period (.) with no thousands separator.

Type: String

Example : 1299.99

3.2.34 model_number

The model_number is used to differentiate one product in a series from another. The model_number is often used by brands to differentiate similar products in the same category. The same model_number may sometimes appear on similar variation products with different id values.

Limit: 200

Character Requirements: The model_number can only contain ASCII characters.

Type: String

Example: AXY27

 

Example Catalog structure

XML Feed example

XML

<rss xmlns:g="http://base.google.com/ns/1.0"version="2.0">

    <channel>

        <title>Your Website</title>

        <link>http://www.yoursite.com/us/</link>

        <description>Your Website</description>

        <item>

            <g:id>abc123-black-7.5</g:id>

            <g:title>Working Boots Size 7.5</g:title>

            <g:description>Excellent for daily use</g:description>

            <g:google_product_category>Women’s > Shoes > Working Boots</g:google_product_category>

            <g:link>http://www.example.com/product/working-boots</g:link>

            <g:image_link>http://www.example/com/product/image/working-boots.png</g:image_link>

            <g:additional_image_link>http://www.example.com/product/image/working-boots-side.png</g:additional_image_link>

            <g:additional_image_link>http://www.example.com/product/image/working-boots-side_2.png</g:additional_image_link>

            <g:availability>in stock</g:availability>

            <g:price>1299.99</g:price>

            <g:sale_price>1199.99</g:sale_price>

            <g:gtin>0001234560012</g:gtin>

            <g:brand>Criteo</g:brand>

            <g:adult>no</g:adult>

            <g:product_type>Women’s &gt; Shoes &gt; Working Boots</g:product_type>

            <g:mobile_link>http://m.example.com/product/working-boots</g:mobile_link>

            <g:condition>new</g:condition>

            <g:availability>in stock</g:availability>

            <g:availability_date>2016-06-25T13:00-0800</g:availability_date>

            <g:sale_price_effective_date>2016-03-01T13:00-0800/2016-03-11T15:30-0800</g:sale_price_effective_date>

            <g:item_group_id>abc123</g:item_group_id>

            <g:color>Black</g:color>

            <g:gender>male</g:gender>

            <g:age_group>adult</g:age_group>

            <g:material>leather</g:material>

            <g:pattern>Striped</g:pattern>

            <g:size>L</g:size>

            <g:size_type>regular</g:size_type>

            <g:size_system>US</g:size_system>

            <g:shipping>

                <g:country>US</g:country>

                <g:service>Standard</g:service>

                <g:price>5.5 USD</g:price>

            </g:shipping>

            <g:shipping_weight>1 kg</g:shipping_weight>

            <g:shipping_label>promotion</g:shipping_label>

            <g:multipack>2</g:multipack>

            <g:is_bundle>FALSE</g:is_bundle>

            <g:custom_label_0>custom data 0</g:custom_label_0>

            <g:custom_label_1>custom data 1</g:custom_label_1>

            <g:custom_label_2>custom data 2</g:custom_label_2>

            <g:custom_label_3>custom data 3</g:custom_label_3>

            <g:custom_label_4>custom data 4</g:custom_label_4>

            <g:sale_price_effective_date>2016-03-01T13:00-0800/2016-03-11T15:30-0800</g:sale_price_effective_date>

            <g:adwords_redirect>http://www.mywebsite.com/productpage.html</g:adwords_redirect>

            <g:excluded_destination>Shopping</g:excluded_destination>

            <g:expiration_date>2016-07-24</g:expiration_date>

            <g:unit_pricing_measure>15oz</g:unit_pricing_measure>

            <g:unit_pricing_base_measure>50oz</g:unit_pricing_base_measure>

        </item>

    </channel>

</rss>

 



Was this article helpful?
1 out of 1 found this helpful
Powered by Zendesk