Review sources

How to import old reviews from a CSV (and keep the dates)

11 September 2026 · JustReview

Switching review tools, or moving a shop to a new platform, usually means starting the reviews count back at zero. That is the wrong trade: a five-year-old testimonial with a real date is worth more than a fresh one, because a visitor can see the history is not staged. A CSV import exists for exactly this gap, and it is stricter than it looks: one required column, a 20,000-row ceiling, and a plan gate that catches people who did not expect it.

What the file actually needs

Only one column is mandatory: the review text. Everything else has a fallback if you leave it out.

ColumnRequiredAccepted header namesIf missing
Review textyescontent, text, review, comment, body, tresc, opiniafile rejected
Authornoauthor, name, reviewer, autorbecomes Anonymous
Ratingnostars, rating, score, star, ocena, gwiazdkibecomes 5
Datenodate, created, databecomes today
Linknourl, linkempty
Languagenolang, language, jezykbecomes en

Header names are case-insensitive and bilingual (English and Polish column names both work), and the separator is auto-detected: an export straight out of Excel that uses semicolons instead of commas is read correctly without editing.

author,content,stars,date,lang
Anna Kowalska,"Fast shipping, exactly as described.",5,2026-03-14,en
Marek,"Good product, packaging could be better.",4,2026-04-02,pl
,"Very happy with the service.",5,,en

The third row has no author and will show as Anonymous. Ratings are clamped to 1-5, so a 4,5 with a European comma still parses. Dates that cannot be read fall back to today’s date rather than failing the row.

The limits, and the one that surprises people

20,000 rows and 5 MB per file, whichever you hit first. A file with long review text can hit the 5 MB ceiling well under 20,000 rows, so if your export is large, check the file size before you check the row count.

The plan gate is not about row count, it is about the plan itself. CSV import sits behind the Plus plan. On Free, the connector screen shows an upgrade prompt instead of a file picker, even for a ten-row file. This trips people who assume a bulk-import feature is priced by volume rather than switched on or off by tier.

Imported rows also count against your plan’s review limit the same way any other review does. If the file is bigger than your remaining room, JustReview imports what fits and reports that the limit was reached rather than rejecting the whole file.

Re-uploading the same file will not double your reviews

Duplicates are detected by author, rating and text together. Upload the same export twice, by accident or because a colleague did it first, and the second pass reports everything as skipped. The trade-off: two different customers who happen to share a name, rating and near-identical wording will be treated as one review. In practice that combination is rare enough that it is almost always a real duplicate being caught correctly.

One thing the dedup does not catch: a CSV row and the same review pulled in later through a live connector (Google, Facebook, a marketplace) are not recognised as the same review, because they arrive through different paths. If you are backfilling a gap in history before connecting the live source, trim the export to the dates the connector will not cover, otherwise you end up with both.

When a CSV import is the right tool, and when it is not

Three situations send people to this feature, and they need different amounts of care.

Leaving another review tool. Most review widgets let you export what they collected, usually as a spreadsheet with author, text, rating and date. That export maps almost directly onto the format above: rename the text column to content if it is not already called that, and the rest is a header-matching exercise rather than a rewrite. The one thing worth checking before you upload is whether the old tool’s export separates reviews by location or by product. JustReview’s CSV import has no location or product column, so if that distinction matters for your account structure, split the file and import in batches, one per location.

Recovering history a platform’s own export window cut off. Google and most marketplaces only let you pull reviews back so far through their API before the window closes, and a review from four years ago can fall outside it even though it is still visible on the platform page. If you manually copied a handful of these into a spreadsheet before they aged out of reach, CSV import is the only way to get them into JustReview, because the live connector for that platform will not reach back that far on its own.

Reviews you collected yourself, outside any platform. Post-purchase emails, a feedback form on your own site, printed comment cards someone typed up: none of this has an API to connect to, so a spreadsheet is the only format it will ever exist in. This is the case the lang column is most useful for, since self-collected feedback is more likely to be multilingual than reviews sitting on a single-language marketplace listing.

What CSV import is not for: an ongoing pipeline. It is a one-time backfill, not a sync. If new reviews keep arriving on a platform, connect that platform directly so they show up without a repeat export every month. Treating CSV import as a recurring workflow means re-exporting, re-uploading, and relying on the duplicate detection to skip everything you already imported, which works but wastes a step that a live connector removes entirely.

Getting from spreadsheet to CSV without breaking formatting

The most common way this goes wrong has nothing to do with JustReview’s column rules: it is a spreadsheet tool mangling text on export. Two things to check before uploading:

Encoding. If review text contains accented characters (a customer’s name with an umlaut, or Polish diacritics from an export like tresc/opinia), save the file as UTF-8 rather than whatever your spreadsheet editor defaults to on your operating system. A wrong encoding does not usually fail the import outright, it just turns the accented characters into garbled symbols in every affected row.

Embedded commas and quotes. A review that itself contains a comma needs its whole field wrapped in quotation marks, and a review that contains a quotation mark needs that character doubled. Most spreadsheet software does this automatically when it saves a CSV, so the failure mode here is usually a review pasted in and re-saved by hand rather than exported by a tool, which is one more reason to prefer whatever export button your old system offers over manually rebuilding the file.

Once the file is ready, the upload itself is three steps in the panel: open the CSV import connector, upload the file, and read back how many rows were imported versus skipped. Skipped rows are reported with a reason, most often an empty text field or a duplicate of something already in the account, so there is no need to guess which rows failed.

What imported reviews look like afterwards

They are visible immediately, and they are labelled as collected by JustReview rather than as Google or Facebook reviews, because that is where the data actually came from. Full mechanics of column handling and error messages are in the CSV import docs.

If your reviews already live on a platform with an API, that is usually the better path going forward: connect it once and new reviews keep arriving without a repeat export. See how to combine several sources in one widget once both are connected, or start from where reviews already exist if you have not inventoried your sources yet.

CSV import is for the reviews a live connector cannot reach: history from a discontinued tool, a spreadsheet you collected by hand, or an export from a platform JustReview does not have a connector for. Once the reviews are in, see how they show up in an embeddable Google-reviews-style widget on your own site, Plus plan required for the import itself.

FAQ

Can I import reviews on the Free plan?

No. CSV import is locked below Plus, the same gate that applies to most bulk-data features. On Free, the connector screen shows an upgrade prompt instead of the upload form.

Will imported reviews say they came from Google or Facebook?

No, and this is deliberate. Anything you upload through CSV is attributed to JustReview itself, not to a platform it did not actually come from. If a review already sits on Google, pull it in through the Google connector so the source label stays accurate.

A full reviews page, rendered by the widget

This is the full reviews page widget with the review form enabled, running on our own account.