How to Fix “SKU ID cannot be empty” in TikTok Catalog
Every TikTok catalog row needs a unique, stable SKU ID. Rows with an empty value are dropped during ingestion, so the product cannot be advertised or shown in TikTok Shop.
Scan your feed for this error for free
Paste your product feed URL (XML, CSV or JSON). The audit checks SKU ID cannot be empty along with 25+ other pre-channel rules.
Why this happens
Technical root cause
SKU is an optional merchandising field in most storefronts. Products created quickly, or imported in bulk, frequently have no SKU at all, and the export writes an empty cell rather than deriving an identifier.
TikTok Catalog reports it as SKU ID cannot be empty and applies: Row rejected at upload; product never enters the catalog.
Native CMS friction
Shopify
Variant SKU is optional and blank by default on quick-created products.
VTEX
The reference code is optional while the numeric SKU ID lives in a field most exports do not select.
WooCommerce
SKU is an optional inventory field and is empty unless a merchandiser fills it.
Fixing it manually
- 1
Download the TikTok upload report and filter rows with an empty SKU ID.
- 2
Decide on a deterministic identifier — usually the variant ID from your platform.
- 3
Backfill the SKU field in the store, or derive it during export.
- 4
Never reuse an identifier across products; TikTok deduplicates on it.
The IRONFEED automated solution
One rule, applied to every product on every export. No spreadsheets, no re-uploads.
IF sku_id IS EMPTY
SET sku_id = concat(product_id, '-', variant_id)
ELSE SET sku_id = trim(sku_id)Run automatic linter checks before TikTok Catalog crawls your feed. IRONFEED validates every export against the channel spec, so this error is caught in Feed Review instead of in your channel dashboard.
Attribute requirements
| Attribute | TikTok Shop requirement | Accepted format | IRONFEED transformation |
|---|---|---|---|
sku_id | Required and unique per row | Alphanumeric string, stable across uploads | Deterministic product_id + variant_id generator |
product_id | Required for variant grouping | Alphanumeric string shared by all variants | Mapped from the parent product identifier |
Frequently asked questions
Related Feed Issues & Fixes
Other critical errors affecting catalog performance on Google, Meta, TikTok, and Mercado Libre.
Inventory quantity is required
Advertising feeds were designed around availability keywords, not quantities. When the same feed is reused for TikTok Shop, the numeric inventory column is simply not there.
View Fix & RuleInvalid URL in link or mobile_link
Tracking parameters are appended by string concatenation, which produces double question marks, unencoded spaces or duplicate UTM keys. Some exports also emit a path without the domain.
View Fix & RuleTitle exceeds maximum character limit
Product titles in ecommerce catalogs are optimized for on-site search, not for a mobile feed. Exports pass them through unchanged, including bracketed marketing suffixes.
View Fix & RuleLooking for a different error?