DNA

How to Bulk Upload Products to Your Catalog

Upload a CSV or spreadsheet to add many products at once. MorningAI parses your file, fills missing fields, and adds everything to your catalog.

Browse DNA

When you have a large catalog and want it inside MorningAI fast, bulk upload is the right tool. Drop a CSV with up to thousands of SKUs, map your columns, fix anything flagged, and your full ProductDNA is live in one session.

When to Use Bulk Upload

Choose bulk upload when:

  • You are migrating from another platform and have a clean CSV export.
  • You manage your catalog in a spreadsheet and want to push it into MorningAI.
  • You need to add hundreds of SKUs at once and a per-product flow is too slow.

For ongoing two-way sync with a live store, use Connect Your Shopify Store or Connect Your WooCommerce Store instead.

Step-by-Step

  1. Open ProductDNA. Sidebar → DNAProductDNA.
  2. Click + Add Products → Bulk Upload CSV.
  3. Download the template. The template has every standard column plus a custom_attributes JSON column for brand-specific fields. Use it; do not improvise.
  4. Fill in your SKUs. One row per product. Required: name. Strongly recommended: description, price, primary image URL.
  5. Add your image URLs. Each row's primary_image_url should be a public URL MorningAI can fetch. If left blank, AI placeholder generation kicks in.
  6. Save and re-upload. Drop the file back into the bulk upload modal.
  7. Map columns. MorningAI auto-detects standard columns. Confirm or override mappings.
  8. Review the validation report. Rows with issues (missing name, malformed price, unreachable image URL) are flagged with line numbers and clear error messages. Fix in your CSV and re-upload, or proceed with valid rows only.
  9. Import. Click Import. Progress shows live. Most catalogs of a few thousand SKUs import in 5–10 minutes.

Custom Attributes via JSON Column

The custom_attributes column accepts a JSON object per row. Example:

`` {"material": "leather", "weight_oz": 12, "vegan": false} ``

The keys must match brand-scoped custom attributes you have already created in ProductDNA. (Add them via the gear icon → Custom Attributes before uploading.) This pattern lets you bulk-set arbitrary brand-specific fields without bloating the CSV with dozens of optional columns.

Image Handling

For every row's primary_image_url:

  • If reachable, MorningAI fetches and stores it in your Asset Library.
  • If not reachable or blank, an AI placeholder is generated and labeled.
  • After import, you can drag-replace any image directly on the product card.

Pro Tips

Validate small first. Upload a 10-row CSV before your 2000-row file. Confirm field mapping and image fetching work as expected, then run the full file.

Use stable IDs. If your CSV includes a sku column, MorningAI uses it as a stable identifier. Re-uploading later with the same SKUs will let you match-and-update rather than create duplicates.

Keep text Markdown-light. Long marketing-style HTML in the description field renders as plain text. If you want richer formatting, edit per product in ProductDNA after import.

Switch to Table view after import. Bulk fixes, tag adds, and category assignments are fastest in Table view.

Frequently Asked Questions

What is the row limit per upload? Practical limit is around 5000 rows per file. Split larger catalogs into multiple files.

Can I update existing products via CSV? Yes — include the sku column. Matching SKUs are flagged for update rather than create. You confirm before applying.

Does bulk upload count against API limits or storage? Storage counts. API limits do not apply to internal uploads.

Can I undo a bulk upload? Recently imported batches can be rolled back from ProductDNA → History within 24 hours.

Next Steps

Try the template with 10 of your products. Then see Auto-Import Products with AI for URL-based imports, or How to Build Your ProductDNA Catalog for the full workflow.

Customer Success Team
Customer Success Team

Writers

The MorningAI Customer Success team is here to help you win. Whether you're stuck, scaling, or just getting started, we move fast, solve problems, and make sure nothing slows you down.

Was this article helpful?

Related Articles