Refunds & returns
A sale that came back
stops counting as a sale.
In your reports, and in your ad accounts. A cancelled, refused or fully refunded order leaves revenue the day it happens. A partial refund keeps the order a sale and records what went back. Google is corrected on its own, and cash-on-delivery sales can wait for the parcel before any ad platform hears of them.
30-day free trialNo card requiredSet up in minutes
Is my ROAS counting orders that came back as RTO?
What happens to a sale that is partly refunded?
Revenue
168 orders that stayed sold
₹4,05,300
Partial refunds: ₹1,800 on 2 orders that are still sales
Can Meta and Google stop learning from orders nobody paid for?
When does a refused parcel leave my revenue?
What it is worth
Pay for customers who keep what they buy.
Revenue you actually kept
Orders that were cancelled, refused or refunded in full are out of every report, so ROAS is not flattered by parcels that came back.
Google bids on real money
Its conversions are lowered or removed as refunds land, without anyone opening Google Ads.
No sale reported that never happened
With cash on delivery counted at delivery, a refused parcel is never sent to Meta or Google as a purchase in the first place.
One order, three places
A partial refund, followed into your reports, Google and Meta.
A partly refunded order is still a sale: the customer kept something. The refund is recorded on the order under each refund’s own id, so a webhook delivered twice is never counted twice. Google’s value is restated to what was kept. Meta cannot take an event back, so for Meta a refund goes as its own event, once you switch it on.
- A refund only moves forward; a later "paid" cannot undo it
- Refunds shown by name beside revenue, never hidden inside it
- Google restated, never counted twice
- RefundedPurchase and PartialRefund for Meta, with the amount that went back
Placed · ₹2,499 prepaid
2 Oct
₹600 refunded, one item sent back
3 Oct
Return to origin
A refused parcel leaves revenue the moment it turns back.
Your shipping partner knows each parcel’s fate first. Shiprocket, Delhivery and ClickPost post their tracking to us, turned into nine plain statuses. When the courier gives up and the parcel starts back, the sale is lost, so that is when it leaves revenue, not days later at the warehouse. If the store counts cash-on-delivery sales at delivery, Meta and Google were never told it was a sale.
- Shopify fulfilment, or your shipping partner’s tracking
- A failed delivery attempt is a workflow trigger, while the sale can still be saved
- An OrderReturned event for exclusion audiences, never a second Purchase
- A customer’s return pickup is never mistaken for a delivery
Placed · cash on delivery · ₹1,299
1 Oct
Purchase held: this store reports cash-on-delivery sales when the parcel is delivered
Shipped
2 Oct
tracking posted by the shipping partner
Delivery attempt failed
4 Oct
customer not reachable · a workflow can still try to save it
Returning to you (RTO)
6 Oct
out of revenue from this moment, not when it reaches the warehouse
Revenue
₹0
from this order
Meta
never told
nothing to take back
Google Ads
never told
nothing to take back
Google, corrected
Google is told on its own, inside its own rules.
A partial refund lowers the value Google holds. A cancellation, return, RTO or full refund removes the conversion. Nothing goes sooner than 24 hours after the sale or later than Google’s 54 day window, and an order Google never counted is left alone and says so. On by default; the details are on the Google Ads page.
- Found by the transaction id we actually sent
- Restated or removed, never resent as a new sale
- Every change in plain words on the order
- Switch it off on the Google card if you ever need to
What Google holds
₹2,499Conversion sent
2 Oct · 14:07
₹2,499 · transaction id 10482
Refund in the store
3 Oct · 10:15
₹600 back, for one item
Waits until 24 hours after the send
Google asks for at least a day
Told Google a partial refund: value now ₹1,899
3 Oct · 14:07
same transaction id, new value
Refunds & returns, on your own site.
Start a workspace and watch it work on your next order or lead, or let us walk you through it.
Inside the module
Inside Refunds & returns
Each order keeps one record of its money and its parcel, and every report and platform reads it.
Order states
Paid, partly refunded, refunded; shipped, delivered or on its way back
Shipping partners
Shiprocket, Delhivery, ClickPost, or any partner on the generic hook
When a sale counts
At placement, cash on delivery once delivered, or every order once delivered
Google adjustments
Restated on a partial refund, removed on a full one, on by default
Signals for Meta
RefundedPurchase, PartialRefund, OrderCancelled and OrderReturned, when switched on
Order triggers
Delivery failed, RTO, returned, refunded and cancelled, each its own trigger
Every morning the orders are checked against themselves: a fully refunded order still marked paid, or a parcel both delivered and returned, is caught before it reaches a report.
Where this sits
One of the four steps an order goes through.
Every feature reads the same identity. Open any of them; each has its own page.
1Capture
Every visit, on your own domain.
2Understand
First click to delivered order.
3Send back
Real revenue back to the ads.
4Act
Turn it into the next sale.
Stop counting sales that came back
Refused at the door.Out of your ROAS the same day.
Connect the store and your shipping partner, and the next parcel that turns back leaves revenue the moment it does.