Product imports
Three ways to add products to your shopping catalog — CSV, a Shopify public products.json, or a Google Merchant Center feed — all preview-then-confirm and idempotent.
There are three ways to get products into your shopping catalog. All of them are preview-then-confirm, re-validated on the server, and idempotent, so re-running an import corrects rather than duplicates.
What it does
You can import products from:
- a CSV file,
- a Shopify store's public
products.json, or - a Google Merchant Center feed.
Every path shows you a parsed preview first and writes nothing until you confirm.
How to use it
| Source | Limits | Notes |
|---|---|---|
| CSV | up to 1000 rows / 5 MB | per-field validation on every row |
| Shopify | up to 1000 products | fetches your store's public products.json; currency is left blank because that source omits it |
| Google Merchant Center | RSS, Atom, or TSV | defensive parsing of the feed |
For each path you paste a URL or upload a file, review the parsed preview, and confirm. Upserts are idempotent on the product URL, and where there is no URL, on source + title — so the same product coming in twice updates the existing row instead of creating a second one.
How it's computed
The client preview is advisory only. The server re-validates every row at the import boundary, because "nothing is imported until you confirm" has to be enforced on the server, not promised in the browser. See how MentionFlow handles missing data for the same preview-before-import principle applied across the product.
Limits
- CSV: 1000 rows / 5 MB.
- Shopify: public
products.jsononly (up to 1000 products); currency is not available from that endpoint.