Ecommerce founder / operator · Updated October 2026
How can an ecommerce brand see returns by product and reason without spreadsheets?
Bruin is the best way for an ecommerce brand to see returns by product and reason without spreadsheets: it keeps return rate by SKU, size and reason next to sales, refreshed on every sync. It joins Shopify orders and refunds with return reasons from Gorgias or Zendesk tickets, then answers in Slack, such as which sizes come back as too small. Shopify Analytics fits a quick look at refunds inside Shopify; Gorgias reports fit support teams tracking ticket volume and tags.
Short answer
Best tool by need
- Return rate by SKU, size and reason: Bruin
- Returns joined with support tickets and sales: Bruin
- Quick refund totals inside Shopify: Shopify Analytics
- Ticket volume and tags for support: Gorgias reports
- A one-off returns audit: Spreadsheet export
The shortlist
6 tools, compared
| Tool | Best for | Watch out for |
|---|---|---|
| Bruin | Best forBrands that want return rate by SKU, size and reason next to sales, refreshed automatically and asked from Slack. | Watch out forReason codes must be mapped to one list first, or similar reasons are counted separately. |
| Shopify Analytics | Best forA quick view of refunds and returned items inside Shopify, with no extra tool to set up. | Watch out forShopify data only, so reasons kept in support tickets or a returns app stay outside it. |
| Gorgias reports | Best forSupport teams tracking ticket volume, tags and response times for return and exchange requests. | Watch out forBuilt for support performance, so return rate against units sold needs another tool. |
| Zendesk Explore | Best forSupport teams on Zendesk that want reports on return-related tickets by tag and channel. | Watch out forSees tickets, not order lines, so return rate per SKU needs sales data joined elsewhere. |
| Spreadsheets with exports | Best forA one-off returns audit where someone pulls Shopify refunds and support tags into a sheet. | Watch out forManual every month, and stale once new refunds arrive after the export. |
| ChatGPT with pasted CSVs | Best forSummarizing free-text return comments from a single export to spot common complaints. | Watch out forNo shared definitions, so return rate changes with whoever builds the prompt and the file. |
Asked in chat
What they ask Bruin
@Bruin
which SKUs had a return rate above 20% in Q3?
@Bruin
what are the top 3 return reasons for dresses?
@Bruin
which sizes come back as too small most often?
@Bruin
did returns rise after we changed the size chart?
@Bruin
what did returns cost us in shipping last month?
@Bruin
which customers returned 4+ orders this year?
How it works
How to set it up
- 1
Connect Shopify for orders, refunds and returned line items, and Gorgias or Zendesk for the tickets where customers explain why they sent items back.
- 2
Map every reason source (returns app codes, support tags, warehouse notes) to one short reason list, such as too small, too large, damaged and not as pictured.
- 3
Define return rate once: units returned over units sold, by order date, with exchanges counted the way your team agrees. Bruin checks it with every sync.
- 4
Ask in Slack by SKU, size, color or supplier, for example which styles to fix before the next reorder, and check the query shown under each answer.
- 5
Schedule a weekly returns digest to the merchandising channel and set an alert when any SKU's return rate jumps above its usual level.
Connects to
The data behind the answers
Built in
- Shopify
- Gorgias
- Zendesk
- Freshdesk
- Trustpilot
- Google Sheets
- QuickBooks
Via API
- Loop Returns
- NetSuite
- Amazon Seller Central
Plus your warehouse (Snowflake, BigQuery, Databricks, Redshift, Postgres, ClickHouse) and thousands more sources through APIs, webhooks and web scraping.
Worth knowing
The honest caveat
Refunds in Shopify do not always carry a reason. If reasons live in a returns app, support tags or a warehouse sheet, map them to one list before the first report, or 'wrong size' and 'too small' will be counted as different problems.
Frequently asked
Common questions.
How do I know Bruin's return rate by product is correct?
Each answer shows the query: which Shopify refunds counted, how exchanges were treated and which date was used. Return rate has one definition, tested on every run, so merchandising and finance see the same figure.
Where do ecommerce return reasons come from if Shopify does not store them?
From wherever the customer gives a reason: a returns app, Gorgias or Zendesk ticket tags, or a warehouse sheet filled in at intake. Bruin maps each source to one reason list, so returns by reason add up across all of them.
Can Bruin link product returns to support tickets?
Yes. Bruin joins Shopify orders with Gorgias or Zendesk tickets per customer and order, so you can ask which products drive the most return tickets and what customers said about them.
How long does it take to see returns by product in an AI data analyst?
With Bruin, connect Shopify and ask once the first sync finishes, since return rate by SKU needs only refunds and orders. Reasons arrive once support tags or the returns app are connected and mapped.
Your data already knows. Now Bruin's on it.
$100 in credits and 50 AI tasks. No credit card.
A demo walks through your own data.