Back to guides

CSV reference

Shopify import CSV columns explained

Every Shopify product CSV column Storeshift writes, grouped by identity, body HTML, variants, images, SEO, Google Shopping, lifecycle, and metafields.

6 min readUpdated 5/9/2026shopify import csv columns
Short answer

Shopify import CSV columns define exactly how products, variants, images, SEO fields, Google Shopping attributes, lifecycle status, and metafields enter Shopify Admin. Storeshift fills those columns for you, but it helps to know what each one does so you can spot-check the CSV before import.

The Shopify CSV at a glance

Shopify's product import CSV has 50+ columns. Most are optional, some are required, and a handful are easy to break with a manual spreadsheet edit. The safest way to understand the file is to group the columns by job instead of reading left to right.

Identity

Handle, Title, Vendor, Product Category, and Type define the product record.

Body and tags

Body (HTML), Tags, and Published control product-page copy and visibility.

Variants

Option columns, SKU, inventory, pricing, barcode, weight, tax, and cost define the sellable versions.

Images and SEO

Image Src, Image Position, Image Alt Text, SEO Title, SEO Description, and Google Shopping fields support storefront and search display.

The exact header list Storeshift writes

Shopify keys on exact column names. These are the current Storeshift core headers, copied from the CSV writer so the reference matches the export code.

  1. 01Handle
  2. 02Title
  3. 03Body (HTML)
  4. 04Vendor
  5. 05Product Category
  6. 06Type
  7. 07Tags
  8. 08Published
  9. 09Option1 Name
  10. 10Option1 Value
  11. 11Option1 Linked To
  12. 12Option2 Name
  13. 13Option2 Value
  14. 14Option2 Linked To
  15. 15Option3 Name
  16. 16Option3 Value
  17. 17Option3 Linked To
  18. 18Variant SKU
  19. 19Variant Grams
  20. 20Variant Inventory Tracker
  21. 21Variant Inventory Policy
  22. 22Variant Fulfillment Service
  23. 23Variant Price
  24. 24Variant Compare At Price
  25. 25Variant Requires Shipping
  26. 26Variant Taxable
  27. 27Variant Inventory Qty
  28. 28Variant Barcode
  29. 29Image Src
  30. 30Image Position
  31. 31Image Alt Text
  32. 32Gift Card
  33. 33SEO Title
  34. 34SEO Description
  35. 35Google Shopping / Google Product Category
  36. 36Google Shopping / Gender
  37. 37Google Shopping / Age Group
  38. 38Google Shopping / MPN
  39. 39Google Shopping / Condition
  40. 40Google Shopping / Custom Product
  41. 41Google Shopping / Custom Label 0
  42. 42Google Shopping / Custom Label 1
  43. 43Google Shopping / Custom Label 2
  44. 44Google Shopping / Custom Label 3
  45. 45Google Shopping / Custom Label 4
  46. 46Variant Image
  47. 47Variant Weight Unit
  48. 48Variant Tax Code
  49. 49Cost per item
  50. 50Status
  51. 51Length (mm) (product.metafields.dimensions.length_mm)
  52. 52Width (mm) (product.metafields.dimensions.width_mm)
  53. 53Height (mm) (product.metafields.dimensions.height_mm)

Identity columns

Handle is the URL slug. A product named American Thunder Hard Hat might become american-thunder-hard-hat, which turns into yourstore.com/products/american-thunder-hard-hat. Title is the customer-facing product name, capped for clean search display. Vendor is the brand or maker name. Product Category maps into Shopify taxonomy. Type is your own store classification, such as Hard Hats, Graphic Tees, or Rings.

Body HTML and tags

Body (HTML) is the rich product description. Storeshift writes this as structured product-page copy with H2 sections such as Specifications, Sizing, Care, Fitment, or Compatibility when the source supports them. When canonical facts contain useful values, the body can include schema.org microdata such as <span itemprop="material">cotton</span>.

Tags are comma-separated and usually come from category, base tags, condition, and useful product facts. Published controls whether Shopify makes the product visible at import. Storeshift defaults to true because the customer has already reviewed the preview or paid run before import.

Variant columns

Shopify variants are one base product with multiple sellable versions. A shirt might have Size and Color. A ring might have Size. An auto part might have fitment variants. Shopify allows up to three option dimensions, so the CSV uses Option1 Name, Option1 Value, Option2 Name, Option2 Value, Option3 Name, and Option3 Value, plus the Linked To columns when Shopify needs an option relation.

Variant SKU is the unique stock identifier. Storeshift builds stable SKU-like values when the source does not provide one, commonly using a vendor prefix and a short hash for uniqueness. Variant Inventory Qty comes from eBay stock signals when exposed. Variant Price, Compare At Price, Barcode, Image, Weight Unit, Tax Code, and Cost per item round out the sellable row.

Images

Image Src is a full public URL. Shopify fetches product images during CSV import, so the URL needs to be reachable without a login. Storeshift hosts cleaned images on images.storeshift.app, backed by R2, so Shopify can fetch them during import.

Image Position controls gallery order. Image Alt Text supports accessibility and search. Variant Image connects a specific variant to the image that best represents it when eBay exposed that relationship.

SEO and Google Shopping

SEO Title and SEO Description are the meta fields search engines read. Storeshift caps them at 60 and 155 characters so they fit normal search-result display better. Google Shopping fields populate Merchant Center data once you connect Google Shopping to Shopify.

The Google Shopping group includes product category, gender, age group, MPN, condition, custom product, and five custom labels. Those fields help Google understand products after Shopify becomes the catalog source.

Status and metafields

Status controls lifecycle. Active makes the product visible after import, while draft keeps it hidden for review. Storeshift defaults to active because the review step already happens inside Storeshift.

The dimension columns use Shopify-native metafield syntax: Length (mm) (product.metafields.dimensions.length_mm), Width (mm) (product.metafields.dimensions.width_mm), and Height (mm) (product.metafields.dimensions.height_mm). They stay blank when the eBay source did not expose dimensions.

What Storeshift fills in vs what you'd tweak

Storeshift fills titles, Body (HTML), prices, variants, images, SEO fields, Google Shopping fields, tags, condition, and dimension metafields when the source supports them. You would typically tweak collection assignment inside Shopify, theme-specific metafields, merchandising order, and featured-product choices.

The free preview includes an actual CSV download. That means you can inspect the Shopify product csv format before paying for the full run, including variant rows, Image Src URLs, SEO fields, and metafield headers.

Related reading

Sources

FAQ

Can I edit the CSV before import?

Yes. You can edit it in a spreadsheet tool. Save it back as CSV with UTF-8 encoding before importing, and avoid changing exact Shopify column names.

What if my Shopify theme uses custom metafields?

Storeshift produces the standard schema plus supported dimension metafields. Theme-specific metafields are usually added in Shopify Admin after import or through a follow-up CSV process.

Why does Shopify show Failed for some rows on import?

Common causes are duplicate Handle values, an empty required field, a private Image Src URL, or a Variant Price that is not a valid number. Storeshift checks these before export, but manual edits can reintroduce them.

Want to see your own catalog cleaned up?

Paste your eBay store URL and get a free 5-product preview. No card needed. You will see the title rewrite, image cleanup, and Shopify CSV shape before paying for the full run.

Shopify import CSV columns explained | Storeshift · Storeshift