Returns, Refunds and Net Revenue: How to Judge Ads After the Sale
A sale that comes back is not a win. Here is how to read ad results after refunds, why platform numbers stay high, and which decisions net revenue should drive.
Ad platforms record a purchase when the order event fires. Your warehouse records a different story two weeks later, when the carton comes back. If you scale campaigns on the first number, you can spend harder on the products, offers and audiences that look efficient only because the returns have not landed yet.
Returns are not a rounding error you glance at monthly. They change contribution margin, they change which products deserve ads, and they change whether a channel is actually adding profit. This guide explains how to put refunds into ad decisions without pretending you can make every dashboard match.
Gross sales and net revenue are different questions
Gross sales ask how much customers ordered. Net revenue asks how much stayed sold after discounts, returns and cancellations. Ad platforms are built around the first question. Your bank account follows the second.
A few definitions help, and you should write down the ones you use so the team stays consistent:
- Gross sales: orders at selling price before returns.
- Discounts: codes, automatic markdowns and bundle adjustments.
- Returns and refunds: money you give back, including partial refunds.
- Net revenue: the revenue figure you choose after those reductions. Many brands use net sales after discounts and returns, excluding tax and sometimes shipping income. Pick one definition and keep it.
- Return rate: returned orders, or returned revenue, divided by the orders or revenue they came from. Say which one you mean. An order rate and a revenue rate will not match if expensive items come back more often.
Our MER guide recommends a consistent revenue definition for a reason. A promotion that creates a wave of returns will flatter a gross MER and show up honestly in a net one. The MER calculator is only as strict as the revenue number you type in.
Why Ads Manager stays optimistic
Meta, Google, TikTok and ChatGPT ad reporting typically count a conversion when tracking fires. They do not automatically subtract a refund three weeks later. Several gaps stack on top of that:
- Attribution windows assign credit for orders the platform can connect to an ad. Your store subtracts the refund regardless of channel. See attribution windows.
- Date mismatch. The purchase is dated on the click or the order day. The refund lands later. A weekly ROAS read can look strong in the week you acquired the orders and quietly worse a month on.
- Cancellations and failed payments. Some of these never become real revenue, but the pixel event may already exist.
- Partial refunds. A price adjustment or a single item from a multi-item order still leaves a sale in the ad platform and a smaller sale in the store.
This is related to, and not the same as, the gap between Shopify and Ads Manager. That gap is about tracking and credit. Returns are about orders that were real and then reversed. Both can be true in the same account. Our guide to why Shopify and Ads Manager numbers do not match covers the tracking side.
Put returns into contribution margin
Contribution margin for an order should include a returns allowance, or you should judge campaigns on net contribution after actual returns. Ignoring returns overstates what you can pay for a customer.
A straightforward approach:
- Start with selling price.
- Subtract discounts, product cost, outbound shipping you pay, pick and pack, and payment fees.
- Subtract the expected cost of returns for that product. Include refunded revenue, the portion of outbound shipping you do not recover, return shipping if you pay it, and units you cannot resell as new.
Here is a hypothetical example. These are not benchmarks.
| Line | Hypothetical amount |
|---|---|
| Selling price | $80 |
| Discount | $0 |
| Product cost | $24 |
| Outbound shipping paid by the brand | $8 |
| Fees | $3 |
| Contribution before returns | $45 |
| Share of orders returned | 20% |
| Net loss on a returned order (refunded price, shipping both ways, unsellable unit) | $100 |
In this example, for every 10 orders you keep 8 and take 2 returns. Contribution from the 8 kept orders is $360. The 2 returns cost $200. Net contribution is $160, or $16 per original order, not the $45 you would have used if you ignored returns. That $16 is the number that should inform what you can pay to acquire the order. If your acquisition cost is above it, the campaign is unprofitable even when the ad platform looks fine.
Your loss on a return might be much smaller if you can restock the unit. Measure it. Do not copy this table. The break-even ROAS calculator and contribution margin guide help once your inputs are real.
Lag is the part teams forget
Return rate measured on yesterday's orders is almost always too low, because the returns have not happened yet. Apparel, footwear and furniture often need several weeks. Consumables may see fewer returns, but subscription cancellations are a cousin of the same problem: the first charge looked like a win.
Practical habits:
- Judge a cohort after a window that matches your category. If most returns arrive within 30 days, do not declare a winner on day 7. Our cohort analysis guide shows how to group customers by the week or month they were acquired.
- Keep a weekly snapshot that you update. Record ad-reported purchases, store orders, and refunds that arrived this week against older order weeks. You are looking for a stable pattern, not a perfect match.
- Separate "too early to know" from "this is bad." A new creative can be promising and still need the return window before you scale it.
Break the rate down
One blended return rate hides the decision. Split it where you can:
- By product or variant. One size or one fabric can create most of the pain.
- By offer. A steep discount can attract orders that were never a strong fit. You will not know until you compare return rates on discounted and full-price cohorts.
- By new versus returning customers. First orders often return more than repeats. If you only watch blended rate, you will misread prospecting.
- By channel, carefully. A higher return rate on one channel might mean worse customers, or it might mean that channel sells the high-return product. Check product mix before you blame the platform.
- By reason code. "Too small," "not as described," "changed my mind" and "damaged" imply different fixes.
If your store platform's reason codes are a mess, clean them up. Measurement cannot outrun a dropdown that says "other" on most returns.
What to change when returns eat the ads
The ad is sometimes the problem, and sometimes it is the messenger.
- The product or the page over-promises. If the ad and the page imply a fit, a result or a material the customer does not receive, returns are a message-match failure. Fix the claim, the photos and the size guidance. See landing page message match.
- The wrong product is in prospecting. Move high-return products out of cold campaigns until the page or the product improves. Keep them available on site. You do not have to pay to acquire their returns.
- The offer attracts the wrong order. Test a guarantee, a fit guide or a bundle against a deeper discount, and read returns, not just conversion rate. Our offer strategy guide covers risk reversal versus price cuts.
- Sizing and expectation content is buried. For apparel, footwear and furniture, the ad can do some of this work, but the page has to finish it.
- Creative targets a buyer who is a poor fit. A glamorous use case that the product does not survive will convert and then come back. Change the angle to the buyers who keep the product. Review language from people who did not return is a good source. See customer research for ads.
Do not "fix" a high return rate by pausing tracking or by switching the report to a shorter window. That hides the number. It does not change the refunds.
Which number to use for which decision
| Decision | Use |
|---|---|
| Which ad beat which ad inside one platform this week | Platform metrics, knowing they are gross and early |
| Whether a product deserves more prospecting budget | Net contribution after a full return window |
| Whether the business can spend more in total | Net revenue against total ad spend, plus new customers |
| Whether a channel truly adds orders | Incrementality methods, not a single ROAS cell |
Blended CAC and payback should use customers you kept, or you should count the refunded acquisition as a cost with no remaining margin. Our guides to blended CAC, customer payback and ROAS vs MER vs CAC are the surrounding math. None of them are a promise that a target ratio will show up in your account.
A monthly returns review for the media team
Once a month is enough for most small brands, plus a quicker look before any big scale-up.
- Pull orders and net revenue by product for the cohort you are judging (for example, orders from last month, now that returns have arrived).
- Note return rate and the top reason codes.
- Compare acquisition cost for that period with net contribution per order.
- List products you will keep in prospecting, products you will pause, and pages you will fix.
- Write down any offer or creative change you are making because of returns, so next month's review has a cause to look for.
Share the note with whoever approves ad spend. If they only see platform ROAS, they will approve the wrong increases.
How SecondWin helps
SecondWin builds and runs ChatGPT ads for DTC brands. We analyze your site, mine proven angles from the longest-running ads in your niche in Meta's Ad Library, and turn them into chat cards, AI images and context hints. You see the ad in a ChatGPT mockup before it runs.
Campaigns run in your own OpenAI ad account, with tagged links so you can compare results to store orders and, later, to refunds. We do not invent statistics or promise a ROAS. A reported purchase is not the same thing as revenue you keep. Get a free analysis of your store or compare plans and pricing. SecondWin is an independent company and is not affiliated with OpenAI.
FAQ
Should I optimize ads to net revenue or to platform purchases?
Use platform metrics to compare ads against each other in the short run, because that is the data the platform is consistent about. Use net revenue and net contribution, after a realistic return window, to decide budgets, products and whether to scale.
How long should I wait before judging return rate?
Wait until most returns for that category have had time to arrive. For many apparel brands that is several weeks. Reading yesterday's orders will understate the rate. Cohort your orders by week and update the snapshot as refunds come in.
Do ad platforms subtract refunds automatically?
Usually they count the purchase event and do not revise it when you refund the order later. Assume platform revenue is gross and early unless you have confirmed a setup that sends refund events and you have checked that it works.
What if one product has a much higher return rate?
Pause it in cold prospecting until you understand the reason codes. Often the fix is the size guide, the photos, the claim in the ad or the product itself. Keep judging it on net contribution, not on the click metrics that made it look cheap to acquire.
Can a high return rate still work if repeat purchases are strong?
Only if the customers who keep the product come back often enough to cover the orders that were refunded, and you have cohort data that shows it. Do not assume loyalty will rescue a product people send back. Measure the kept customers separately from the refunded ones.