Template

TikTok Shop product feed template

TikTok has two places product data goes: a catalog in Ads Manager, fed by a file, which powers catalog ads and product links; and TikTok Shop listings in Seller Center, which have their own rules. This page is the catalog feed template: the nine required fields, the optional ones that matter, example rows from four stores, a CSV to download, and how the Shop listing rules differ.

We connect your store, build the feed and keep it in sync. Updated 2026-10-27.

At a glance

  • Nine fields are required in a TikTok catalog feed: sku_id, title, description, availability, condition, price, link, image_link and brand.
  • availability is written with a space (in stock, out of stock, preorder) and price carries a currency that must match the catalog's currency.
  • Optional fields worth filling: google_product_category, video_link, item_group_id with color and size, sale_price, and ios_url / android_url for app deep links.
  • Formats: CSV or XML (RSS or Atom), optionally zipped. Delivery: a scheduled URL fetch (hourly or daily), a one-time upload, or a Shopify sync.
  • We set up Textfinity's TikTok channel template, which pre-fills the headers, and the software publishes the file on a URL TikTok fetches on schedule.

What a TikTok Shop product feed template contains

A TikTok catalog feed is a flat file with one row per item and TikTok's field names in the header. The field set deliberately mirrors Google's and Meta's, with one difference people trip over: the identifier column is sku_id, not id. Duplicate sku_id values are ignored, so variants need their own ids. TikTok's catalog parameters page lists nine required fields and 27 optional ones; the table covers the required set and the optional fields that change what ads can do.

ColumnRequirementFormatExample
sku_idRequiredUnique string per item; duplicates are droppedDRS-2210-BLK-M
titleRequiredProduct name; keep it short enough for the cardLinen Wrap Dress, Black, M
descriptionRequiredPlain text; keep within about 1,000 charactersMidi wrap dress in washed linen with a tie waist.
availabilityRequiredin stock, out of stock, preorderin stock
conditionRequirednew, used, refurbishednew
priceRequiredNumber with currency matching the catalog89.00 USD
linkRequiredURL of the product pagehttps://store.example/products/linen-wrap-dress
image_linkRequiredJPEG or PNG, at least 500 × 500 pxhttps://cdn.example/drs-2210-blk.jpg
brandRequiredBrand or manufacturer nameMarlowe
google_product_categoryOptional, recommendedGoogle taxonomy path or IDApparel & Accessories > Clothing > Dresses
video_linkOptional, recommendedDirect URL to a product videohttps://cdn.example/drs-2210.mp4
item_group_idOptional; needed for variantsSame value across variantsDRS-2210
color / size / material / patternOptional; variant attributesFree text; sizes may be comma-separatedBlack / M
sale_priceOptionalNumber with currency69.00 USD
sale_price_effective_dateOptionalISO 8601 start/end2026-11-27T00:00/2026-11-30T23:59
ios_url / android_urlOptional; required for app deep linksDeep link schememyapp://product/DRS-2210
custom_label_0 … custom_label_4OptionalFree text for product setsnew-season
shippingOptionalCountry:Region:Method:PriceUS:NY:Ground:3.99 USD

Field list and required set as described by TikTok's catalog product parameters page and confirmed across three feed-vendor references, checked 2026-10-27; verify limits against your Ads Manager catalog template.

TikTok Shop listings versus the catalog feed

TikTok Shop products, the ones with in-app checkout, are created in Seller Center: one at a time, by bulk upload of up to 1,000 products, or through a platform integration. They follow listing rules that the catalog feed does not enforce: titles of 25 to 200 characters with each word capitalized and numerals instead of words, descriptions of at least 500 characters, at least five images of 600 × 600 px or larger with a clean front view first, a category from Seller Center's tool, and a brand picked from the dropdown or registered. Bundles need their own GTIN; each variation is its own SKU.

The catalog feed on this page is what you send to Ads Manager when shoppers check out on your own site, or when you want product data for catalog ads beyond what the Shop sync provides. If you already run a TikTok Shop, its products reach a catalog through the Shop connection; the feed template still helps when you need titles and descriptions that meet the Seller Center rules, because the same mapping produces both.

RuleCatalog feed (Ads Manager)TikTok Shop listing (Seller Center)
TitleRequired, no stated limit25 to 200 characters, Title Case, numerals, no ALL CAPS
DescriptionRequired, about 1,000 charactersAt least 500 characters, measurements and care included
ImagesOne image_link, 500 × 500 px minimumAt least 5, up to 9, 600 × 600 px minimum, first a clean front view
Categorygoogle_product_category optionalSeller Center category, wrong category triggers a violation
BrandFree textFrom the dropdown or registered; unbranded selects No brand
Variantsitem_group_id + color/sizeEach variation a SKU under one anchor product
Bulk uploadAny size; scheduled URL fetchUp to 1,000 products per bulk upload

CSV or XML: the TikTok product feed file

TikTok accepts CSV and XML in RSS or Atom form, and zipped versions of either (tar archives are not supported). The CSV is comma-delimited by default with a header row of field names; quote any value that contains a comma, which in practice means every title with a color and size. Catalog ads need at least 20 items in the catalog, so very small stores should include every variant as a row rather than one row per product. The first three rows of the download look like this:

tiktok-catalog.csv

sku_id,title,description,availability,condition,price,link,image_link,brand
DRS-2210-BLK-M,"Linen Wrap Dress, Black, M","Midi wrap dress in washed linen.",in stock,new,89.00 USD,https://store.example/products/linen-wrap-dress?variant=blk-m,https://cdn.example/drs-2210-blk.jpg,Marlowe
SER-30,Vitamin C Serum 30 ml,"15% L-ascorbic acid serum.",in stock,new,34.00 USD,https://store.example/products/vitamin-c-serum,https://cdn.example/ser-30.jpg,Juno Skin

Keeping the TikTok feed in sync with the store

TikTok fetches a scheduled feed hourly or daily, so what matters is that the URL always holds a current file. Textfinity connects the store (Shopify natively, or a CSV or Google Shopping XML export URL), re-pulls it on the shop's schedule and rebuilds every feed, including the TikTok one. The TikTok channel template creates the nine required columns and the optional ones with TikTok's spelling, and each is mapped from the store's own fields: rename for sku_id, link, image_link and brand; combine for title; add suffix for the currency; replace from regexp or an advanced rule for availability from stock; a merged Google Sheet for video URLs or categories the store does not hold.

Filters keep out gift cards, items with no image and anything you do not want in catalog ads. The feed hygiene profile flags image URLs that do not resolve and descriptions in a mixed language, which TikTok's catalog diagnostics would otherwise report after the first fetch.

Examples

Worked examples, by situation

Four stores, four rows. Each one shows the store's data, the TikTok row and the rule that connects them.

Fashion · TikTok catalog ads · 1,500 SKUs on Shopify

Variant row with item_group_id

Before

Handle,Title,Option1 Value,Option2 Value,Variant SKU,Variant Price
linen-wrap-dress,Linen Wrap Dress,Black,M,DRS-2210-BLK-M,89.00

After

sku_id,item_group_id,title,price,availability,color,size
DRS-2210-BLK-M,DRS-2210,"Linen Wrap Dress, Black, M",89.00 USD,in stock,Black,M

How we set it up

rename Variant SKU onto sku_id and the product id onto item_group_id; combine title, option 1 and option 2 with ", "; add suffix " USD" on price; availability from the advanced rule if calc{[variant_inventoryQuantity]} > 0 then "in stock" else "out of stock" (advanced expressions name Shopify fields with underscores).

Beauty · Video Shopping Ads · 120 SKUs · product videos in a sheet

video_link joined from a Google Sheet

Before

sku,name,price
SER-30,Vitamin C Serum 30 ml,34.00

After

sku_id,title,price,video_link
SER-30,Vitamin C Serum 30 ml,34.00 USD,https://cdn.example/videos/ser-30.mp4

How we set it up

A merged source joins a Google Sheet with columns sku and video_url onto the catalog; video_link is a rename from the joined column. Rows with no video stay empty, which TikTok accepts since the field is optional.

Home decor · WooCommerce CSV export · 450 SKUs · Black Friday

Timed sale price and category

Before

SKU,Name,Categories,Regular price,Sale price
VAS-33,Stoneware Vase 33 cm,Decor > Vases,54.00,43.00

After

sku_id,title,price,sale_price,sale_price_effective_date,google_product_category
VAS-33,Stoneware Vase 33 cm,54.00 USD,43.00 USD,2026-11-27T00:00/2026-11-30T23:59,Home & Garden > Decor > Vases

How we set it up

sale_price is a conditional rule: Sale price matches regexp ^\s*$ → leave empty, otherwise add suffix " USD"; sale_price_effective_date is add static value for the window; google_product_category is a replace from google sheet lookup from the WooCommerce category path (it replaces substrings, so list full paths).

Electronics · app-first retailer · 3,000 SKUs · deep links

ios_url and android_url built from the SKU

Before

sku,title,url
HDMI-2M,HDMI 2.1 Cable 2 m,https://store.example/p/hdmi-2m

After

sku_id,title,link,ios_url,android_url
HDMI-2M,"HDMI 2.1 Cable, 2 m, 8K",https://store.example/p/hdmi-2m,storeapp://product/HDMI-2M,storeapp://product/HDMI-2M

How we set it up

We add the prefix "storeapp://product/" to a copy of sku for both deep-link columns; the title gets its spec from combine (name, length, resolution). A filter excludes rows where the source image column is blank so the catalog never shows a grey placeholder.

Copy this plan

From template to a catalog TikTok refreshes on schedule

Six steps. Catalog creation and the fetch schedule happen in TikTok Ads Manager; the rest is one feed we set up in Textfinity.

  1. 01

    Connect the store

    Shopify directly, or the URL of a CSV or Google Shopping XML export from WooCommerce, Magento, PrestaShop or BigCommerce. Textfinity profiles the columns and counts the products.

    What we set up: We connect your Shopify store, or read the CSV or XML export URL you send us, and check the column profile.
  2. 02

    Start from the TikTok channel template

    The template creates the nine required columns and the optional variant, video, sale and deep-link columns with TikTok's spelling.

    What we set up: We create the feed from the TikTok channel template.
  3. 03

    Map the required nine

    rename for sku_id, link, image_link, brand; combine for title; add suffix for the currency on price; replace from regexp or advanced for availability and condition.

    What we set up: We map sku_id as a rename of the variant SKU and availability as an advanced rule on stock.
  4. 04

    Add variants, videos and categories

    item_group_id from the parent id with color and size from options; video_link from a merged Google Sheet; google_product_category from a sheet lookup on your product type.

    What we set up: We join your video sheet as a merged source keyed on sku and map video_link as a rename of the joined column.
  5. 05

    Filter and check

    Exclude gift cards, items without images and anything under your minimum price. Run feed hygiene for broken URLs and mixed-language descriptions.

    What we set up: We add exclude filters where the source image column is blank and where the source price is less than 5 (product.featuredImage.url and variant.price on Shopify).
  6. 06

    Publish and schedule the fetch in Ads Manager

    Copy the feed URL. In TikTok Ads Manager: Assets → Catalogs → create or open the catalog → Add products → Data feed schedule → paste the URL and pick hourly or daily. Diagnostics appear in the catalog after the first fetch.

    What we set up: We publish the feed and add the URL to your catalog's data feed schedule with access you give us, or walk you through it on a call.

Customization tips

Make it yours

Match the catalog currency before the first fetch

A catalog has one currency; prices in another currency are rejected row by row. For multi-market stores create one catalog per currency and one Textfinity feed per catalog, with a filter on the market or a merged price sheet per country.

Send a video even when the ad will use a creator's clip

video_link is optional, but catalog formats that fall back to a product video render better than a static image. A 10-second product loop hosted on your CDN is enough; keep the URL stable so TikTok does not re-download it every fetch.

Write descriptions for the Shop rules once

If you also list on TikTok Shop, the 500-character minimum applies there but not to the catalog. Generating one description that meets it (a Textfinity AI description runs 500 to 1,000 characters, so an accepted one clears the minimum; include measurements among its source fields) means the same text passes both places, instead of two versions drifting apart.

Keep out-of-stock rows, flip availability

Removing a sku_id makes TikTok treat the item as deleted and lose its history. Keeping the row with availability out of stock preserves it and brings the item back automatically when stock returns. Filter out only what will never come back.

FAQ

Questions about tiktok shop product feed template

What fields are required in a TikTok product feed?

Nine: sku_id, title, description, availability, condition, price, link, image_link and brand. A row missing any of them is not published. TikTok lists 27 more optional fields, including google_product_category, video_link, item_group_id, color, size, sale_price, custom labels and the ios_url and android_url deep links.

Is a TikTok Shop product feed the same as a TikTok catalog feed?

No. The catalog feed is a file you give TikTok Ads Manager to populate a catalog for ads and product links; it uses the fields on this page. TikTok Shop listings are created in Seller Center, follow stricter listing rules (title 25 to 200 characters, description of 500 or more, five or more images) and sync to a catalog on their own. Stores that check out on their own site use the feed; stores that sell through TikTok Shop checkout list in Seller Center.

What file formats does TikTok accept for a catalog?

CSV and XML (RSS or Atom), plain or compressed as .zip or .gz. You can upload once, schedule a fetch from a URL hourly or daily, import from Google Merchant Center, or connect a Shopify store.

How many products does a TikTok catalog need?

TikTok recommends at least 20 items for catalog formats such as Video Shopping Ads and collection ads. There is no practical upper limit for a feed-fed catalog; scheduled feeds are documented up to 20 million products.

Set up for you

Have us build this TikTok catalog feed from your store

Send us your store or export URL. We map the nine required columns once in Textfinity, and the software publishes the file on a URL TikTok fetches hourly or daily.

Have us build this feedOr email support@textfinity.io

Tell us your store and channels. We reply within 24 hours.