Bring data in

Import products in bulk

Run the import, read the result, and fix the rows that failed.

With a prepared file, the import itself is the short part. The part that deserves attention is reading the result.

Run it

  1. Go to PIM › Products.
  2. Select Import.
  3. Upload the CSV file.
  4. Confirm the column mapping. If your header row uses attribute codes this is mostly automatic; map anything left unmatched, or mark it to be ignored.
  5. Check the key. The import matches on sku: an existing SKU is updated, a new one is created. There is no mode that skips existing products, so a file that is meant to add products only must not contain SKUs you already have.
  6. Start the import.

Large files run in the background. You can leave the screen.

Read the result

The result reports three numbers: created, updated, failed. All three matter.

Created higher than you expected usually means the SKU column did not match existing products. Check for leading zeros or a prefix difference before you carry on, because you may now have duplicates.

Updated at zero on a re-import means nothing matched. Same cause.

Failed rows come with a reason. The usual ones:

MessageCauseFix
Unknown attributeColumn header is a label, not a codeRename to the attribute code
Invalid optionSelect value is a label, not an option codeUse the option code, or add the option
Unknown familyFamily code is wrong or missingCheck spelling; family is required when creating
Validation failedValue breaks a rule on the attributeFix the value, or relax the validation
Unknown recordReference value is not an existing record codeCreate the record first
Missing requiredA required attribute is emptyFill it, or reconsider whether it is required

Fix the source file, not the exported error file, and re-run. Re-running is safe: matched SKUs update rather than duplicate.

After the import

Two things the import does not do for you:

  • Completeness. A product arrives measured only if it arrived with a family. Select the imported products in the grid and run Recompute completeness; the Never measured queue lists the ones nobody has measured yet.
  • Publishing. The tenant setting Publish new products immediately decides whether new rows land enabled. With it on, an 8,000-row import is live in every channel before anybody has looked at it. Turn it off before a first load, then enable deliberately.

Import order

When you are loading a catalog from scratch, order matters. A product cannot reference a record that does not exist yet:

  1. Attribute options
  2. Reference entity records (manufacturers, materials)
  3. Assets
  4. Categories
  5. Product models
  6. Variant products
  7. Category assignments (if not in the product file)

Recurring imports

For a feed that runs regularly rather than a one-off migration, do not run it by hand. Build it in Integration Studio, where you get scheduling, retries and failure alerting. See Build a workflow and Monitor your syncs.

Before you do, settle which system owns which field. A recurring import that overwrites enriched descriptions with 40-character ERP text every night is a common and painful mistake.

Next