Key takeaways
- Roughly 3-5% of COD buyers are habitual refusers who never really intend to pay on delivery.
- One store alone cannot see the pattern - the same phone RTOs at ten different brands.
- A cross-store network hashes the phone number and checks if it has refused parcels elsewhere.
- A high-risk flag should not auto-cancel; it should force prepaid or add a small friction step.
- Hashing keeps the actual number private - stores share a fingerprint, never the plaintext phone.
Every D2C founder in India has met this order. COD, tier-2 pincode, cart value around 899, address that reads fine, phone that looks normal. You ship it via Delhivery. Eight days later it comes back RTO. You eat the forward freight, the return freight, the packaging, and the dead inventory time. You shrug and call it the cost of doing COD.
Now imagine that same phone number did the exact same thing at four other brands last month. You had no way to know. That is the blind spot this article is about - the serial returner, the buyer who habitually places COD orders and refuses them at the door, jumping between stores so no single brand ever sees the full pattern.
Who is actually a serial returner
Let me be precise, because the label gets thrown around loosely. A serial returner is not the genuine customer who returned one kurta because the size was wrong - that person is fine, that person is your future repeat buyer. Confusing the two is the fastest way to insult good customers and tank conversion. The serial returner is a behaviour pattern, not a one-off event: multiple COD orders, high doorstep refusal (before the parcel is even opened, not a post-delivery return), spread across unrelated stores, often the same tier-2 or tier-3 pincode band.
- Places COD almost every time, rarely prepaid or UPI upfront.
- Refuses on delivery - courier marks it consignee-not-available or refused, not damaged.
- Pattern repeats across brands that have no connection to each other.
- Cart values sit in the impulse zone, roughly 500 to 1500.
- Often re-orders the same SKU after refusing it - window shopping with your money as collateral.
Some of these people are testing whether a cheaper price shows up later. Some order in a mood and change their mind by delivery day. A small hardcore group treats COD as a free reservation with zero commitment. Your P&L cannot tell the difference between the honest change-of-mind and the habitual refuser - both cost you the round-trip freight. If you have not put a rupee figure on that yet, read our breakdown of the true cost of RTO first, because it changes how you feel about every line below.
Why a single store is blind
Your Shopify store only sees your own orders. If a phone number has RTO'd once with you, your dashboard can flag it - fine. But most serial returners are careful enough to hit each brand only once or twice, so to you they look like a first-time buyer with a clean slate. The whole strategy depends on brands not talking to each other. It is the ecommerce version of a person who bounces a cheque at ten shops across ten markets - each shopkeeper sees a stranger, nobody sees the pattern. The only way to close the gap is a shared signal across stores. Not shared customer data - a shared risk signal. That distinction is the entire ballgame, and it is where privacy either gets respected or thrown out the window.
How a cross-store hashed-phone network works
The mechanism is simpler than it sounds. When an order comes in, the buyer's phone number is passed through a one-way hash - a fixed mathematical fingerprint. The same number always produces the same fingerprint, but you cannot reverse the fingerprint back into the number. Stores share and query these fingerprints, never the actual 10-digit phone. When a fingerprint accumulates RTO events across multiple stores, it earns a risk weight, and a brand-new checkout can quietly ask one question: has this fingerprint refused parcels elsewhere? If yes, you get a flag before you ship - not a name, not a history, just a risk level. This is the backbone of a cross-store identity network. Kwikfy runs it on hashed phone identity, plugged straight into the same engine that does RTO risk scoring on orders, where the cross-store signal is one input among several - pincode history, cart behaviour, address completeness - not a lone verdict.
What the flag should actually do
This is where most brands overreact. A high-risk flag is not a cancel button. Cancelling a real customer over a network signal is a self-inflicted wound. The right response is graduated friction that costs an honest buyer almost nothing and costs a refuser their entire strategy.
| Risk signal | Sensible action | Why it works |
|---|---|---|
| Clean fingerprint, no history | Ship COD normally | Zero friction for the 95% who are genuine |
| 1 prior RTO elsewhere | Soft nudge to prepaid, small COD fee | Mild, reversible, honest buyers still convert |
| 2-3 priors across stores | Force prepaid or offer partial COD | The refuser loses the free-reservation option |
| Heavy repeat refuser | Prepaid only, or hold for manual review | You stop subsidising a known pattern |
The quiet genius of forcing prepaid is that it does not accuse anyone. The buyer who genuinely wants the product just pays by UPI in eight seconds and moves on - and prepaid buyers RTO at a fraction of the COD rate anyway. The serial returner, whose whole game depends on not paying upfront, silently disappears. You never had to call them a fraud. Our COD-to-prepaid conversion guide has the exact nudge copy that keeps conversion healthy while doing this.
Partial COD is the underrated middle path. Take a small advance - say 20% by UPI - and collect the rest on delivery. A refuser will not pay even 100 rupees upfront for something they never meant to keep, so the advance itself becomes the filter. See partial COD explained for how to set the split without scaring first-timers.
False positives - the part nobody talks about honestly
I will not pretend this is clean. Cross-store risk flagging has a real failure mode: the honest buyer who shares a phone. Joint-family numbers, a shop counter number used by many walk-ins, a number recycled by the telecom after 90 days and reassigned to a new person - any of these can carry someone else's RTO baggage. So build for the false positive from day one, with a few rules I would treat as non-negotiable.
- Never fully block on a network flag alone - the worst outcome is refusing a real sale over a shared number.
- Always leave a prepaid path open, so a flagged-but-genuine buyer can still complete the purchase.
- Decay old signals - an RTO from 14 months ago should weigh far less than one from last week, and reassigned numbers age out on their own.
- Show the buyer no scary message - just present prepaid as the option, no accusation, no friction language.
- Sample your own flagged-then-converted orders every month to sanity-check the false-positive rate.
Where this sits in a full RTO stack
Serial-returner detection is one layer, not the whole defence - the cross-store early-warning radar sitting on top of your own first-party controls. Address quality checks, pincode-level RTO history, and OTP verification all still matter; this layer just adds the one thing you could never see alone. Pair it with a proper RTO reduction playbook and tightened COD fraud detection, and the flags stop being isolated alerts and start being a coherent gate: address validation, then risk scoring, then the cross-store check, and only the genuinely risky ones hit friction. If you are just starting, our note on how to reduce RTO on COD orders in India is the gentler on-ramp.
Two honest limits so you set expectations right. This works best at scale - a network of ten stores sees far less than one of a thousand, so early on plenty of refusers slip through simply because they have not been recorded anywhere yet. And it cannot catch the first-time refuser by definition; a genuinely clean fingerprint that refuses its very first parcel is invisible to any network - that is what your own address and pincode heuristics are for. Courier data is messy too: a parcel marked refused might really have been a failed attempt because nobody was home when Ekart or XpressBees came by. Weight the signal, do not treat it as gospel. My honest take after watching this play out across brands: the win is not catching every refuser. It is that forcing prepaid on the flagged 3-5% quietly removes most of your RTO cost without touching the 95% who are perfectly good customers. A scalpel, used well - not a hammer.
Stop shipping to serial returners blind
Kwikfy checks every COD order against a hashed cross-store RTO network and forces prepaid on repeat refusers - before the parcel ever leaves your warehouse.
Start Free →