<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: yi1260</title>
    <description>The latest articles on DEV Community by yi1260 (@yi1260).</description>
    <link>https://dev.to/yi1260</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1364139%2F6c5aaedb-fae4-45c7-89ad-66ee5ddc9e29.png</url>
      <title>DEV Community: yi1260</title>
      <link>https://dev.to/yi1260</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yi1260"/>
    <language>en</language>
    <item>
      <title>13 columns in an Etsy review CSV: which one decides if your Shopify import works</title>
      <dc:creator>yi1260</dc:creator>
      <pubDate>Fri, 13 Nov 2026 01:21:23 +0000</pubDate>
      <link>https://dev.to/yi1260/13-columns-in-an-etsy-review-csv-which-one-decides-if-your-shopify-import-works-4224</link>
      <guid>https://dev.to/yi1260/13-columns-in-an-etsy-review-csv-which-one-decides-if-your-shopify-import-works-4224</guid>
      <description>&lt;p&gt;Two posts ago I wrote about the routes for getting Etsy reviews into a file. This one is about what happens &lt;em&gt;after&lt;/em&gt; you have the file — specifically, which column quietly decides whether your import succeeds or silently attaches reviews to the wrong products.&lt;/p&gt;

&lt;p&gt;First, the thing worth repeating: Etsy does offer a free official download. In Shop Manager it's Settings → Options → Download Data → Take your data with you → Download Your Reviews. Start there. Etsy doesn't publish the column list for that file, so open it in a spreadsheet and check what you actually got before you design anything around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 13 columns a structured export should give you
&lt;/h2&gt;

&lt;p&gt;Here is the schema I use when I need a portable, documented file rather than an in-app sync:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;What it's for&lt;/th&gt;
&lt;th&gt;What usually goes wrong&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;transaction_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Stable per-review identifier; deduplication on re-import&lt;/td&gt;
&lt;td&gt;Missing entirely, so re-running an import duplicates everything&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;review_date&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Chronology and review-age rules&lt;/td&gt;
&lt;td&gt;Locale formats like &lt;code&gt;03/04/2026&lt;/code&gt; get parsed as two different dates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rating&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1–5 numeric value&lt;/td&gt;
&lt;td&gt;Stored as text with a trailing "stars", breaks filters and averages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reviewer_name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Display name shown with the review&lt;/td&gt;
&lt;td&gt;Treated as a customer email or unique key — it is neither&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;body&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The review text&lt;/td&gt;
&lt;td&gt;Line breaks and quotes break naive CSV splitting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;photo_count&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;How many buyer photos are attached&lt;/td&gt;
&lt;td&gt;Ignored, so photo-only filters can't be applied later&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;picture_urls&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full-resolution buyer photo URLs&lt;/td&gt;
&lt;td&gt;Etsy preview-size URLs get copied instead; photos degrade after the original listing disappears&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;verified_buyer&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Whether the review is tied to a purchase&lt;/td&gt;
&lt;td&gt;Assumed to be &lt;code&gt;true&lt;/code&gt; for everything&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;product_id&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Etsy listing identifier&lt;/td&gt;
&lt;td&gt;Used as a Shopify key — the two systems have unrelated ID spaces&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;product_handle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The stable join key you map to a Shopify product&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;This is the one that matters&lt;/strong&gt; (see below)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;product_title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Human-readable label&lt;/td&gt;
&lt;td&gt;Used as the join key; titles get renamed, abbreviated and translated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;product_url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The original Etsy listing URL&lt;/td&gt;
&lt;td&gt;Dropped, which removes your only fallback when titles drift&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;seller_reply&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Your public response to a review&lt;/td&gt;
&lt;td&gt;Almost always forgotten, and it is not recoverable from the storefront later&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If you only verify four things in any file you get — from Etsy, from a sync, or from a tool — make them &lt;code&gt;body&lt;/code&gt; + &lt;code&gt;review_date&lt;/code&gt;, &lt;code&gt;seller_reply&lt;/code&gt;, full-resolution &lt;code&gt;picture_urls&lt;/code&gt;, and the &lt;code&gt;product_url&lt;/code&gt; / &lt;code&gt;product_handle&lt;/code&gt; pair.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why &lt;code&gt;product_handle&lt;/code&gt; is the column that decides everything
&lt;/h2&gt;

&lt;p&gt;Etsy attaches reviews to a &lt;strong&gt;listing&lt;/strong&gt;, not to a design or a variant. That distinction is invisible while you sell on Etsy and painful the moment you restructure a catalog.&lt;/p&gt;

&lt;p&gt;Say one Etsy listing offers 20 designs and has 300 reviews. On Shopify you want 20 separate products. There is no clean automatic way to decide which of those 300 reviews belongs to which of the 20 new products — the data simply was never recorded at that granularity. Any tool claiming to "split" them is guessing.&lt;/p&gt;

&lt;p&gt;What you &lt;em&gt;can&lt;/em&gt; do is preserve the mapping you still have: capture every review together with its original &lt;code&gt;product_url&lt;/code&gt; / &lt;code&gt;product_handle&lt;/code&gt; before you change anything, then decide your own catalog structure. Assign the same handle/SKU on both sides from day one. Retrofitting 200 listings later is miserable, and it determines whether you can ever match an Etsy order or review to a Shopify product in a spreadsheet.&lt;/p&gt;

&lt;p&gt;Titles are the trap. Teams join on &lt;code&gt;product_title&lt;/code&gt; because it's readable, then a rename or a seasonal edit breaks the join. A handle is boring and stable; use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A 5-row test import before you do 500
&lt;/h2&gt;

&lt;p&gt;Whatever route you take, run this first:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pick 5 rows that include: one review with a photo, one rating-only review, one with a seller reply, one with a comma or line break in the body, and one from an older listing.&lt;/li&gt;
&lt;li&gt;Import into a &lt;strong&gt;test&lt;/strong&gt; product in your review app, not your live catalog.&lt;/li&gt;
&lt;li&gt;Check the date renders in the right timezone, the photo loads at full resolution, the body isn't truncated at the comma, and the review is attached to the product you intended.&lt;/li&gt;
&lt;li&gt;Re-run the same 5 rows. If you now have 10 reviews, you have no stable &lt;code&gt;transaction_id&lt;/code&gt; and need deduplication.&lt;/li&gt;
&lt;li&gt;Only then scale up. Keep the original file untouched as your archive.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The legal bit, briefly
&lt;/h2&gt;

&lt;p&gt;Only import reviews that were genuinely written for your own products by your own customers. In the US, the FTC's Rule on Consumer Reviews and Testimonials (16 CFR Part 465, effective October 2024) prohibits misrepresenting that a review was written for a product or seller it wasn't written for. Public reviews from &lt;em&gt;other&lt;/em&gt; shops are useful for market research — they must never be presented as your own customers' feedback. If you're using Judge.me, note that its Etsy-synced reviews are excluded from its Google Shopping product-ratings feed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where my tool fits
&lt;/h2&gt;

&lt;p&gt;For the cases the official download and a native sync don't cover, I built a small independent Chrome extension that produces a structured CSV with the documented 13-column schema above, entirely on your device (free tier: 40 reviews): &lt;a href="https://yi1260.github.io/etsy-review-studio/?utm_source=devto&amp;amp;utm_campaign=csvcolumns" rel="noopener noreferrer"&gt;https://yi1260.github.io/etsy-review-studio/?utm_source=devto&amp;amp;utm_campaign=csvcolumns&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Full disclosure: I'm the developer. It is not affiliated with Etsy, Shopify, Judge.me or Loox, and for a plain copy of your own shop's data the official Etsy download may be all you need.&lt;/p&gt;

</description>
      <category>data</category>
      <category>software</category>
      <category>tools</category>
    </item>
    <item>
      <title>Importing Etsy reviews into Shopify or Judge.me: what's free, what's legal, what breaks</title>
      <dc:creator>yi1260</dc:creator>
      <pubDate>Thu, 12 Nov 2026 07:48:44 +0000</pubDate>
      <link>https://dev.to/yi1260/importing-etsy-reviews-into-shopify-or-judgeme-whats-free-whats-legal-what-breaks-44h2</link>
      <guid>https://dev.to/yi1260/importing-etsy-reviews-into-shopify-or-judgeme-whats-free-whats-legal-what-breaks-44h2</guid>
      <description>&lt;p&gt;Moving an Etsy shop to Shopify is the easy half. The reviews are where people get stuck — not because the data is hard to move, but because there are three different routes with different coverage, and one of them is illegal if you do it wrong.&lt;/p&gt;

&lt;p&gt;This is the practical version: which route to try first, what each one actually carries over, and where the FTC line sits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Route 1 — Judge.me's free Etsy sync (try this first if you use Judge.me)
&lt;/h2&gt;

&lt;p&gt;If Judge.me is your review app, they ship a native Etsy import on the free plan. You connect the shop, it pulls reviews over, and it keeps syncing on a schedule.&lt;/p&gt;

&lt;p&gt;This is the right answer for most people, and it costs nothing. Two things to check before you rely on it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coverage.&lt;/strong&gt; A sync typically covers your &lt;em&gt;active&lt;/em&gt; listings with &lt;em&gt;written&lt;/em&gt; reviews. Rating-only reviews, reviews on deactivated or deleted listings, and reviews on listings you've since restructured often fall outside it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Portability.&lt;/strong&gt; A sync puts the reviews inside Judge.me. It doesn't hand you a file. If you later switch review apps, or want an offline archive, you're back to square one.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So: free, fast, and good — as long as your shop is simple and you're staying on Judge.me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Route 2 — Etsy's own review download (free, undocumented fields)
&lt;/h2&gt;

&lt;p&gt;Etsy does let sellers download their reviews. It's buried:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Shop Manager → Settings → Options → Download Data
  → Take your data with you → Download Your Reviews
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most sellers don't know it exists, which is why "Etsy won't give you your reviews" is such a common (and wrong) claim online.&lt;/p&gt;

&lt;p&gt;The catch is that Etsy's help article doesn't publish the column list. You get a file; you don't get a schema. So open it in a spreadsheet before you build anything on top of it, and verify four things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The review body and date&lt;/strong&gt; — the obvious ones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your seller replies&lt;/strong&gt; — these are conversational context, and they're usually the first thing lost in a migration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The original full-resolution buyer photo URLs&lt;/strong&gt; — not thumbnails. Thumbnail URLs are usually resized derivatives and look bad on a storefront.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The listing each review belongs to&lt;/strong&gt; — a listing ID or URL you can map to a Shopify product handle.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If all four are there, you may not need any tool. If one is missing, you need a different source for that column, because you cannot reconstruct a seller reply or an original photo URL after the fact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Route 3 — a structured CSV you generate yourself
&lt;/h2&gt;

&lt;p&gt;The manual version: collect rating, date, reviewer name, body, listing URL and photo URLs into a spreadsheet, then import.&lt;/p&gt;

&lt;p&gt;The reason people build tools for this is that the last two columns are the annoying ones — photo URLs are often only present in the page's rendered markup, and listing URLs need normalising to something you can join on.&lt;/p&gt;

&lt;p&gt;However you get there, the import is the same shape: one row per review, joined to a product on a stable key.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csvs"&gt;&lt;code&gt;&lt;span class="n"&gt;review_date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rating&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;reviewer_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;picture_urls&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;product_handle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;seller_reply&lt;/span&gt;
&lt;span class="mi"&gt;2026&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;03&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;      &lt;span class="nd"&gt;@someone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;      &lt;span class="s2"&gt;"Arrived..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//i.etsystatic.com/.../il_fullxfull.123.jpg, silk-scarf-no-7, "Thank you!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Map &lt;code&gt;product_handle&lt;/code&gt; (or &lt;code&gt;product_id&lt;/code&gt;) to your Shopify handle, not the product title. Titles get edited; handles are what the storefront resolves. If you match on title, a rename silently drops the review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the legal line is
&lt;/h2&gt;

&lt;p&gt;This part gets skipped in most tutorials, and it's the part that can actually cost you.&lt;/p&gt;

&lt;p&gt;The FTC's Rule on Consumer Reviews and Testimonials (16 CFR Part 465, in force since October 2024) targets fake and deceptive reviews. Two provisions matter when you migrate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reviews have to be for the same product.&lt;/strong&gt; You can bring your own reviews with you when you move the same product to a new storefront. You cannot take reviews written about product A and display them on product B — even if you made both, even if they're similar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reviews have to come from your own customers.&lt;/strong&gt; Displaying another seller's reviews as if they were yours is a misrepresentation, whether you scraped them, imported them, or a supplier handed them to you.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The practical rule for a migration: &lt;strong&gt;import reviews product-by-product, from your own shop, and don't merge variants that are meaningfully different products.&lt;/strong&gt; If you consolidated five Etsy listings into one Shopify product, that's usually fine (same items, different packaging). If you folded a sticker listing's reviews into a mug listing because "it's all my shop", that's the fact pattern the rule is aimed at.&lt;/p&gt;

&lt;p&gt;Two more things people get wrong:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Don't filter to only 5-star reviews.&lt;/strong&gt; Selective display that misrepresents the overall rating is a separate problem from fake reviews.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public review data is for research, not for your storefront.&lt;/strong&gt; Ranking a competitor's bestsellers by review volume is legitimate market research. Copying their buyers' words onto your product page is not.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A short checklist
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Using Judge.me? Try the free Etsy sync first — then check whether rating-only and inactive-listing reviews came across.&lt;/li&gt;
&lt;li&gt;Want a file you own? Use Etsy's official download, and inspect the columns before planning around them.&lt;/li&gt;
&lt;li&gt;Either way, verify seller replies, original photo URLs and listing identifiers survived.&lt;/li&gt;
&lt;li&gt;Import per product, join on handle, keep your own reviews only.&lt;/li&gt;
&lt;li&gt;Keep an offline copy. Review history is the one asset you can't re-earn retroactively.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I build &lt;a href="https://yi1260.github.io/etsy-review-studio/?utm_source=devto&amp;amp;utm_campaign=import-guide" rel="noopener noreferrer"&gt;Etsy Review Studio&lt;/a&gt;, a Chrome extension that exports your own Etsy reviews to a CSV with a documented 13-column schema and generates it locally on your machine. Free tier covers 40 reviews. It's independent and not affiliated with Etsy, Shopify, Judge.me or Loox — and if the free options above cover your case, use them instead.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>saas</category>
      <category>startup</category>
      <category>tools</category>
    </item>
    <item>
      <title>4 ways to get your Etsy reviews into a spreadsheet (and what each one drops)</title>
      <dc:creator>yi1260</dc:creator>
      <pubDate>Thu, 12 Nov 2026 06:33:12 +0000</pubDate>
      <link>https://dev.to/yi1260/4-ways-to-get-your-etsy-reviews-into-a-spreadsheet-and-what-each-one-drops-44m9</link>
      <guid>https://dev.to/yi1260/4-ways-to-get-your-etsy-reviews-into-a-spreadsheet-and-what-each-one-drops-44m9</guid>
      <description>&lt;p&gt;If you're moving an Etsy shop to Shopify, archiving a shop you're closing, or switching review apps, at some point you'll want your reviews in a file you control.&lt;/p&gt;

&lt;p&gt;There are four realistic routes. Two of them are free and official, and you should try those first. This post is mostly about knowing what each route leaves behind, because finding that out &lt;em&gt;after&lt;/em&gt; a migration is the expensive part.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Etsy's own "Download Your Reviews" (free, start here)
&lt;/h2&gt;

&lt;p&gt;Etsy does let sellers download their reviews:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Shop Manager → Settings → Options → Download Data → Take your data with you → Download Your Reviews&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It's a data request rather than an instant export, and the prepared link expires — re-generate it instead of relying on an old one.&lt;/p&gt;

&lt;p&gt;The catch: Etsy's help article doesn't publish the column list or format. Open the file in a spreadsheet &lt;strong&gt;before&lt;/strong&gt; you plan anything around it, and check specifically for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the review body and date&lt;/li&gt;
&lt;li&gt;your &lt;strong&gt;seller replies&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;original full-resolution buyer photo URLs&lt;/strong&gt; (not thumbnails)&lt;/li&gt;
&lt;li&gt;the &lt;strong&gt;listing URL / handle&lt;/strong&gt; each review belongs to&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If all four are there and you just wanted a copy, you're done. No tool needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Judge.me's free Etsy sync (free, if you use Judge.me)
&lt;/h2&gt;

&lt;p&gt;If your destination is Judge.me on Shopify, its official Etsy integration syncs reviews automatically, roughly weekly, on the free plan. It's the right tool for that job and it's genuinely the least work.&lt;/p&gt;

&lt;p&gt;Its published scope is narrower than "all my reviews", though. It covers your own active listings with written reviews, and Etsy-synced reviews are excluded from Judge.me's Google Shopping product-ratings feed. Rating-only reviews, seller replies and inactive listings are the usual gaps people notice. It also doesn't give you a portable file — the data lives inside the app.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. A manual CSV (free, but tedious)
&lt;/h2&gt;

&lt;p&gt;You can assemble the file yourself. The minimum viable mapping is:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;What to watch&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;rating&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1–5 as a number, not stars&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;body&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Preserve line breaks; escape commas and quotes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;review_date&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ISO &lt;code&gt;YYYY-MM-DD&lt;/code&gt; avoids locale surprises&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reviewer_name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Display name, not email (you usually don't have it)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;product_handle&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Must match the Shopify handle exactly, or the import silently drops rows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;picture_urls&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full-resolution URLs; first URL only for some apps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;reply&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Your seller response, if you want to keep it&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two things consistently go wrong here: handles that don't match, and photos that were copied as preview-size URLs. Do a 5-row test import before doing 500.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. A portable CSV snapshot (structured, repeatable)
&lt;/h2&gt;

&lt;p&gt;This is the case for a dedicated export: you want a documented schema, filters, and a file you can re-generate whenever you like. For reference, here is the exact 13-column Standard CSV written by the tool I build:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csvs"&gt;&lt;code&gt;&lt;span class="n"&gt;transaction_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;review_date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;rating&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;reviewer_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;photo_count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;picture_urls&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verified_buyer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;product_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="n"&gt;product_handle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;product_title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;product_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;seller_reply&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you're evaluating &lt;em&gt;any&lt;/em&gt; export tool, ask for its column list up front. "Exports your reviews" without a schema is how you discover six months later that seller replies or original photo URLs were never in the file.&lt;/p&gt;

&lt;p&gt;Three properties worth insisting on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Local processing&lt;/strong&gt; — the data never needs to touch someone else's server&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repeatable snapshots&lt;/strong&gt; — same schema every run, so your import mapping doesn't break&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filters&lt;/strong&gt; — rating-only, photo-only, whole shop vs single listing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The part people get wrong: whose reviews are these?
&lt;/h2&gt;

&lt;p&gt;If you import reviews, keep them attributed to their real source and to your own shop's buyers. Under the US FTC's Rule on Consumer Reviews and Testimonials (16 CFR Part 465, effective October 2024), presenting another seller's customers' feedback as your own, or reusing a review written for a different product or seller, is prohibited.&lt;/p&gt;

&lt;p&gt;Public reviews on someone else's shop are great for &lt;strong&gt;research&lt;/strong&gt; — reading what buyers complain about, or ranking a shop's listings by review volume before you decide what to make. They are not your social proof. This distinction matters more than any CSV column.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short checklist before you migrate
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Generate the official Etsy download and actually open it.&lt;/li&gt;
&lt;li&gt;Write down which of the four field groups are missing.&lt;/li&gt;
&lt;li&gt;Do a 5-row test import into your destination app and verify photos + replies render.&lt;/li&gt;
&lt;li&gt;Keep the original file somewhere outside the browser's Downloads folder.&lt;/li&gt;
&lt;li&gt;Only then run the full migration.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I build &lt;a href="https://yi1260.github.io/etsy-review-studio/?utm_source=devto&amp;amp;utm_campaign=csv-guide" rel="noopener noreferrer"&gt;Etsy Review Studio&lt;/a&gt;, a small independent Chrome extension that generates the structured CSV described in route 4 (free tier: 40 reviews). It is not affiliated with Etsy, Shopify, Judge.me or Loox. If the official download or the free Judge.me sync covers your case, use those instead — this post works fine without installing anything.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>data</category>
      <category>productivity</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
