Ecommerce growth
The Leak Brands Don’t Track
Ad spend and COGS get watched to the penny. Returns and chargebacks quietly drain margin every month, and most brands never add up the total.
Say your store does $2M a year at a $60 average order. That’s roughly 33,000 orders. At a 19% return rate, close to the online retail average tracked by the National Retail Federation, that’s over 6,300 returns. Even at the low end of what a return typically costs to process, $10 to $65 each according to the same research, that’s $63,000 or more disappearing into labels, restocking, and write-downs. And that’s before a single chargeback shows up. Shopify bills every one of those return labels to you by default. Not the customer. Unless someone on your team manually changes that.
Most brands can recite their blended CAC to the penny. They track COGS to the cent, check ad spend more often than the weather, and treat a 2% shift in conversion rate as cause for alarm in the team Slack. Returns and chargebacks get a different kind of attention instead. A shrug. A Shopify notification. A line item in the payment processor dashboard that nobody opens unless a number looks strange.
That gap is the problem. A leak never looks dramatic one drop at a time. One return here. One dispute there. None of it feels urgent, because none of it happens all at once. Leave a slow leak alone for two quarters, though. It stops being a rounding error and starts being the reason margin looks worse than the sales dashboard says it should.
Where the returns drip actually starts
Start with returns, the more visible half of the returns and chargebacks problem. The instinct is to blame the product: bad photos, a vague description, a size chart that undersells reality. Sometimes that’s true. But the bigger, steadier driver is something shoppers do on purpose. Narvar’s research on “bracketing” found that 58% of shoppers intentionally order multiple sizes or colors of an item. They plan to keep the one that fits and return the rest before the invoice even lands.
That’s not a shopper acting in bad faith. It’s a shopper solving a problem you handed them: they can’t try anything on before checkout, so they try it on after. The drivers shift by category, too. Beauty returns commonly trace back to shade and texture mismatch, something a swatch photo can’t fully solve. Home goods returns often come down to style not matching the room the shopper had in mind. No product description fixes that, because it was never really about the product.
Whatever the reason, the cost shows up in the same three places every time. There’s the label to bring it back and the labor to inspect and restock it. Then there’s the shrinking value of anything that comes back too worn, opened, or out of season to resell at full price. None of those three costs shows up as “returns” on a standard report. They show up scattered across shipping, labor, and inventory write-downs, which is exactly how a leak hides.
The drip you can't fully plug
The numbers in one line: merchants contest 54% of chargebacks, win about 20% of the ones they fight, and end up recovering roughly 11% of every chargeback that lands.
Chargebacks deserve a different mindset entirely. Returns are a behavior you can influence. Chargebacks are closer to a fixed cost of accepting cards, though not an unlimited one. Most estimates put the average ecommerce chargeback rate somewhere between 0.5% and 1% of transactions, though no single source tracks it across every merchant. Visa starts flagging accounts once that ratio crosses 0.65%, with real consequences for anyone who stays above it. Treating chargebacks as a problem you can eliminate just sets you up to be surprised every month.
The math backs that up. Chargeback Gurus’ analysis of dispute outcomes found that merchants only contest 54% of the chargebacks they receive. They accept the rest without a fight. Of the disputes merchants do contest, the average win rate is around 20%. Run those two numbers together against every chargeback that lands, and the real win rate drops to about 11%.
There are real mechanics behind that number, not just merchant laziness. Fraud-coded disputes are the hardest category to reverse through representment. That’s especially true when a merchant skipped AVS or CVV matching at checkout, leaving no matched data point to point back to. Plenty of merchants also just don’t have the evidence on hand when the dispute notice arrives, because nobody built the habit of saving it. And winning isn’t even always final. About 23% of the disputes merchants win in representment escalate to pre-arbitration, where issuers reverse some of those wins anyway.
Patching what can actually be patched
Returns and chargebacks need different fixes, but neither one is complicated once you know where to look. On the returns side, the fix isn’t a stricter return policy, it’s a better product page. Sizing charts with real measurements, shade-matching guides, and customer photos all shrink the guesswork that drives bracketing in the first place. That matters, because 86% of shoppers won’t buy something online without reading reviews first, according to PowerReviews. Fewer guesses at checkout means fewer boxes coming back for reasons a policy change was never going to fix.
On the chargeback side, the fix is matching evidence to the actual reason code instead of sending the same generic packet every time. A “product not received” dispute needs delivery proof, tracking with a timestamp and address match, ideally a delivery photo. A “not as described” dispute needs something closer to the customer’s own words.
Here’s what that looks like in practice. A “not received” dispute like this typically closes when a merchant pulls carrier tracking showing a scanned, address-matched delivery. Add a support email where the same customer asked a follow-up question about the item days after it arrived, and the case closes itself. Merchants often win a “not as described” dispute the same way. They submit the customer’s own return request, one that cites fit rather than any defect. They pair it with the size chart the customer had access to at checkout and the exact size they selected on the order. Same pattern either way: the customer’s own words do the work a generic rebuttal letter never could.
Usage evidence works the same way. Say a subscription customer logged in and used the product after filing the “unauthorized” dispute. That access log says more than any written argument.
One crack that's specific to Shopify
Worth flagging on its own: Shopify bills every return label to the merchant by default, and it doesn't recover that cost for you automatically. Someone has to either manually deduct it from the refund or turn on Shopify's native return rules to charge a flat return fee or require customers to buy their own label.
Check the gauge every month
None of this requires a new department. It requires two numbers that most brands could pull today and mostly don’t: return rate and chargeback rate. Return rate is just returns divided by orders shipped, both already sitting in your Shopify order data. Chargeback rate is disputes divided by total transactions, visible in Shopify Payments or Stripe’s dispute dashboard. Neither one takes more than five minutes to pull. Track them monthly, right next to CAC and COGS, instead of off in a separate tab nobody opens.
Whoever handles the physical returns, whether that’s an in-house team or a fulfillment partner, should already have the return count on hand. The only real change is asking for it every month instead of only when a number looks off. Pull last month’s return count and last month’s chargeback count right now, multiply each by your average order value, and that’s the number the leak actually cost you last month. A leak you’re watching is a maintenance item. A leak you’re not watching is just next quarter’s bad surprise.


