Home › Examples
Supplier CSV with color and size variants → Shopify import
See how rows sharing a parent ID become one Shopify product with Color × Size variants and image rows.
Symptom
Your supplier lists every color/size as a separate row with a shared product code.
Explanation
Choose variants mode and the parent_id column. Map Color and Size as options 1 and 2, price per row, and both image columns. Rows with the same parent ID become one product: the first row carries Title, Vendor, Published=FALSE and Status=draft; every row becomes one variant with its option values; distinct image URLs are appended as image-only rows with positions 1..N. Continuation rows may leave the title empty or repeat it exactly — a different title inside the group is a conflict.
Working fixture: fixture-b-variants.csv
parent_id,title,sku,color,size,price,image1,image2
P100,Classic Tee,TEE-BLK-S,Black,S,19.00,https://cdn.example.com/tee-black.jpg,https://cdn.example.com/tee-detail.jpg
P100,,TEE-BLK-M,Black,M,19.00,https://cdn.example.com/tee-black.jpg,
P100,,TEE-WHT-S,White,S,21.00,https://cdn.example.com/tee-white.jpg,
P100,Classic Tee,TEE-WHT-M,White,M,21.00,https://cdn.example.com/tee-white.jpg,https://cdn.example.com/tee-detail.jpg
Resulting Shopify CSV
Handle,Title,Body (HTML),Vendor,Type,Tags,Published,Option1 Name,Option1 Value,Option2 Name,Option2 Value,Option3 Name,Option3 Value,Variant SKU,Variant Price,Variant Compare At Price,Variant Barcode,Image Src,Image Position,Variant Image,Status
cp-classic-tee-b39af233e0cd,Classic Tee,,Demo Apparel,,,FALSE,Color,Black,Size,S,,,TEE-BLK-S,19.00,,,,,,draft
cp-classic-tee-b39af233e0cd,,,,,,,Color,Black,Size,M,,,TEE-BLK-M,19.00,,,,,,
cp-classic-tee-b39af233e0cd,,,,,,,Color,White,Size,S,,,TEE-WHT-S,21.00,,,,,,
cp-classic-tee-b39af233e0cd,,,,,,,Color,White,Size,M,,,TEE-WHT-M,21.00,,,,,,
cp-classic-tee-b39af233e0cd,,,,,,,,,,,,,,,,,https://cdn.example.com/tee-black.jpg,1,,
cp-classic-tee-b39af233e0cd,,,,,,,,,,,,,,,,,https://cdn.example.com/tee-detail.jpg,2,,
cp-classic-tee-b39af233e0cd,,,,,,,,,,,,,,,,,https://cdn.example.com/tee-white.jpg,3,,
Limitations
At most 100 variants per product and 5 images per product. Variant images are set per row through the optional variant image column.
Rule: variants mode, groupByColumn, options ≤3, image-only rows · Shopify reference: https://help.shopify.com/en/manual/products/import-export/using-csv · checked 2026-09-08.