Payments and usageAvailable with Expose
Fake orders. Real shipping.
Bots place cash-on-delivery orders with nothing paid up front. Label the session behind each order, hold the bot ones before they ship, and confirm the rest your way.
For Shopify shops that offer cash on delivery.
Where 10,000 COD orders went
- COD ordersCOD orders: 10,000
- From automated sessionsFrom automated sessions: 900
- Returned to originReturned to origin: 850
- Spent on bot returnsSpent on bot returns: ₹1,53,000Saved only when your workflow holds them before they ship.
Human 91%Bot 9%
Where money is affected
Every COD order ships before anyone pays.
A COD order costs nothing to place. You pack it and ship it, and when nobody pays at the door it comes back to origin. You pay shipping both ways, plus handling, for a sale that never existed.
Expose labels the session and writes the label to the cart, and Shopify carries it onto the order as _da_class. A Shopify Flow workflow can then hold fulfilment for bot orders. Checkout is never blocked; nothing changes until your workflow or your team acts.
The real picture
The same month, with the label on each order.
Illustrative example Hypothetical figures; your own numbers will differ.
Your numbers
What it could mean for you.
Replace the example with your own figures.
- Spent on bot returns a month
- ₹1,53,000
- Orders from automated sessions
- 900
- Bot orders returned to origin
- 850
Spent = orders × share automated × share returned × cost per return.
Illustrative example Your numbers, not a promise. Savings depend on the decisions you make with the evidence.
An example decision
One COD order, before it ships.
- Order
- #1047 · ₹1,299 · COD
- _da_class
- bot
- Flow
- Order created → hold fulfillment
- Outcome
- Held for review
Nothing is packed until someone looks. An order an agent placed for a real buyer is labelled agent, so it skips the hold and goes to your confirmation step.
How it fits
From evidence to a decision.
- 01
Add the snippet
Paste it into your Shopify theme. Carts get _da_class, _da_score and _da_agent.
- 02
Let it reach the order
Shopify copies cart attributes onto the order, where Flow can read them.
- 03
Build the workflow
Order created, _da_class is bot: hold fulfillment and tag the order for review.
- 04
Review the holds
Release real orders. Cancel the rest. Your call.
What your team can do
Act on it, your way.
Hold bot orders
Fulfilment waits until someone has looked.
Confirm agent orders
An agent may be buying for a real person. Confirm before you ship, your way.
Measure real RTO
Compare returns on orders labelled human and bot.
Before you start.
Does this block cash on delivery?
No. Checkout is never blocked. You decide what happens next: hold, confirm or ship.
What about agents ordering for a real person?
They are labelled agent, not bot, so a bot hold skips them. Confirm before you ship; don’t cancel.
Which platforms?
Shopify, with the theme snippet and Shopify Flow. On your own checkout, send a token with the order and verify it with @doubleagent-so/node; tokens need a public key.
Does a bot label prove fraud?
No. It is evidence about the session, and cart attributes can be set from the browser. Treat it as a reason to review. A missing label means the script did not run, not bot.
Available with Expose
See the real picture.
Shopify guideDouble Agent for e-commerceChargebacks and card testing