File Import
Use file import to migrate review data in bulk from a spreadsheet or export file.
Before you import
- Save your file as UTF-8 CSV.
- Use the same delimiter/quote settings in the app as in your file.
- Start with a small test batch first (5-20 rows).
Required columns
These columns must exist:
ratingsubmitted_at
Common optional columns
You can include these for richer review records:
titlebodyauthor_display_nameproductproduct_variantorderauthorlanguageedited_atpublished_atmerchant_replymerchant_replied_atmedia_urlsstatus(activeordraft)unique_idrating_scale_max(if your source is not already 1-5)
Identifier mapping (important)
In the import modal, choose how your IDs are represented.
Your CSV values must match the selected type:
- Product identifier:
sku,barcode,gid, or numeric ID.product_variantuses the same type: the variant’s SKU or barcode, itsgid://shopify/ProductVariant/…, or its numeric ID - Order identifier: order number,
gid, or numeric ID - Author identifier: email,
gid, or numeric ID.authorlinks the review to a customer in your store; the name shown with the review isauthor_display_name. Leaveauthor_display_nameempty for an anonymous review
If IDs do not match the selected format, rows can fail or remain unlinked. A row with an empty product becomes a store review: a review about your shop, not a product.
Date and format rules
- Use ISO-style timestamps when possible (example:
2024-02-01T10:15:00Z). submitted_atshould be a valid date.media_urlsholds publichttp(s)URLs of photos and videos, separated by commas. Because the file itself uses commas too, put the value in quotes when it has more than one URL:"https://cdn.example.com/1.jpg,https://cdn.example.com/2.jpg".- If
statusis blank, the review is published (active).
Deduplication behavior
- If
unique_idis provided, it is used as stable identity. - If
unique_idis missing, the app derives identity from review content fields. - For duplicate identities in one import run, last matching row wins.
Recommended import flow
- Open File Import from the app dashboard and upload the CSV.
- Set delimiter, quote, and identifier mapping options.
- Run import.
- Review results and row-level errors.
- Fix failed rows and re-import.
Example CSV
rating,submitted_at,title,body,author_display_name,product,product_variant,order,author,status,media_urls,unique_id
5,2024-11-02T09:15:00Z,Great quality,Really happy with this product,Alex,SKU-123,SKU-123-M,1001,alex@example.com,active,"https://cdn.example.com/review1.jpg,https://cdn.example.com/review2.jpg",rev-1001
4,2024-11-05T13:40:00Z,Good overall,Fast shipping and as described,Sam,SKU-456,SKU-456-L,1002,sam@example.com,draft,,rev-1002Notes
- Keep one canonical identifier strategy per import source.
- Avoid mixed date/ID formats in a single file.
- If import results look wrong, re-check identifier mapping first.
Troubleshooting
- If many rows fail, test with a tiny CSV and validate format step-by-step.
- If imports succeed but reviews are unlinked, revisit identifier mapping options.
- If duplicate or unexpected merges happen, provide stable
unique_idvalues.
Last updated on