Product Pins and shopping ads on Pinterest.
Pinterest turns a catalog into Product Pins, and its spec is unusually forgiving on format and unusually specific about what it does with a bad value: most problems do not reject the item, they truncate it or publish it without the offending attribute, each with its own error code.
Seven fields are required. Prices are accepted ten different ways (24.99 USD, 24.99USD, GBP 24,99, a bare 24.99 ...), and item_group_id is only required once a product lists variant options.
Generated from the Ducted Pinterest Catalog template, the same field rules your mapping is validated against.
62 fields: 7 required, 3 recommended, 52 optional. 1 field changes level with the market, the product or how the record is sent.
| Field | Level | Accepted values / example |
|---|---|---|
| id | required | DS0294-L |
| title | required | Women's denim shirt, large |
| description | required | Casual fit denim shirt made with the finest quality Japanese denim |
| link | required | https://www.example.com/cat/womens-clothing/denim-shirt-0294 |
| image_link | required | https://scene.example.com/image/image.jpg |
| price | required | 24.99 USD |
| availability | required | in stock · out of stock · preorder |
| item_group_id | recommended required for products that list variant options (variant_names / variant_values) | DS0294 |
| condition | recommended | new · used · refurbished |
| google_product_category | recommended | Apparel & Accessories > Clothing > Shirts & Tops |
Field rules from the official spec, verified 2026-10-02.
Also supported, always optional (52): product_type, additional_image_link, mobile_link, sale_price, average_review_rating, number_of_ratings, number_of_reviews, description_html, video_link, excluded_destination, brand, gtin, mpn, color, gender, age_group, material, pattern, size, size_type, size_system, alt_text, variant_names, variant_values, adult, tax, shipping, shipping_weight, shipping_width, shipping_height, free_shipping_label, free_shipping_limit, custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4, custom_number_0, custom_number_1, custom_number_2, custom_number_3, custom_number_4, ad_link, ai_disclosures, installment, unit_pricing_measure, unit_pricing_base_measure, sale_price_effective_date_attribute, min_ad_price, ios_deep_link, android_deep_link, promotion_id
A product that lists variant_names and variant_values needs item_group_id, and the two variant columns must be filled together, in the same order. An item_group_id over 127 characters is a row-level failure (error 178).
Pinterest asks you not to send a price of 0. A sale_price that is not lower than price publishes the item without the sale price (error 125), which is the discount you paid to show.
in stock, out of stock and preorder are the accepted values. backorder, available for order or an underscored in_stock rejects the record.
One path of up to five levels separated by " > " (more than five is error 154). Commas and pipes are not recognised as delimiters, so a multi-category export becomes one unreadable value.
Every link must lead to the product on the domain claimed for the catalog. A feed with links elsewhere fails as a file (error 139), not record by record.
One mapped catalog serves every channel; each page covers what that platform's feed needs.
Add a Pinterest output to an existing project, or start free and map your first.