Import & Export Reviews
Export filtered reviews, validate and import review CSV files, understand imported labels and photo limits, and resolve transfer errors.
Screen: Moderation → Reviews in classic (v1) and new (v2) admin. Import and Export require owner/admin access plus the paid moderation.import_export entitlement. Staff controls are disabled; a plan lock opens an upgrade prompt.
Preview before importing
A preview validates rows without adding reviews. Rely on the final import summary and refreshed queue to see what was imported, skipped, or failed. Imported content still follows the store's approval and filter policy.
Export the current review selection
Choose the queue filters
On Moderation → Reviews, choose status, search, rating, and any flagged/hidden/photo/reported filters. Export uses the current queue filters, rather than only checked rows.
Open Export
Select Export to open Export reviews. Download CSV requests the matching server attachment and changes to Downloading… while busy.
Check for a download or error
Could not export reviews. Retry the download. means there is no successful download to rely on. Download CSV retries; Close dismisses the dialog after the request finishes. Narrow the filters if the export exceeds 100,000 matching reviews.
Preview a review CSV
Choose the file
Select Import → Import reviews → Review CSV file. Choose a non-empty UTF-8 .csv file no larger than 10 MiB, with at most 10,000 data rows. Products must match uniquely within your store by product UUID, handle, or SKU.
Request a preview
Preview CSV is disabled until a valid file is selected, and shows Previewing… while busy. A failed preview keeps the selected file for retry. Selecting a different file clears the old preview and import summary.
Inspect any returned validation
A preview shows total, valid, and invalid row counts plus Preview expires. Columns are Row, Product, Rating, Customer, Review, and Validation. Valid marks accepted rows; invalid rows show field-specific errors. Previous and Next page through 25 preview rows at a time.
Use unique, non-empty column names. The import accepts these header alternatives; a row with a different number of columns is invalid.
| Value | Accepted headers |
|---|---|
| Product | product_id / productid; product_handle / handle / product_slug / slug; sku / product_sku |
| Rating | rating / stars / review_rating; integer 1–5 |
| Title | title / review_title; up to 300 characters |
| Review text | body / comment / review_body / review_content / content; up to 10,000 characters |
| Customer name | author / reviewer_name / author_name / customer / name; up to 120 characters |
| Original date | created_at / review_date / date / published_at; must be valid if supplied |
| Photo URLs | picture_urls / photo_urls / image_urls / photos / images; separate URLs with semicolons, pipes, or commas |
Only the first five photo URLs are attempted. Images must be safely fetchable JPEG, PNG, or WebP; an image failure can produce a warning while its review imports without that image. A preview cannot guarantee that a remote image will still be available at commit time.
Exports include product/SKU, rating, title/comment, status/rejection reason, customer display name, date, merchant reply, photo proxy links, source, and purchase-verification result. They omit raw customer email addresses and storage credentials. Each photo link is a public, store-qualified link (semicolon-separated when a review has several) that opens directly in a browser without signing in; it resolves only while the review is approved and not hidden, so a link for a rejected, hidden, or deleted review stops working. Export photo links are not a guarantee of permanent image availability.
Commit a supported preview
Import N valid reviews is disabled while busy, when all rows are invalid, or when the preview has expired. Generate new preview revalidates the selected file.
Previews expire after one hour and can be committed only once. An expired, already-used, or unavailable preview must be regenerated. The warning This preview is expired or unavailable. Generate a new preview before importing. is different from a validation error in a particular row.
A successful import shows Imported, Skipped, and Failed counts, with failed-row messages, then refreshes the review queue. Invalid rows and duplicate imported records are skipped; failed batches and image warnings need inspection. If an error says the import or reload could not finish, inspect the queue before retrying a potentially used preview; an error is not proof that nothing was written.
What imported reviews mean to shoppers
The admin list and supported storefront review rows use Imported. Imported reviews do not establish a purchase and never receive Verified Purchase, even if other data suggests verification. Approval and public visibility remain separate from the source label.
Importing does not promise an immediate public rating change. Pending, rejected, hidden, and deleted reviews remain outside the public feed and average. Imported reviews do not send customer moderation notifications.
Why can't I transfer or see imported reviews?
- A load, validation, permission, or transfer error needs its own retry/fix; changing files does not resolve an access problem.
- Check both owner/admin access and moderation.import_export. A paid plan label alone does not establish the entitlement.
- The file must be non-empty CSV and within 10 MiB; preview controls stay disabled for invalid selection.
- Regenerate expired or already-used previews before another commit attempt.
- Inspect validation counts and failed-row messages; a preview is not an import.
- Clear review filters and check approval/hidden status before expecting imported rows on the product page.
- A Verified Purchase badge is not an expected result for an imported review.