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.jpgor afile://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.
| Column | Purpose | Limit / behavior |
|---|---|---|
Handle | URL slug. Primary product identifier on import. | Max 255 chars (SEO URL handle cap) |
SPU | Standard Product Unit. Alternative identifier. | No character cap listed; use as a stable product code |
SKU | Custom inventory tracking label. | Max 255 chars |
Title | Product name. | Max 255 chars |
SEO URL handle | Product 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 |
Vendor | Manufacturer / supplier name. | Max 20 chars |
Tag | Comma-separated product attributes. | Max 250 tags, 500 chars each |
Collection | Comma-separated existing collection names. | Only existing collections register; unknown names are ignored |
Variant Image | URL of the variant-specific image (Shopify-origin format). | If the column is omitted, the existing Variant Image value is retained |
Price | Product 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-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.
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.
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.
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.
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.
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.
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.
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.
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.
- Every image URL is publicly reachable (200 OK over HTTPS, no login walls, no CDN hot-link blocks).
- Every row's
HandleorSPUmatches an existing product in your Shoplazza store. Variant Imagevalues reference real URLs that were also fetched in step 5.Collectioncolumn lists only existing Shoplazza collection names.Title,SEO URL handle, andSKUare all 255 characters or fewer.- No required column that you want to keep is empty when overwrite is on.
- The CSV is saved as UTF-8 with comma or semicolon delimiter.
- 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 preflightEmpty 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 checkCollection 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 auditVariant 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 auditFAQ
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.
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.
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.
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.
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 MacAlso useful for Shoplazza imports:
Prepare image URLs for Shopify product CSV imports