Conversion
Google Shopping feed to TikTok catalog
TikTok's catalog fields were modeled on Google's, and TikTok Ads Manager can even import a catalog straight from Google Merchant Center. The import only works for Merchant Center feeds fetched on a schedule, though, and it copies Google's data as it is. When the TikTok catalog needs its own ids, availability values, shorter categories or video links, you need a TikTok feed. This page maps every Google attribute to its TikTok parameter and marks what changes.
We connect your store, build the feed and keep it in sync. Updated 2026-10-27.
At a glance
- TikTok requires nine fields: sku_id, title, description, availability, condition, price, link, image_link and brand. Google's id becomes sku_id; brand is mandatory on every item.
- Values that change: availability has five TikTok values (in stock, available for order, preorder, out of stock, discontinued); google_product_category and product_type are read to three levels only.
- TikTok's Google import binds a Merchant Center feed and syncs it, but only for feeds created with Merchant Center's scheduled fetch, not manual, file-upload or API feeds.
- In Textfinity we set up the TikTok catalog file from the same store source as your Google feed; the software publishes it on a URL TikTok fetches on a schedule.
Google Shopping attributes mapped to TikTok catalog parameters
Left: the Google Merchant Center attribute. Middle: TikTok's catalog parameter. Right: the change, taken from TikTok's Catalog Product Parameters page (9 required and 27 optional fields).
| Google attribute | TikTok parameter | Difference / rule |
|---|---|---|
| id | sku_id (required) | Rename the column; duplicate ids are ignored, so every variant needs its own |
| title | title (required) | No emoji, no promotional text such as 'free shipping' |
| description | description (required) | Plain text; TikTok calls it a short description |
| availability (in_stock, out_of_stock, preorder, backorder) | availability (required) | in stock, out of stock, preorder, plus available for order and discontinued; backorder → available for order |
| condition | condition (required) | Same values: new, refurbished, used |
| price (24.99 USD) | price (required) | Same format; currency follows the catalog's target country by default |
| link | link (required) | Same |
| image_link | image_link (required) | JPG or PNG, at least 500 × 500 for square carousel ads; Google Drive, Dropbox and Flickr hosting not supported |
| brand (optional for some items) | brand (required) | Fill every row; own-label products use the store's brand name |
| additional_image_link | additional_image_link | Up to 10 URLs, comma-separated, wrapped in double quotes |
| google_product_category | google_product_category | Only three levels are read; trim deeper paths |
| product_type | product_type | Only the first three levels are read |
| item_group_id, color, size, material, pattern, gender, age_group | same names | Same values |
| gtin / mpn | gtin / mpn | Same |
| identifier_exists | — | Not a TikTok parameter; leave unmapped |
| sale_price / sale_price_effective_date | same names | Same format; TikTok notes the end date does not currently expire the sale price |
| shipping (US:NY:Ground:4.99 USD) | shipping | TikTok's order is COUNTRY:STATE:TYPE:PRICE:SERVICE, regions separated by ';' |
| custom_label_0–4 | custom_label_0–4 | Same; TikTok caps each at 100 characters |
| — | video_link, ios_url, android_url | TikTok-only; video recommended 9:16, at least 720 × 1280 |
TikTok parameters from TikTok Ads Manager's Catalog Product Parameters page (last updated February 2025); Google attributes from the Merchant Center product data specification. Checked 2026-10-27.
TikTok's Google Merchant Center import, and when a feed is better
In TikTok Ads Manager, Tools → Catalog → Add products → Import from Google Merchant Center lets you sign in with Google, pick a feed and choose how often TikTok re-reads it. Products and catalog configuration then stay in sync with Merchant Center. TikTok's help page is explicit about the limit: only feeds that Merchant Center pulls by scheduled fetch qualify; catalogs built by manual upload, file or API integration do not.
The import is the right call when the Google feed is exactly what TikTok should show. Build a separate TikTok feed when you want backorder items labeled 'available for order' instead of Google's value, product videos in video_link, a different product set for TikTok audiences, shorter titles, or when your Merchant Center products arrive through an app or API that the import cannot bind.
Sample: the same products in Google and TikTok format
The snippet is a Google Shopping source trimmed to the columns that change. The download is the TikTok catalog CSV built from it: a beauty serum on backorder, a dress variant with a video, and a home product with a four-level category trimmed to three.
google-shopping.tsv (source, trimmed)
id availability google_product_category brand
SRM-30 backorder Health & Beauty > Personal Care > Cosmetics > Skin Care Lumen
DRS-2210-BLK-M in_stock Apparel & Accessories > Clothing > Dresses Marlowe
PAN-28 in_stock Home & Garden > Kitchen & Dining > Cookware & Bakeware > Cookware Examples
Worked examples, by situation
Three verticals, each with a different reason the Google value could not go to TikTok as it was.
Backorder becomes 'available for order'
Before
id: SRM-30 availability: backorder google_product_category: Health & Beauty > Personal Care > Cosmetics > Skin Care
After
sku_id: SRM-30 availability: available for order google_product_category: Health & Beauty > Personal Care > Cosmetics
How we set it up
We map availability with the advanced expression if [availability] equals "backorder" then "available for order" else if [availability] equals "in_stock" then "in stock" else if [availability] equals "preorder" then "preorder" else "out of stock". For the category, replace from regexp ^([^>]+>[^>]+>[^>]+?)\s*>.*$ with \1 keeps three levels.
Variant ids, a product video and quoted extra images
Before
Variant SKU: DRS-2210-BLK-M Product video: (metafield) https://cdn.example/drs-2210.mp4
After
sku_id: DRS-2210-BLK-M item_group_id: DRS-2210 video_link: https://cdn.example/drs-2210.mp4 additional_image_link: "https://cdn.example/a.jpg,https://cdn.example/b.jpg"
How we set it up
We build the feed from the TikTok Ads template, rename its id column to sku_id and map it from Variant SKU. video_link is a rename from the Shopify metafield. additional_image_link is a combine of the image columns with a comma delimiter; the CSV writer quotes the value.
Brand filled and shipping rewritten in TikTok's order
Before
brand: (empty for own-label items) shipping: US:CA:Ground:5.99 USD
After
brand: Hearth & Pan shipping: US:CA:Ground:5.99 USD:Standard
How we set it up
We map brand with a conditional rule: if brand matches regexp ^\s*$ (empty), add static value 'Hearth & Pan', else rename. shipping gets add suffix ':Standard' for the service level. A filter excludes rows whose Images column (the export's image URLs) points at Dropbox (does not include 'dropbox').
Copy this plan
Plan: a TikTok catalog from your Google Shopping data
Create the catalog in TikTok first. If TikTok's Google import covers your case, use it; otherwise follow the rest.
01
Create the catalog in TikTok Ads Manager
Tools → Catalog → Create catalog, with the target country whose currency your prices use. This happens in TikTok's interface.
02
Add the store or the Google feed as the source
Connect Shopify natively, or paste a CSV or Google-shaped XML URL (WooCommerce, Magento and others connect through their export). Feed hygiene flags empty brands and malformed image URLs on import.
What we set up: We connect your Shopify store, or your CSV or XML URL, as the source in Textfinity.03
Start from the TikTok Ads template
The template pre-fills TikTok's columns from Google's names. Rename id to sku_id and map the rest by rename.
What we set up: We start from the TikTok Ads template, rename id to sku_id and map the rest as renames.04
Apply the TikTok value rules
Availability with five values, categories trimmed to three levels, brand filled on every row, shipping in TikTok's order, identifier_exists left out.
What we set up: We map availability with an advanced rule, google_product_category with replace from regexp and brand with a conditional rule.05
Filter what TikTok should not advertise
Exclude out-of-stock items if they waste spend, discontinued lines, and anything with images on unsupported hosts.
What we set up: We add exclude filters with is equal to and does not include on the export's own columns.06
Connect the feed URL in TikTok
Copy the feed URL; in the catalog choose Add products → Data feed schedule, paste it and set the update frequency. Check the catalog diagnostics after the first fetch (outside Textfinity).
What we set up: We give you the feed URL and add it to the catalog with you, or with the access you give us.
Customization tips
Make it yours
Import first, feed when you diverge
If Merchant Center already fetches a clean feed on a schedule, TikTok's import is zero maintenance. The cost is control: you cannot change values for TikTok alone. Switch to a separate feed the first time TikTok needs something Google should not get.
Shorter titles without AI
TikTok publishes no hard title limit, but cards are small. A replace from regexp ^(?=.{101})(.{0,97}\S)\s.*$ → \1 cuts titles over 100 characters at the last word that fits, and leaves shorter titles alone. AI title configs write 100–150 characters with the key words in the first 70, so they suit Google better than a TikTok card.
Keep sku_id equal to the Google id
Using the same identifier in both catalogs keeps pixel events, reporting and any later supplemental data aligned. TikTok updates a product by matching sku_id, so never change it once live.
Video is the TikTok-only upside
Google has no use for video_link; TikTok does. If your store keeps product videos in a metafield or a column, map it. If not, a merged source keyed by SKU can add a video URL column from a sheet without touching the store.
Downloads
Take the files
FAQ
Questions about google shopping feed to tiktok catalog
Can I import my Google Merchant Center catalog into TikTok?
Yes, if Merchant Center gets that feed by scheduled fetch. In TikTok Ads Manager go to Tools → Catalog → Add products → Import from Google Merchant Center, sign in with Google, pick the feed and set the sync timing. Feeds created by manual upload, file or API integration cannot be imported.
What are the required fields for a TikTok catalog?
Nine: sku_id, title, description, availability, condition, price, link, image_link and brand. TikTok returns an error if any is missing. Optional parameters include google_product_category, item_group_id, video_link, sale_price, gtin, mpn and five custom labels.
Does TikTok accept Google's availability values?
TikTok lists in stock, available for order, preorder, out of stock and discontinued, written with spaces. Google writes in_stock and out_of_stock and has backorder, which maps most naturally to available for order.
Why does TikTok cut my google_product_category?
TikTok's parameters page says only three levels of Google's taxonomy are supported, and product_type is read to its first three levels too. Trim deeper paths yourself so the category you send is the one TikTok uses.
Set up for you
Have us give TikTok its own catalog, built from your Google data.
Send us your store or Google feed URL. We set up the TikTok feed in Textfinity, apply the availability and category rules and add the one feed URL to Ads Manager with you.
Tell us your store and channels. We reply within 24 hours.