Integration
Shopify + TikTok Shop
Two different things are called a 'TikTok feed' for Shopify stores: the product sync into TikTok Shop, which the official TikTok app handles, and the catalog feed TikTok Ads Manager fetches for Video Shopping Ads and other catalog ads. This page covers both honestly: where Textfinity helps (the catalog feed, and cleaning the data before either), and where it does not.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- TikTok Shop listings come from the official TikTok app in Shopify; bulk listing in Seller Center accepts only TikTok's own Excel template, one per leaf category, not a third-party file.
- TikTok catalog ads use a separate catalog in Ads Manager with nine required fields: sku_id, title, description, availability, condition, price, link, image_link and brand; Textfinity's TikTok template produces that file on a feed URL.
- Shopify variants need their own sku_id plus a shared item_group_id; availability must be one of in stock, available for order, preorder, out of stock, discontinued.
- Textfinity connects to Shopify natively (products, variants, metafields, markets) and rebuilds the catalog feed on a schedule. We set the feed up in Textfinity for you.
Which Shopify TikTok feed do you need?
If the goal is to sell inside TikTok Shop (checkout on TikTok), the path is the TikTok app from the Shopify App Store. It creates the connection between the Shopify catalog and TikTok Shop and syncs products, stock and orders. Seller Center's bulk listing exists too, but it only accepts TikTok's own Excel template, downloaded per leaf category, with no columns added or removed, so a feed tool cannot replace it. Textfinity does not list products in TikTok Shop.
If the goal is to run catalog-based ads (Video Shopping Ads, dynamic showcase), TikTok Ads Manager uses a catalog with its own field spec and accepts a scheduled feed URL. That file is what Textfinity's TikTok template builds from your Shopify data, with titles, filters and categories under your control instead of whatever the raw product sync sends. Many stores run both: the app for Shop listings, the feed for ads.
Shopify fields mapped to TikTok catalog fields
Textfinity reads Shopify through its native connection, so the source columns are Shopify's product and variant attributes, not a CSV export. The mapping for a standard store looks like this.
| Shopify attribute | TikTok catalog field | Transform in Textfinity |
|---|---|---|
| Variant SKU (fallback: variant id) | sku_id | rename; conditional rule uses variant id when SKU is empty |
| Product id | item_group_id | rename |
| Product title + option values | title | combine (title, color, size) with ' – ' delimiter, ≤150 chars |
| Body (HTML) | description | remove from regexp <[^>]+> |
| Inventory quantity | availability | advanced: if calc{[variant_inventoryQuantity]} > 0 then "in stock" else "out of stock" |
| Variant price | price | add suffix " USD" |
| Compare-at price | sale_price / price | advanced: swap when compare-at is higher |
| Online store URL + ?variant= | link | combine (product URL, variant id) with "?variant=" as the delimiter |
| Variant image (fallback: product image) | image_link | rename with conditional fallback |
| Other product images | additional_image_link | rename (up to 10) |
| Vendor | brand | rename |
| — (not in Shopify) | condition | add static value "new" |
| Product category / Type | google_product_category | replace from google sheet (substring find-and-replace: keep column A specific) |
| Option1 value (Color) | color | rename |
| Option2 value (Size) | size | rename |
TikTok catalog field names and accepted values from TikTok's Catalog Product Parameters help article (ads.tiktok.com), checked 2026-10-27. Shopify attribute names from Shopify's product CSV documentation.
What has to be fixed between Shopify and TikTok
- Every variant needs a unique sku_id. Shopify allows empty or duplicate SKUs; TikTok ignores duplicate IDs, so the second variant with the same SKU disappears. A conditional mapping rule (SKU matches regexp ^\s*$ → use variant id) and feed hygiene's completeness check catch it before publish.
- Titles from Shopify are product titles, not variant titles. TikTok wants the variant described; combine title with the option values and keep it under 150 characters (hygiene's length distribution flags the long ones).
- Descriptions are HTML in Shopify and plain text in TikTok. One 'remove from regexp' transform handles it.
- Availability must be one of five literal phrases. Shopify gives you an inventory number and a 'continue selling when out of stock' flag; an advanced rule turns those into 'in stock', 'out of stock' or 'available for order'.
- Links should land on the exact variant. Appending ?variant=<id> to the product URL keeps the price on the page equal to the price in the feed, which TikTok checks.
- Images: square images of at least 500×500 px for carousel placements. Textfinity cannot resize images, but the URL validator flags broken links and the filter engine can exclude products with no image at all.
How TikTok ingests the Shopify catalog feed
In TikTok Ads Manager, open Assets → Catalogs, create a catalog for your market and currency, then add products with a scheduled data feed: paste the Textfinity feed URL and choose how often TikTok fetches it. This step happens in Ads Manager, and we do it with you. Once the feed is fetched, catalog diagnostics show rejected items with the field that failed, which maps directly back to a mapping column in Textfinity.
Textfinity re-pulls the Shopify catalog on the shop's sync schedule and rebuilds every feed, so price and stock changes in Shopify reach TikTok on its next fetch. A feed whose rules change is rebuilt within about five minutes, which makes it practical to fix one rejected field, wait for the rebuild, and trigger the next fetch.
Examples
Worked examples, by situation
Three Shopify stores, three TikTok catalogs. Each shows the raw Shopify data and the TikTok row that leaves Textfinity.
Variant-level sku_id, grouped title, size and color
Before
product.title: Ribbed Crop Tank variant.sku: (empty) variant.id: 44811 option1: Sage option2: S inventory_quantity: 12
After
sku_id,item_group_id,title,color,size,availability,price 44811,8821,Ribbed Crop Tank – Sage S,Sage,S,in stock,24.00 USD
How we set it up
We map sku_id as a rename of variant SKU with a conditional rule 'SKU matches regexp ^\s*$ → variant id'; title is advanced: [product_title] + " – " + [variant_color] + " " + [variant_size] (advanced expressions name Shopify fields with underscores); availability is the advanced rule on inventory_quantity; price gets add suffix ' USD'.
Compare-at price becomes price, selling price becomes sale_price
Before
variant.price: 18.00 variant.compareAtPrice: 24.00
After
price: 24.00 USD sale_price: 18.00 USD
How we set it up
We map price as an advanced expression, if [variant_compareAtPrice] is empty then [variant_price] + " USD" else [variant_compareAtPrice] + " USD", and sale_price as another: if [variant_compareAtPrice] is empty then "" else [variant_price] + " USD". TikTok then shows the strike-through price.
Filter out a supplier and products without images
Filter rules
exclude if product.vendor is in list: DropShip Co, Generic Imports
exclude if product.featuredImage.url is empty
exclude if variant.price is less than 15How we set it up
We add three exclude filters with 'is in list', 'is empty' and 'is less than'. The excluded products never reach the TikTok catalog, so diagnostics stay clean and ad spend goes to lines you fulfill yourself.
Copy this plan
Plan: Shopify catalog feed for TikTok
Same-day setup. Steps 1–5 we set up in Textfinity for you; step 6 is in TikTok Ads Manager. TikTok Shop listings stay with the official app.
01
Connect the Shopify store
The native connection pulls products, variants, metafields, markets and locales. Feed hygiene profiles the catalog: empty SKUs, long titles, broken image URLs.
What we set up: Once you approve Textfinity's access to your store, we pull the catalog and run feed hygiene on it.02
Start a feed from the TikTok template
The template pre-names the nine required fields and the common optional ones in TikTok's spelling.
What we set up: We start the feed from the TikTok Ads channel template.03
Map identifiers and titles
sku_id from variant SKU with a fallback to variant id; item_group_id from product id; title as a combine of product title and option values.
What we set up: We map sku_id as a rename with the condition SKU matches regexp ^\s*$ falling back to variant id, and title as a combine.04
Fix availability, price, description and link
Advanced rules for availability and sale pricing, a currency suffix on price, an HTML-stripping regexp on description, and ?variant= appended to the link.
What we set up: We map availability as an advanced expression, description with remove from regexp and link as a combine.05
Filter what should not be advertised
Exclude drafts, gift cards, products without images and anything under your minimum price.
What we set up: We add exclude filters: product.status is not equal to ACTIVE; product.featuredImage.url is empty.06
Add the feed URL in TikTok Ads Manager
Assets → Catalogs → your catalog → add products via scheduled data feed → paste the Textfinity feed URL and set the fetch frequency. Review diagnostics after the first fetch. This step happens in TikTok Ads Manager.
What we set up: We add the feed URL to your catalog with you, through access to your ad account or on a short call, and read the first diagnostics.
Customization tips
Make it yours
Decide between product-level and variant-level items
One item per variant gives TikTok the exact size and color to show and the right landing page, but multiplies the catalog by the variant count. Stores with one-size products can filter to the first variant per product and keep the catalog small.
Shorten TikTok titles with a rule, not the AI config
TikTok trims long titles in-feed. AI configs write titles of 100 to 150 characters with the key information in the first 70, and the length is not adjustable, so for TikTok keep the combine of product title, color and material, or trim it with replace from regexp. Use the AI title on Google, where the length pays off, after accepting the generations in review.
Keep the catalog in the market's currency
Shopify Markets gives you per-market prices; TikTok catalogs are per currency. Map price from the market's price and set the suffix to match the catalog's currency, otherwise TikTok rejects the row or shows the wrong price.
Match Textfinity's schedule to TikTok's fetch
If TikTok fetches daily, an hourly rebuild in Textfinity changes nothing. If you push availability and run flash sales, shorten both. The feed URL is stable, so changing frequency never means re-adding the data source.
FAQ
Questions about shopify tiktok shop feed
Can Textfinity list my Shopify products in TikTok Shop?
No. TikTok Shop listings come from the official TikTok app in Shopify, or from Seller Center's bulk listing, which only accepts TikTok's own per-category Excel template. Textfinity builds the catalog feed for TikTok ads in Ads Manager and can prepare a column set you paste into TikTok's template, but it does not create Shop listings.
What fields does a TikTok product catalog feed require?
Nine: sku_id, title, description, availability, condition, price, link, image_link and brand. Variants share an item_group_id and still need their own sku_id. Availability must be one of: in stock, available for order, preorder, out of stock, discontinued. Condition is new, refurbished or used.
How do I get Shopify variants into a TikTok catalog feed?
Send one row per variant with the variant SKU as sku_id and the product id as item_group_id, then map color and size from the option values and append ?variant=<id> to the link so the landing page shows the same price as the feed. Textfinity's Shopify connection exposes variants as rows already, so this is mapping, not scripting.
How often does TikTok fetch a scheduled catalog feed?
On the frequency you choose when adding the data feed in Ads Manager. Textfinity rebuilds the file on the shop's sync schedule and within about five minutes after a rule changes, so the next TikTok fetch always picks up current stock and prices.
Set up for you
Send us your store. We'll set up your TikTok catalog feed from Shopify.
We set up the feed in Textfinity from the TikTok template and map sku_id and availability once; the software keeps the feed URL current on a schedule and TikTok Ads Manager fetches it.
Tell us your store and channels. We reply within 24 hours.