Ducted

TikTok Product Catalog
feeds.

Catalog ads on TikTok.

TikTok's product catalog feeds its catalog ad formats, and its spec has its own habits: the id column is called sku_id, every variant needs its own, and a duplicate is not rejected but silently dropped, so a feed can upload cleanly and advertise half the sizes.

Nine fields are required, including brand and condition, and TikTok reads the price in the catalog's default currency when the record carries none.

What the feed needs

Generated from the Ducted TikTok Product Catalog template, the same field rules your mapping is validated against.

36 fields: 9 required, 5 recommended, 22 optional.

FieldLevelAccepted values / example
sku_idrequiredtiktok_item_1234
titlerequiredT-Shirt (Unisex)
descriptionrequiredA vibrant crewneck for all shapes and sizes. Made from 100% cotton.
availabilityrequiredin stock · available for order · preorder · out of stock · discontinued
conditionrequirednew · refurbished · used
pricerequired9.99 USD
linkrequiredhttps://www.tiktok.com/tiktok_t_shirt
image_linkrequiredhttps://www.tiktok.com/t_shirt_image_001.jpg
brandrequiredNike
google_product_categoryrecommendedApparel & Accessories > Clothing > Dresses
additional_image_linkrecommendedhttps://www.tiktok.com/t_shirt_image_002.jpg,https://www.tiktok.com/t_shirt_image_003.jpg
item_group_idrecommendedtiktok_1234_shirts
product_typerecommendedHome & Garden > Kitchen & Dining > Appliances > Refrigerators
gtinrecommended3234567890126

Field rules from the official spec, verified 2026-10-02.

Also supported, always optional (22): video_link, age_group, color, gender, material, pattern, sale_price, sale_price_effective_date, shipping, shipping_weight, mpn, size, tax, ios_url, android_url, custom_label_0, custom_label_1, custom_label_2, custom_label_3, custom_label_4, merchant_brand, productHisEval

Where TikTok catalog feeds get rejected

Duplicate sku_id

TikTok keeps one product per sku_id and ignores the rest. Variants that share the parent id lose all but one record; each needs its own sku_id, with the parent in item_group_id.

Image link that does not end in .jpg or .png

TikTok says the image link must end with .jpeg or .png (.jpg is TikTok's own example); a WebP or an extension-less CDN URL cannot be downloaded and is flagged. Images need at least 500 x 500 pixels.

Availability or condition outside the accepted lists

availability takes in stock, available for order, preorder, out of stock and discontinued; condition takes new, refurbished and used. in_stock with an underscore rejects.

Missing brand

brand is required, and TikTok asks for the real brand rather than a placeholder. Titles over 150 characters and descriptions over 20,000 are flagged too.

Validate your TikTok catalog feed for free →

From source to a live feed URL

  1. Connect the source. A Shopify, WooCommerce, Teemill, Spring, Printify Pop-Up, Bonfire or Fourthwall store address, a file, a feed URL or a REST API. No source at all? Website Indexing builds one from the store itself.
  2. AutoMap the fields. Every source column is scored against the channel template and the best match is pre-filled. You confirm or tweak.
  3. Transform what needs it. Casing, currency and number formats, conditional values, fallbacks for fields the source sometimes leaves empty.
  4. Validate before you send. The health check names the field, counts the affected records and shows example rows from your own data.
  5. Serve a permanent URL. The platform fetches your feed on a schedule; feed pull tracking shows when it last did.

The rest of the shopping stack

One mapped catalog serves every channel; each page covers what that platform's feed needs.

E-commerce feedsGoogle ShoppingMeta CatalogPinterestMicrosoft ShoppingSnapchatRedditX ShoppingCriteoChatGPT Ads

Every variant on TikTok, none dropped.

Connect a source and map it to the TikTok Product Catalog template, or check your current catalog feed free.

Create free accountCheck your TikTok feed