CSV import and export
Last updated: April 17, 2026
If your existing review platform isn’t Okendo or Judge.me, CSV is the universal escape hatch. Every major review platform (Yotpo, Loox, Trustpilot, Google Reviews, and others) can export your reviews as a CSV. Upload the file into BetterReviews and our LLM-assisted mapper figures out how to fit it to our schema.
You can also export your BetterReviews reviews as CSV for backup or migration.
Importing via CSV
Where to find it
In the BetterReviews admin, go to Settings → Import & Export.
Screenshot of the Import & Export settings page — manual capture, drop in here.
The 7-phase flow
The importer walks you through a series of steps — not a drop-and-go. This is deliberate: review data is messy and we’d rather catch mismatches before they land in your store.
- Upload. Drop your CSV file in. Hard limits: 50 MB, 100,000 rows, one concurrent import per store.
- LLM column mapping. We run an LLM pass to map your columns to our schema. It’s good at recognising “author_name” →
reviewer_name, “rating_stars” →rating, “posted_on” →review_date, etc. - Review the mapping. You see the proposed mapping in an editable table. Override any mapping you don’t like. The importer warns if
rating,content, orproduct_idisn’t mapped — those three are effectively required for a useful review. - Dry run. We simulate the import against a sample of your data and report how many rows would succeed, fail, or dedupe against existing reviews.
- Dry run preview. You see the dry-run summary. If anything looks wrong, go back to step 3 and re-map. If it looks good, continue.
- Start import. Click to begin the real import. Runs in the background.
- Batch processing. We process in chunks of 1,000 rows. You can close the page; the Reviews tab populates incrementally.
Screenshot of the CSV column-mapping review step — manual capture, drop in here.
Canonical columns
We recognise these in the mapping step:
Required (must be mapped, explicitly or via LLM):
rating— integer 1–5content— review body textproduct_id— Shopify product ID (numeric orgid://shopify/Product/…)
Recommended:
reviewer_name— reviewer display namereviewer_email— email (stored encrypted at rest)review_date— submission date (ISO 8601 preferred; we also acceptMM/DD/YYYYUS /DD/MM/YYYYEU when day > 12 / Unix timestamps)status—approved,pending, orrejectedverified_buyer—trueorfalsetitle— review titlemedia_urls— pipe-delimited URLs (https://.../one.jpg|https://.../two.jpg). Not comma-delimited.merchant_reply— the public reply you’ve already written to this review on the source platform. When populated, we create a reply alongside the imported review. Synonyms the importer recognises:reply,response,owner_response,store_reply,reply_body. Cap: 10,000 characters.
Imported status is preserved — imports don’t force everything to “approved.” If status is absent, defaults to pending.
Need a starting point? Download our template from the upload UI.
Common pitfalls
- Pipe vs comma in
media_urls— we use|so URLs with commas in their query strings don’t break. - Product IDs that don’t match your Shopify catalog — the row is skipped. Spot-check before importing.
- Ambiguous two-digit year dates (
6/15/24) — not supported. Use 4-digit years. - 50 MB file cap — split large files into batches.
Exporting
On the same Settings → Import & Export page, click Export all reviews. The export:
- Runs asynchronously — we email you a download link when ready (typically a minute or two)
- You can also refresh the page to grab the link once it lands
- Covers every review for your store, regardless of status (no date-range or status filters today)
Screenshot of the Export section — manual capture, drop in here.
What’s in the export
All core fields plus platform and sentiment. The column set overlaps with what the importer accepts, so you can round-trip most fields.
When CSV is the right tool
- Migrating from a platform we don’t have a direct integration for — Yotpo, Loox, Trustpilot, Google Reviews
- Backing up your reviews — periodic exports for safekeeping
- Loading historical reviews from a non-standard source — reviews your team collected manually, imported from an older tool, etc.
For platforms we have direct integrations with (Okendo, Judge.me), the direct connection is easier and brings over richer data.