The Ecomm Analyst

Growing stores, one honest take at a time.

How do attribution tools handle refunds and returns?

Most attribution tools handle refunds by subtracting the refunded amount from the order they already attributed, which means the channel that got credit for the sale also absorbs the loss. That is the short answer. The longer answer is that tools differ on timing, on whether they net out partial refunds, and on whether the correction ever reaches the reports you actually look at. If you sell anything with a return rate above about 10%, those differences are large enough to change which channels look profitable.

What actually happens when an order is refunded?

An attribution platform sees a refund the same way it saw the order, as an event coming out of Shopify. The order already has a set of touchpoints attached to it and a credit allocation across those touchpoints. When the refund arrives, a well-built tool applies the same allocation in reverse. If Meta got 60% of a $200 order and the whole order comes back, Meta loses $120 of attributed revenue.

The complication is that refunds arrive late. A return processed 25 days after purchase lands in a different reporting period than the sale did. Some tools write the reversal back to the original order date, so last month’s numbers change after you have already reported them. Others book it on the refund date, so your channel revenue looks fine in the month you bought the traffic and quietly deteriorates later. Neither is wrong. You just need to know which one your tool does, because they produce different-looking months.

Do all attribution tools subtract refunds automatically?

No, and this is the part worth checking before you trust anything. Some tools track gross revenue by default and only show net revenue if you switch a setting or build a specific report. Others surface both and let you pick. A few of the cheaper Shopify apps do not reconcile refunds at all, which means every channel in the dashboard is being graded on money that partly went back to customers.

The test is simple. Pull attributed revenue for a completed month from your attribution tool, pull net sales for the same period from Shopify, and see whether the shapes match. If your attribution total sits suspiciously close to gross sales while Shopify’s net number is 8% lower, you have your answer. ThoughtMetric, which sponsors this blog, reconciles against Shopify order data rather than maintaining a separate revenue ledger, which is the property you want here regardless of which vendor you end up using.

What about partial refunds and exchanges?

Partial refunds are handled proportionally by most tools that handle refunds at all. Refund $40 of a $200 order and 20% of the attributed value comes off each touchpoint. That is usually fine.

Exchanges are messier, because Shopify can represent an exchange as a refund plus a new order, and a new order gets its own attribution. The customer came back through a support email, so the replacement often gets credited to direct or to email, while the original paid click eats the refund. Do that a few thousand times and paid social looks worse than it is while your owned channels look better. If you run a high-exchange category like apparel, ask your vendor specifically how exchanges are modelled. It is not a question most sales engineers get asked and the answer is revealing.

Does this change how I should read ROAS?

It should. Ad platform ROAS is always gross, because Meta and Google never see the refund. Your attribution tool may or may not be net. Comparing the two without knowing which is which is one of the quieter ways operators end up scaling a channel that is not working, and it compounds with the ordinary accuracy problems I have written about in how accurate attribution tools actually are.

The practical move is to pick net revenue as your reporting standard and stay on it. Gross ROAS is a useful in-platform optimization signal for the media buyer. It is not the number that should decide budget. If your return rate varies by channel, and it usually does, the gap between gross and net attribution can be the difference between a channel clearing contribution margin and quietly losing money on every order.

Common questions

Do refunds change historical attribution reports? In some tools yes, because the reversal is written back to the original order date. Ask your vendor whether closed months can move, and if they can, take a snapshot at month end so you have something stable to reference.

Should I exclude refunded orders from LTV calculations? Yes. A refunded first order is not a customer acquisition. Leaving them in inflates both LTV and your repeat rate, and the effect is worst in exactly the categories where returns are highest.

How long should I wait before judging a channel? Long enough for your return window to close, plus a week for processing. For a 30-day return policy that means roughly 45 days before the numbers settle. Judging a channel at day 14 on gross revenue is how you end up scaling something that returns at 25%.

Leave a comment

Navigation

About

Six years in e-commerce. Three Shopify stores across different niches, one scaled past seven figures. I’ve tested hundreds of ad creatives, obsessed over email flows, and learned more from my failures than my wins.

Now I focus on conversion optimization, retention marketing, and the analytics behind it all. This blog is where I share what actually works, backed by real numbers. No fluff, no guru energy.