Importing your CSV into Shopify

The 5-minute version. Screenshots, not jargon.

Last updated 2026-05-03

Heads up: Shopify's CSV import is one-way. Once products land in your store, deleting them in Shopify doesn't roll back the import. Test on a development store first if you're nervous, or import a 5-product sample (Storeshift's preview CSV does exactly this).

1. Download your CSV

After your run finishes, you'll get an email titled "Your catalog is ready." It links to your run page on Storeshift. From there, click Download CSV.

You don't have to download the images separately for Shopify import — the CSV references them by URL on our image CDN, and Shopify pulls them in during import.

2. Open Shopify Admin

Sign in to your Shopify store. From the left sidebar:

  • Click Products.
  • In the top-right, click the Import button.

A modal pops up with a file picker.

3. Upload the CSV

  • Click Choose file (or Add file, depending on your Shopify version) and select the CSV you downloaded.
  • The filename will look like storeshift-run-YYYYMMDD.csv. It's plain UTF-8 with the standard Shopify column headers — no conversion needed.
  • Leave the "Overwrite products with matching handles" checkbox unchecked if this is a fresh import. Check it if you're re-importing to overwrite a previous run (rare).
  • Click Upload and continue.

4. Review the preview

Shopify shows you the first product row and counts how many it'll import. If anything looks off, cancel out and either:

  • Re-edit on the Storeshift Review page (free re-export of the CSV after edits).
  • Open the CSV in a spreadsheet tool, fix the row, save as CSV, re-upload.

Click Import products when it looks right.

5. Wait for processing

Shopify imports row by row, downloading each image as it goes. For 200 products this takes ~3-5 minutes; for 2,000 products, 30-45 minutes. You'll get an email from Shopify when it finishes, and the import status shows in Settings → Apps and sales channels → CSV Import (Shopify's own log of imports done).

6. Verify a handful

Spot-check 5-10 products in your Products list:

  • Title reads cleanly, no truncation, no weird characters.
  • Body (description) renders correctly — bullet points, headings, no broken HTML.
  • Images all loaded (no "image missing" placeholders). If 1-2 are missing, edit the product and click "Add image" — Shopify retries from the same R2 URL.
  • Variants (size, color, etc) all show the right SKUs and prices.
  • Inventory matches what eBay had.

7. Set the sales channel

By default, products import as draft. To make them live:

  • Select all products (or filter by collection).
  • Click More actions → Make available on sales channels.
  • Pick which channels (Online Store, TikTok Shop, Google Shopping, etc).

For TikTok Shop specifically, also navigate to TikTok Shop → Catalog Sync and tell it to publish. Storeshift surfaces TikTok policy warnings on the Review page so most catalog issues are sorted before you get this far.

Troubleshooting

"Image failed to download"

Shopify hit a transient error pulling the image. Edit the product, delete the broken image, click "Add image", paste the same URL from the CSV — usually works on retry. If it consistently fails for many products, email us; the R2 URL might have rotated.

"Duplicate handle"

Shopify generates a URL handle from the product title. If two products have nearly identical titles, you'll see this. Either:

  • Re-export from the Storeshift Review page after renaming one of the duplicates.
  • Edit the CSV to give them different "Handle" values (the column shipped with the file).

"Variant SKU is required"

Some Shopify themes / apps insist on SKUs. Storeshift's CSV uses the eBay item ID as the SKU when the seller didn't set one. If your theme complains, the item ID is fine; just confirm the validation, no edit needed.

The import succeeds but products don't show on the storefront

Products are imported as draft by default. Either:

  • Bulk-publish: select all → More actions → Make available.
  • Re-import with the CSV's "Status" column set to "active" — Storeshift sets this by default; if you edited the CSV, double-check the column wasn't unintentionally blanked.

Need help?

If you're stuck on any step, email hello@storeshift.app with your run ID and a screenshot. We turn around most import questions in under 4 hours during US business hours.

Import guide | Storeshift · Storeshift