If your data lives in a spreadsheet, export it to CSV first. Pipe-delimited cells
let a single column carry multiple values.
The file
Your CSV needs a header row. A few columns are required; the rest are up to you.| Column | Required | Maps to |
|---|---|---|
key | Yes | The product’s stable key |
name | Yes | The product’s display name |
productType | Yes, unless a default is chosen | The product type it validates against |
source | No | Provenance of the row (defaults to merchant input) |
isPublished | No | Whether the product is marked published |
| anything else | No | A product attribute |
How columns map
MerchantOps maps your columns automatically — there is no mapping dialog to fill in on this path.System columns map to product fields
key, productType, source, and isPublished set the product’s core
fields. Common headers are recognized case-insensitively and in a few
spellings — for example Product Type, product_type, and productType
all resolve to the product type.Every other column becomes an attribute
Any column that isn’t a system column is stored as a product-level
attribute, keyed by the column name —
brand, description, color, material, and so on.How the import runs
The upload creates a Job and processes rows in batches.Rows are validated
Rows referencing a product type that
doesn’t exist in your organization are rejected and reported individually —
with a “did you mean?” hint when a close match exists. The remaining valid
rows still import.
Products are created
Each valid row becomes a product, validated and initialized against its
product type. Attribute values are coerced to the type each
property definition expects (for
example,
TRUE/Yes/1 becomes a real boolean).Enrichment runs if you asked for it
If you enable enrichment options on the upload, each new product is queued
for enrichment — Lakehouse search, brand-site
scraping, or content generation — tracked under the same Job.
Tracking the import
The upload returns a Job ID. The Job reports totals for created, failed, and — where applicable — skipped rows, and carries a per-row error list (row number, product key, and reason) so you can fix a source file and re-upload just what failed.Display groups on property imports
Products validate against property definitions, which are organized into display groups. When you import property definitions by CSV, any display group named in that file that doesn’t yet exist is created for you. (This applies to the property-definition import, not to the product CSV described above.)Import connectors
Automate recurring imports instead of uploading by hand.
Jobs
Watch progress and review per-row errors.
Product types & properties
The templates and attribute schema your rows validate against.
How enrichment works
What happens when you enable enrichment on an upload.