/ / 6 min read

Machine customers are not bots

Deepanshu Pal

A machine customer buys for a person. A bot scrapes or attacks. Why stores need to tell them apart, and what that means for fraud and access.

Banner illustration for: Machine customers are not bots

For years, online retailers have treated automated traffic as a problem to block. Scrapers copy catalogs, credential stuffing attacks test passwords, and scalper bots empty inventory. The reflex to keep automation out is earned. It is also about to collide with a new kind of automated visitor that a store wants to serve.

Two different intents

A bot acts for itself or for someone who wants to take value from the store. A machine customer acts for a real buyer who wants to give the store money. The traffic can look similar: no browser history, fast requests, no mouse. The intent is opposite.

Why blocking everything fails

A store that blocks all automated visitors will also block the agents that would have bought from it. A store that allows all of them will invite abuse. Neither is good.

What a better line looks like

  • Agents that identify themselves and the person they act for.
  • Limits on what an agent may buy without a person approving.
  • Rate limits tuned for shopping, not for scraping.
  • Fraud checks that look at the purchase, not only at whether a human is present.

Signals that can tell them apart

Intent is invisible in a single request, so a store has to read it from several signals together. None of them is sufficient alone, and each one can be faked, which is why they work best in combination.

Declared identity. An agent that says what it is and who it acts for gives a store something to check. Declared identity does not prove good intent, but it gives the store a name to hold accountable.

Task shape. A shopping agent walks a path: search, product page, cart, checkout. A scraper reads thousands of product pages and never opens a cart. A scalper goes straight to the scarce item. The shape of the session says a lot about the goal.

Payment. A machine customer ends in a purchase that a real person authorized. That is something a store can verify through its payment provider, and a bot that wants to take value cannot easily fake it.

What each side needs

The three groups involved want different things from the line.

Merchants want to keep abuse out without turning away buyers. Agent builders want a predictable way to get through the front door, so that their agents do not get blocked by rules written for scrapers. Payment providers want proof that a purchase was authorized, and a clear record of who authorized it.

A line that works for one group and not the others will not hold. That is one reason we think it should be settled in the open, with results that all three can read.

Start with a distinction, not a policy

A store does not need a new policy tomorrow. The first step is to stop treating all automation as one thing. Split the traffic in your own mind and in your logs into taking value and giving it. Once the two are separate, rules for each are easier to write and easier to defend.

Questions that come up

Can a store just ask agents to register?

It can, and some may. Registration gives a store a name to hold accountable. It cannot be the only control, since a bad actor will not register.

Will limits on agents hurt sales?

A limit that asks for a person's approval above a set amount trades a little speed for a lot of trust. Whether the amount is right is something each store has to set for itself.

What about rate limits?

A shopping session looks different from a scraping run. Limits tuned to normal shopping, such as a few product pages and one cart, are less likely to block a real buyer than one blunt rule for all automated traffic.

An open problem

None of this is settled, and we do not think one party should decide it alone. It is the kind of question public benchmarks and open conformance tests can help with, because merchants, agent builders and payment providers each need to see the same results.

The next read / Manifesto

The machine customer.

Commerce has a new reader. What changes when that reader can buy?

Read the manifesto