Download App
Shoplazza CSV preflight

Shoplazza Product Image CSV Import Preflight: Check Image URLs Before Importing from Shopify

Before you import a product CSV into Shoplazza admin, validate every image URL is reachable, save a local copy by SKU or Handle, and write a failure log you can re-run. This guide walks through the preflight that catches the most common import failures without re-uploading a single product by hand.

Updated June 28, 2026 Shoplazza import from Shopify Local processing, no cloud upload
Five-step Shoplazza CSV preflight workflow: open CSV, build URL list, download, local backup, Shoplazza import
Five-step preflight: validate, back up, log, then import into Shoplazza admin.

Why Shoplazza imports fail mid-catalog

Shoplazza accepts a product CSV through Shoplazza admin > Products > All products > Import from Shopify. The importer accepts both the in-app Store migration flow and a CSV upload, and it lets you choose overwrite to update existing products matched by Handle or SPU. On the surface this looks simple. In practice three things go wrong, and every one of them shows up only after the importer has accepted the file:

  • The image URL is not directly reachable. The importer fetches each URL during the import. A 404, a 403 from a CDN hot-link policy, or a redirect chain that lands on a login page all silently kill that row's image. The rest of the file imports, so the catalog ends up half-updated with no obvious error.
  • The image is hosted somewhere private. A file path like C:\Users\you\Pictures\sku123.jpg or a file:// URL is rejected before the row is matched to a product. Images must already be online at a URL Shoplazza's servers can fetch.
  • Empty required columns erase existing values when overwrite is on. This is the Shoplazza rule most often missed. A blank Vendor or SEO Title in the CSV will replace the live value with an empty string on import, with no undo. The same rule works the other way: a column the CSV omits entirely (such as Variant Image) leaves the existing value untouched.

What Sheet Image Downloader can and cannot do for Shoplazza. The tool reads your spreadsheet column of image URLs, downloads each file to a local folder named by SKU, Handle, or SPU, and writes a failure report for any URL that returns a non-200 response or times out. It does not push files into Shoplazza, validate Shoplazza's collection rules, check the 255-character length caps, or check image dimensions. After preflight, you upload the verified CSV to Shoplazza admin yourself.

Required columns for a Shoplazza import

Shoplazza's product CSV format is documented in the official Shoplazza Help Center article Importing products from Shopify. The importer matches each CSV row to an existing product by Handle or SPU (Standard Product Unit) when overwrite is enabled. For an image-focused update, every row should include at least one image URL column. The columns below are taken directly from the published variable reference.

ColumnPurposeLimit / behavior
HandleURL slug. Primary product identifier on import.Max 255 chars (SEO URL handle cap)
SPUStandard Product Unit. Alternative identifier.No character cap listed; use as a stable product code
SKUCustom inventory tracking label.Max 255 chars
TitleProduct name.Max 255 chars
SEO URL handleProduct URL path (e.g. products/men-red-cardigan).Max 255 chars
Body (HTML)Description. Accepts full HTML or plain text.Use UTF-8 for non-ASCII characters
VendorManufacturer / supplier name.Max 20 chars
TagComma-separated product attributes.Max 250 tags, 500 chars each
CollectionComma-separated existing collection names.Only existing collections register; unknown names are ignored
Variant ImageURL of the variant-specific image (Shopify-origin format).If the column is omitted, the existing Variant Image value is retained
PriceProduct price.Rounds to 2 decimals; must be < 1,000,000,000.00

For image-only updates from a Shopify export, the two columns that matter most are Image Src (the canonical Shopify image URL column) and Variant Image (the variant-specific image URL column). Shoplazza's importer preserves the Shopify-origin column layout when the file is uploaded through Import from Shopify, so you can validate the same file you would have uploaded to Shopify directly.

Variant Image must reference a real image URL. If a Variant Image cell points to a URL that is not already an Image Src in the same row, Shoplazza will import the variant image as blank or reject the row. Before importing, build the CSV so every Variant Image value matches a real, fetched URL from the preflight log.

Naming your local backup by SKU, Handle, or SPU

The backup is the part of preflight most teams skip and most regret skipping later. Saving each image locally under its SKU, Handle, or SPU keeps the file path self-explanatory and lets you re-host by hand if a CDN goes down, a supplier removes a hosted URL, or Shoplazza's importer silently drops a row.

A simple convention works in nearly every case: one folder per SKU (or Handle, when the store has no SKU), with the file named by the column it was sourced from. Main image first, gallery images numbered in display order.

Eight checks before Shoplazza import: reachable URL, identifier match, Variant Image, Collection exists, length caps, required columns, UTF-8 encoding, local backup
Eight checks you should complete before clicking Import in Shoplazza admin. The full checklist is reproduced as a step-by-step workflow below.

Eight-step preflight workflow

The workflow assumes you have already exported your current catalog to a CSV, edited the rows whose images you want to update, and saved the file with UTF-8 encoding. The preflight itself runs locally: no data leaves your machine.

1

Open your edited CSV in a spreadsheet

Confirm the Handle or SPU column is non-empty on every row, and that SKU matches a real SKU already in your store. Rows with empty identifiers will be silently dropped on import.

2

Build the URL list

Copy the image columns into a single column — Image Src first, then any gallery / Variant Image URLs, in display order. Save that list as a plain .txt or .csv.

3

Open Sheet Image Downloader

Launch the desktop app and paste the URL list into the URL input. Choose a destination folder named after the import run, for example /Shoplazza-Preflight-2026-06-28.

4

Pick an identifier-naming rule

Set the file naming to include the source row's SKU, Handle, or SPU and the original column. The default template {sku}_{column}.jpg produces files like HANDLE-001_Image Src.jpg.

5

Run the download

Start the batch. Every URL is fetched over HTTPS with a short timeout. 200 OK responses are saved to disk; everything else is added to the failure log.

6

Review the failure log

Open the failure report. Each non-200 URL is listed with its row number, original identifier, and the HTTP status or timeout error. Re-host or replace those URLs before continuing.

7

Spot-check the local backup

Open one image per category folder in your OS file viewer. Verify the file is the right product, the right angle, and the right color. This is also the moment to confirm the Variant Image files actually correspond to the variants you intended.

8

Upload to Shoplazza admin

In Shoplazza admin, go to Products > All products > Import from Shopify, choose your preflight-verified CSV, and decide whether to overwrite matching products. Monitor the post-import status (Published / Drafts / According to handles) and reconcile the failure log against any rows Shoplazza reports as skipped.

Eight checks before clicking Import

The list below is what the preflight effectively runs. Each check is something the failure log or the backup folder will surface as a pass / fail signal.

  1. Every image URL is publicly reachable (200 OK over HTTPS, no login walls, no CDN hot-link blocks).
  2. Every row's Handle or SPU matches an existing product in your Shoplazza store.
  3. Variant Image values reference real URLs that were also fetched in step 5.
  4. Collection column lists only existing Shoplazza collection names.
  5. Title, SEO URL handle, and SKU are all 255 characters or fewer.
  6. No required column that you want to keep is empty when overwrite is on.
  7. The CSV is saved as UTF-8 with comma or semicolon delimiter.
  8. A local backup exists on disk, named by SKU / Handle / SPU.

Common import problems and how to spot them

Half-updated catalog, no error

The importer accepts the file even when half the image URLs return 404 or 403. The catalog looks fine at a glance, but a random sample of products has blank or wrong images. How to spot it: run preflight first, and reconcile the post-import status against the failure log row-by-row.

CSV preflight

Empty required column erased a value

Overwrite replaces existing products with matching Handle or SPU. A blank Vendor or SEO Title in the CSV erases the live value with no undo. How to spot it: preflight the CSV in a text editor and flag any required column that is blank in a row that exists in the live store.

Schema check

Collection name silently ignored

The Collection column only registers existing collections. A typo or renamed collection is dropped without warning. How to spot it: compare every Collection value in the CSV against the live Shoplazza admin collections list.

Collection audit

Variant Image pointing to nothing

If Variant Image references a URL that is not in the row's Image Src, Shoplazza imports the variant image as blank. How to spot it: the failure log will mark every Variant Image URL that did not return 200.

Variant audit

FAQ

Does Shoplazza accept local device image paths in a CSV?

No. Shoplazza's import path fetches each image URL from the public internet. Local paths such as C:\ or file:// are rejected before the row is matched to a product. Re-host the images to a CDN or supplier URL first, then re-run preflight.

What happens if a required column is empty when overwrite is on?

Per Shoplazza's published CSV import rules, an empty required column erases the existing value on the matching product. A blank Vendor or SEO Title in the CSV will replace the live value with an empty string on import. The reverse is also true: if a non-required column such as Variant Image is omitted entirely, the existing value is retained.

Will Shoplazza accept a Collection name that does not already exist in the store?

No. The Collection column accepts only names of collections that already exist in your Shoplazza admin. Non-existing names are ignored on import, and the product will not be added to that collection. Create the collection in admin first, then re-export / re-import.

Does Sheet Image Downloader upload images into Shoplazza?

No. Sheet Image Downloader downloads every image URL to a local folder named by SKU, Handle, or SPU, logs URLs that fail to fetch, and gives you the local backup and failure report. You then upload the verified CSV to Shoplazza admin yourself.

What identifier does Shoplazza use to match a CSV row to an existing product?

Shoplazza matches on Handle or SPU when overwrite is enabled. Either column is sufficient, but at least one must match an existing product, otherwise the row is silently dropped during import. If you have neither column populated in your CSV, no rows will update.

Run the preflight on your Shoplazza export

Sheet Image Downloader reads a spreadsheet of URLs, downloads each one to a folder named by SKU, and writes a failure log you can re-run. No cloud upload, no Shoplazza login, no schema validation — just the URL check.

Download for Windows or Mac