WooCommerce & Online Payments

WooCommerce Product CSV Import Failed or Skipped Rows? Read the Import Report

Keep the original CSV and import report before trying again. Separate upload failures from skipped rows, verify how existing products are matched, and prove a small repeatable batch before rerunning a catalog-wide import.

Editorial portrait illustration for: WooCommerce Product CSV Import Failed or Skipped Rows? Read the Import Report
Editorial illustration using Nithu’s supplied portrait; not a client incident screenshot or measured result.
In this guide

If a WooCommerce product CSV import fails or skips rows, read the import report before uploading the file again. Determine whether the file never uploaded, the importer rejected particular rows, or products imported into an unexpected state. Those outcomes require different repairs.

Keep an untouched copy of the original CSV, its mapping choices, and the report. Record the installed WooCommerce version and the import tool used. The built-in importer and a third-party or premium import extension should not be treated as interchangeable.

Preserve evidence before a second run

Export the current catalog before retrying a bulk update and take a restorable database backup. A partial import may already have changed products even if the overall run failed. Record which rows succeeded so another upload does not unintentionally create duplicates or overwrite newer edits.

Choose one failed row, one skipped row if present, and one successful row from the same file. Compare their identifiers and field values. That small comparison often reveals a pattern more quickly than manually reviewing the entire spreadsheet.

The official Product CSV Importer and Exporter guide covers supported formatting, mapping, update behavior, and failed or skipped rows. Check its instructions against your installed release rather than an old tutorial screenshot.

Classify the failure before editing the data

  1. Upload rejected: inspect the file type, encoding, request size, and host upload configuration.
  2. Rows skipped: read the stated reason and compare identifier matching and update mode.
  3. Import stops partway: compare the last successful batch with application or server errors.
  4. Import completes but products seem missing: inspect their status, visibility, and exact identifiers in administration.
  5. Products exist with wrong values: review mapping and CSV interpretation before rerunning.

Do not assume that a product absent from the shop failed to import. It may be a draft or have unexpected visibility. The missing-products diagnostic guide covers catalog display once the import’s actual result is established.

Check matching identifiers and update intent

Decide whether the batch adds new products or updates existing ones. Then compare the CSV’s IDs and SKUs with the destination store. IDs copied from another database are not automatically identifiers for the same products here.

The current official guide documents version-specific behavior: 11.1 added eligible variation creation during update imports, while 11.2 added mapped Global Unique ID matching when ID and SKU are blank. A supplied ID or SKU takes precedence. These details are reasons to record the installed version, not assumptions that every store behaves identically.

For each problematic row, write down the intended target and the identifier actually supplied. Keep SKUs as text when editing; spreadsheet software can change leading zeros or numeric-looking identifiers. Confirm that the saved CSV preserves them.

For variations, inspect the parent relationship and attribute values instead of repeatedly importing the child row alone. Once the import succeeds, use the variation checklist to verify the resulting customer choices.

Review the saved CSV, not only the spreadsheet

Open a copy in a plain-text viewer and compare the header with one affected row. Check encoding, delimiters, quotation marks, and values containing commas or line breaks. The spreadsheet can display cells correctly while exporting a file the importer interprets differently.

Review the mapping screen deliberately. Confirm identifiers, product type, parent fields, prices, and attributes are mapped as intended. Exclude columns that should not change. Do not map an unfamiliar column to an arbitrary field just to clear the screen.

Check whether image URLs return actual image files to the store rather than an authorization page. Keep imported source files private where they contain internal information. A developer should investigate custom field handlers and extension-specific schemas rather than trying to force complex data into an unsupported column.

Investigate host limits using evidence

If even a valid file fails before row processing, inspect the relevant limits. WordPress’s Site Health documentation explains where server and upload information can be reviewed. Ask the host to compare those values with the failed request and its logs.

For partial processing failures, reduce the batch to a small, representative file and reproduce the same error. Avoid arbitrary enormous memory or execution-time settings. A malformed row or failing customization will not become correct because the server is allowed to run longer.

The owner can preserve files, reports, mappings, and intended product changes. A developer should handle importer conflicts, custom schema behavior, request errors, and server diagnostics. The support-ticket guide helps package that evidence without sharing the whole catalog unnecessarily.

Prove a repeatable batch before the full rerun

On a backed-up staging copy, import a small batch containing the failure examples and a working control. Confirm the expected products were created or updated, identifiers stayed stable, and unrelated fields stayed correct. Then repeat the intended update operation to check it targets the same records rather than duplicating them.

For production, reconcile the original partial run and exclude already-correct records as appropriate. Record the final file, mapping, result counts, and exceptions. Verify representative product pages, variations, stock settings, and images before calling the import complete.

FAQs

Should I remove every ID to stop skipped rows?

No. That can change matching behavior and create unintended records. Establish the correct destination identifier and the intended add-or-update operation first.

Does a smaller CSV always solve an import failure?

No. Smaller batches help isolate resource limits and problematic rows, but invalid values, wrong mappings, or unsupported fields still need correction.

Can I rerun the whole file after a partial import?

First identify which rows already changed the store. Test the matching behavior and reconcile those records so the retry does not duplicate products or overwrite newer data.

Prepared for website owners by Nithu / Suthakaran Nithursan. Dated advisory facts link to primary sources. Examples are illustrative and are not client results or guarantees.