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 attributeTikTok catalog fieldTransform in Textfinity
Variant SKU (fallback: variant id)sku_idrename; conditional rule uses variant id when SKU is empty
Product iditem_group_idrename
Product title + option valuestitlecombine (title, color, size) with ' – ' delimiter, ≤150 chars
Body (HTML)descriptionremove from regexp <[^>]+>
Inventory quantityavailabilityadvanced: if calc{[variant_inventoryQuantity]} > 0 then "in stock" else "out of stock"
Variant pricepriceadd suffix " USD"
Compare-at pricesale_price / priceadvanced: swap when compare-at is higher
Online store URL + ?variant=linkcombine (product URL, variant id) with "?variant=" as the delimiter
Variant image (fallback: product image)image_linkrename with conditional fallback
Other product imagesadditional_image_linkrename (up to 10)
Vendorbrandrename
— (not in Shopify)conditionadd static value "new"
Product category / Typegoogle_product_categoryreplace from google sheet (substring find-and-replace: keep column A specific)
Option1 value (Color)colorrename
Option2 value (Size)sizerename

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.

Fashion · TikTok catalog ads · 900 variants · US

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'.

Beauty · TikTok catalog ads · 180 SKUs · sale pricing

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.

Home & kitchen · TikTok catalog · 2,400 SKUs · drop-shipped lines excluded

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 15

How 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Have us build my TikTok feedOr email support@textfinity.io

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