TikTok Shop product feed: Shopify to a Good listing
Search "TikTok Shop product feed" and you get two answers that contradict each other on image size, field names, and what counts as a good listing. That is because there are two different feeds, managed in two different dashboards, with two different rule sets. Get them mixed up and you will fix the wrong thing. This guide separates them cleanly, then walks a Shopify seller from connecting the store to landing a Good-tier listing, with the real thresholds TikTok publishes.
The two feeds, side by side
Read this table first. Almost every "but the docs say 500, no they say 600" confusion dissolves once you know which surface you are on.
| TikTok Shop listing | TikTok Ads catalog feed | |
|---|---|---|
| What it is | Products you sell inside the TikTok app (the storefront) | A product feed that powers ads (Video Shopping / catalog ads) |
| Managed in | TikTok Seller Center | TikTok Ads Manager → Assets → Catalog |
| How products get in | Synced from Shopify via the sales channel, or added manually | Manual add, file upload, or a feed URL on a schedule (CSV / XML) |
| Image floor | 600×600 px (rejected below) | 500×500 px (1:1 carousel minimum) |
| Quality model | Poor / Fair / Good listing tiers | Per-field validation pass/fail; no tier |
| Field names | UI fields (title, description, category, images…) | Feed spec: sku_id, title, price, image_link, availability… |
The storefront and the ads catalog are connected (your business account hosts the shop, your ad account runs traffic to it) but they are edited in different places, and they even report metrics on a different basis: Seller Center counts by order date, Ads Manager by click and impression date. The Goodtier only exists on the Shop side. So "from Shopify to a Good listing" is a Seller Center journey. The Ads catalog feed is the adjacent thing you will also hit the moment you run Video Shopping Ads, covered as its own section below, not blended in.
The Poor / Fair / Good tier model
TikTok grades every Shop listing as Poor, Fair, or Good, and the tier affects both organic and ad visibility. The criteria are specific, and knowing them turns "make it good" into a checklist:
| Criterion | Poor | Fair | Good |
|---|---|---|---|
| Main images | No main product image | ≥1 image of the product | ≥5 images, each over 600×600 px |
| Description | Under 80 characters, invalid, or irrelevant | Over 80 characters OR at least 1 description image | Structured description + category-specific info |
| Title | Repetition, variant/stock claims, or clickbait | No title-quality issues | Same standard as Fair |
| Category attributes | Not required | Not required | Required (the hard gate to Good) |
Three things do the heavy lifting. First, five or more images, each above 600×600 px. Second, a real structured description (benefits, who it is for, size and units, material, specs) rather than one line. Third, the category-specific attributes filled in. That last one is the gate: TikTok's own wording is that without category-specific information, Fair is the highest tier you can reach. A clean title in the right band rounds it out.
Step 1: connect Shopify to TikTok
You do not need a third-party tool to get products onto TikTok. TikTok's native channel handles the plumbing well, and it is free. There are three paths, and which one you want depends on whether you are selling on the storefront, running ads, or both.
Option A: the native TikTok sales channel
The primary path. Install the official TikTok sales channel from your Shopify admin (Settings → Sales channels, via the Shopify App Store). Once connected, it syncs catalog, inventory, fulfillment, and orders between Shopify and TikTok Shop, two-way. Eligibility is limited to regions where TikTok Shop operates (the US, UK, Spain, Ireland, France, Italy, Germany, Mexico, Japan, and Brazil at time of writing), and you need a verifiable address in your Locations, an online store, a TikTok for Business account, and a return-policy page.
Option B: a third-party sync app
The native app is built mainly for running ads, so its inventory updates are not real-time and order routing is limited. If you carry a lot of SKUs or need variant-level mapping and oversell protection, a dedicated connector (Optima, QuickSync, and similar) fills that gap. For most sellers starting out, the native channel is enough.
Option C: a feed URL into the Ads catalog
This is the ads path, not the storefront. In Ads Manager → Assets → Catalog you can add products manually, upload a file, or set a Data Feed Schedule pointing at a feed URL (CSV or XML), refreshed hourly or daily. This feed-URL slot is the one relevant to feed tooling, and the only place Emberfeed plugs in. More on that at the end.
Step 2: the required fields
The two feeds want different fields. On the Shop side you fill UI fields in Seller Center (title, description, category, images, price, stock). The Ads catalog feed has a stricter, named spec: 9 required fields, exact names.
| Field | Notes / accepted values |
|---|---|
| sku_id | Unique product identifier. TikTok’s canonical name, NOT product_id or id |
| title | Product name; no promotional text or emoji |
| description | Short product description |
| availability | in stock / available for order / preorder / out of stock / discontinued |
| condition | new / refurbished / used |
| price | Number + currency code |
| link | Product landing-page URL |
| image_link | Single product image URL |
| brand | Brand name |
Note the field names are spaced where Google would use underscores: in stock, not in_stock. If you are repurposing a Google Shopping feed, that vocabulary has to change. The two fields most often missed are condition and brand: plenty of exports drop them, and the product then fails to publish without an obvious reason. Useful optional fields include google_product_category (TikTok reuses Google's taxonomy), sale_price, gtin, color, size, and additional_image_link (up to 10 comma-separated URLs).
Step 3: images that clear the floor and reach Good
The feed can be perfect and the listing still gets held back on images. For the Shop listing (Seller Center), the rules:
- Resolution:
600×600 pxminimum (auto-rejected below), up to6000×6000 px. Square (1:1) is recommended. - Format and size: PNG or JPG only, up to 5 MB per image.
- Count: up to 9 images per product, and up to 3 per variant. Remember the Good tier wants at least 5.
- Main image: clean white or neutral background, product filling the majority of the frame, no graphics, stickers, text, or logos.
- No overlays: no watermarks, borders, promotional text, blur, or duplicate images.
Step 4: title and description to reach Good
TikTok's title rule is the one most likely to surprise a seller coming from Meta or Google. The recommended length is 40 to 150 characters, far longer than Meta's convention. Capitalize the first letter of each word except conjunctions, articles, and prepositions, and follow the suggested structure: brand, then content, then scope of application, then type, then main features. What gets a title flagged:
- Variant lists ("red yellow blue green")
- Inventory claims ("Only 8 pieces in stock")
- Discount or marketing text ("30% off")
- Subjective terms ("bestseller", "best", "great value")
- Excessive repetition (the same word 4+ times) and emoji
For the description, clear 80 characters to escape the bottom tiers, then write a structured block that names benefits, the use case or audience, size with units, material, and specs. The category-specific attributes (for clothing: Size, Color, Material) are the actual gate to Good, so fill them even when they feel redundant with the description.
Step 5: validate before you publish
Most rejections are predictable. Before you push a listing or a feed live, check for the usual suspects:
- Images under the floor (600×600 for Shop, 500×500 for the Ads feed)
- Watermarks, badges, or promotional overlays on the main image
- Missing
conditionorbrandin the Ads feed - Titles with clickbait, variant lists, or inventory claims
- Descriptions under 80 characters, or missing category attributes
The Ads catalog feed, briefly
If you also run Video Shopping Ads, the catalog feed is the second surface. It takes a feed URL (CSV or XML) on a Data Feed Schedule that refreshes hourly or daily, the 9 required fields above, and a 500×500 px image minimum for the 1:1 carousel (JPG or PNG). TikTok also documents support for uploaded files and ZIP/GZ archives, though the exact file-size and product-count ceilings vary between sources, so treat any specific number you read as a guideline rather than a hard limit. The capability that matters is solid: point the catalog at a feed URL and TikTok pulls it on a schedule.
Where Emberfeed fits
To be clear about the boundary: TikTok's native sales channel (or a sync app) is what connects your store and creates the feed. Keep using it. Emberfeed does not connect Shopify, does not create the catalog, and does not replace the sales channel. It sits on top of a feed you already have, and it operates on the Option C path: it serves a modified feed URL that you point TikTok's Ads catalog at, with rendered image URLs flowing through.
Within that boundary, it targets the exact blockers between a listing and Good:
- Images: renders every product at
1024×1024from one template setting, comfortably above the 600×600 floor and the 800×800 recommendation, with AI-designed templates applied per product. - Descriptions: field rules and Handlebars can compose a structured description from existing product fields and conditionally fill attributes like color, size, and material.
- Validation: checks the feed against the spec before products go live.
Related
Ship better catalog ads this afternoon.
Free for 3 months on one feed up to 1,000 products. Connect your XML feed, design a template, paste the new URL into Meta / Google / TikTok.