Skip to main content
Migration guide · customer data

Migrating WooCommerce product reviews to Shopify.

Shopify has no built-in product reviews since its own Product Reviews app was removed in May 2024, so reviews move into an app: Judge.me, Loox or Yotpo. Each has its own file format, matching rule and limits. This guide covers the export from WooCommerce, the import into each app, and the data that does not survive.

3fields every WooCommerce review has that every app needs: product, rating, textWooCommerce REST API1
100,000reviews per import in Yotpo and per store in LooxYotpo, Loox43
5photos per review in Judge.me and Loox importsJudge.me, Loox23
0videos or star-only reviews accepted by Judge.me's importJudge.me2

In brief

  • WooCommerce stores product reviews as WordPress comments with a rating, reviewer name and email, date, status and a verified-purchase flag, all readable through the REST endpoint /wc/v3/products/reviews.1
  • Judge.me requires a review body and a 1–5 rating, matches reviews by product_url, product_id or product_handle, accepts up to five images per review, and does not import videos or star-only reviews.2
  • Loox requires product_handle, rating, author, body and created_at, imports up to 100,000 reviews per store with up to five JPG or PNG photos each, and carries a verified_purchase flag.3
  • Yotpo requires product ID, date, content, score, email and customer country, imports up to 100,000 reviews at a time, and imports media only on Pro, Premium and Enterprise plans.4
  • Imported reviews are generally not marked as verified on Shopify, which affects Google Shopping and TikTok Shop syncing in Judge.me.5

What WooCommerce stores

A WooCommerce review is a WordPress comment on the product with extra data. The WooCommerce REST API exposes each review with an id, date_created, product_id, status, reviewer, reviewer_email, the review text, a rating and a verified flag.1 That is enough for every review app, with two gaps: WooCommerce core stores no review title and no photos. Photos and titles come from a review plugin, most often Customer Reviews for WooCommerce, which keeps them in its own tables and export.

Exporting from WooCommerce

  • REST API. A read-only key and GET /wp-json/wc/v3/products/reviews returns every review with the fields above, page by page.1 This is the most complete route for core reviews and the one we use.
  • Review plugin export. Customer Reviews for WooCommerce and similar plugins export their own CSV with titles, photos and votes. Use it when the store's reviews live in the plugin.
  • Judge.me on WooCommerce. If the WooCommerce store already used Judge.me, reviews can no longer be exported from the WooCommerce admin; Judge.me support provides the export, and the Shopify app imports it with manual product mapping.5

Whichever route you use, keep the WooCommerce product ID and slug on every review row. Matching to Shopify products depends on it.

Import requirements by app

RequirementJudge.meLooxYotpo
Required fieldsbody, rating2product_handle, rating, author, body, created_at3product ID, date, content, score, email, customer country4
Product matchingproduct_url, product_id or product_handle; empty for store reviews2product_handle, product_Id as fallback3Product ID only; empty means a site review4
PhotosUp to 5, JPG/JPEG/PNG2Up to 5, JPG/JPEG/PNG3Pro, Premium and Enterprise plans only4
VideosNot imported2Contact support3Video URL columns on media-enabled plans4
Star-only reviewsRejected2Body must contain at least one character3Content required4
Verified flagImported reviews are not marked verified2verified_purchase TRUE/FALSE3User type on supported Premium and Enterprise accounts4
Reply from the storereply, reply_date2reply, replied_at3Not in the required set
Publish statecurated: ok, not-yet, spam2Imported as publishedPublished and unpublished media columns4
LimitsBody up to 5,000 characters2100,000 reviews per store, 15 MB file3100,000 reviews per import4
Date formatdd/mm/yyyy2YYYY-MM-DD3Date column required4

Each app also offers an import wizard that maps arbitrary column names, so the exact headers matter less than having the data.

Column map from WooCommerce

WooCommerce fieldJudge.me columnLoox columnYotpo column
product_id → Shopify productproduct_handle or product_idproduct_handleProduct ID (Shopify)
ratingratingratingReview Score
review (text)bodybodyReview Content
reviewerreviewer_nameauthorDisplay name
reviewer_emailreviewer_emailemailEmail
date_createdreview_date (dd/mm/yyyy)created_at (YYYY-MM-DD)Date
verifiednot importedverified_purchaseUser type (plan-dependent)
status (approved / hold)curated: ok / not-yetpublished onlypublished / unpublished
Plugin photo URLspicture_urlsphoto_urlPublished Image URL
Plugin review titletitlenot in templateReview Title (optional)

The matching key

WooCommerce product IDs do not exist on Shopify. The reliable join is the slug: if the Shopify handle equals the WooCommerce slug, every review maps by handle. If handles changed, build a WooCommerce ID → Shopify ID table first and map on that. Judge.me recommends product_id over handle because WooCommerce products can share a handle.5

What does not survive the move

  • Verified badges. Judge.me does not mark imported reviews as verified, and the same reviews are then excluded from its Google Shopping feed and cannot sync to TikTok Shop.5 Loox accepts a verified_purchase flag in the file.3
  • Star-only reviews. All three apps require text; ratings without a body are dropped. Count them before you promise a total.
  • Videos. Not imported by Judge.me; Loox handles them through support; Yotpo only on media-enabled plans.
  • Helpful votes, reviewer avatars and comment threads. No app's import template includes them.
  • Photos hosted on the old site. Apps fetch photos from the URLs in the file, so the WooCommerce media library must stay online until the import finishes.

Step by step

  1. Count and classify. Total reviews, reviews with text, reviews with photos, reviews with a verified flag. This sets expectations before anyone promises "all reviews will move".
  2. Choose the app before the product import. The handle strategy for products decides how reviews match, so the decision belongs at the start.
  3. Export through the REST API or the review plugin, keeping product ID and slug on every row.
  4. Build the product join: slug to handle, or a WooCommerce ID to Shopify ID table.
  5. Transform into the app's template: date format, rating as a whole number, photo URLs comma-separated, publish state mapped.
  6. Import a sample of 20 reviews first, check them on product pages, then import the rest in batches within the app's limits.
  7. Keep the old site online until photos have been fetched, and verify the counts against step 1.

Reviews are part of every migration we run.

  • Export through the API, with photos
  • Product join built on slugs or an ID table
  • Formatted for Judge.me, Loox or Yotpo
  • Sample import checked before the full run
  • Counts reported: moved, dropped and why
  • Preview before you pay
Scan my store freeThe scan detects your review plugin.

Frequently asked questions

Does Shopify have built-in product reviews?

No. Shopify's own Product Reviews app was removed in May 2024. Reviews on Shopify are handled by apps such as Judge.me, Loox and Yotpo, which is where migrated reviews are imported.

Will migrated reviews show a verified purchase badge?

It depends on the app. Judge.me does not mark imported reviews as verified. Loox accepts a verified_purchase flag in the import file. Yotpo's user type field is limited to certain plans.

Can I migrate reviews that only have a star rating?

No. Judge.me, Loox and Yotpo all require review text, so star-only ratings are dropped. Count them in advance so the totals after migration are not a surprise.

How are reviews matched to products?

By product handle or Shopify product ID. If the Shopify handle equals the WooCommerce slug, matching by handle works for every review. Otherwise a table mapping WooCommerce IDs to Shopify IDs is needed first.

Do review photos migrate?

Yes, when the file includes photo URLs the app can fetch: up to five per review in Judge.me and Loox, and on media-enabled plans in Yotpo. Videos generally do not import.

Sources

  1. WooCommerce. REST API reference: Product reviews.
  2. Judge.me. Importing reviews using the Judge.me template.
  3. Loox. Importing reviews using a custom file.
  4. Yotpo. Importing reviews to Yotpo.
  5. Judge.me. Migrating reviews from your Judge.me account on WooCommerce to Shopify.
  6. Shopify Community. Shopify Product Reviews app discontinued: removal in May 2024 and recommended alternatives.

Mufatech Studio migrates stores to Shopify. App requirements are quoted from each app's own documentation as of September 2026 and can change; check the current template before importing.