Should a store let AI shopping agents apply discount codes?
An AI shopping agent will try every coupon it knows before it completes a purchase, and it tries them faster than any human ever could. That is good for the shopper and risky for margin. The answer is not a blanket yes or no. It is a policy: which codes agents may use, how many attempts they get, and a log of every application.
Agents are coupon hunters by design
A shopping agent's job is to get the best price for its user. It will search coupon databases, test codes at checkout, and stack promotions according to the rules it can infer. Humans do this too, but slowly and with friction. Agents do it in seconds, every session, for every cart. If your store has a leaked or over-broad code floating around, agents will find it and use it at a volume no human coupon hunter could match. Margin that leaked slowly through human use can drain fast through agent use.
Separate public codes from private ones
The policy starts with classification. Public codes, the ones on your homepage banner or in your welcome email, are meant to be used. Agents applying them is fine and expected. Private codes are different: affiliate codes tied to a partner's commission, single-use win-back codes, employee codes, and codes shared in a specific context like a podcast or event. These are the ones agents will pick up from public coupon databases and apply without the context that was supposed to limit them. Audit your active codes now and decide which class each one belongs to. Retire anything private that has leaked beyond its intended audience.
Rate-limit coupon attempts per session
Whether or not you welcome agent coupon use, cap the attempts. A small number of tries per checkout session, three is a common starting point, stops brute-force guessing while barely affecting legitimate shoppers. Most real customers try one or two codes. An agent cycling through dozens is either testing leaked codes or probing for a misconfiguration. The rate limit is cheap insurance: it costs nothing to run and turns an unbounded problem into a bounded one.
Log every code application, agent or human
Your order records should show which code was applied, when, and by which session, with agent sessions flagged as such. When margin analysis happens, the question will be how much of the discount spend went to agent-applied codes versus human ones. Without the log, you cannot answer it. With it, you can see patterns: a specific code spiking through agent sessions, a leaked private code being applied at scale, or a stacking combination nobody intended. The log also feeds the policy. If agent coupon use is modest and comes from public codes, there is nothing to fix. If it is concentrated and expensive, you have the evidence to act.
Decide what stacking you allow
Coupon stacking is where the surprises live. An agent that combines a sitewide sale, a loyalty reward, and a leaked private code can push an order to a price you never intended to offer. Define the stacking rules explicitly: one code per order, or codes that combine only with sale prices, and make the checkout enforce them. Test the combinations the way an agent would, systematically, not the way a human would, trying the obvious two. If the rules live only in marketing copy and not in checkout logic, agents will treat them as optional.
The honest answer
Letting agents use public discount codes is good commerce. The risk is not agents using coupons, it is agents using codes you never meant to be public, at a speed and scale that turns a leak into a loss. Classify your codes, limit the attempts, log the applications, and enforce stacking in code. Then agent coupon use is just another channel with known economics, not a surprise in the monthly margin report.