Back to Blog
Tips & StrategiesSeptember 29, 20266 min read

When a Shopper's AI Agent Asks for a Discount: Why Single-Use Offers Beat Public Codes

Shopify now lets browser AI agents apply discount codes at checkout. Here's why a public code becomes your real price, and what to do about it.

Shop owner at a wooden desk holding a handwritten price tag and looking at a generic checkout screen, with a second laptop showing an order confirmation

The Agent Can Now Reach the Discount Field

On September 28, Shopify announced that browser-based AI agents can now complete purchases on merchants' sites. Previously, agents could search products and fill a cart. Now they can read the checkout, change it, and place the order once the buyer authorizes it.

Per Search Engine Journal's breakdown, the new update_checkout tool can change contact details, shipping or pickup, discount codes, payment, and extra fields. Agents can't change the items in the order, and Shopify's docs tell them to show the buyer the order and total and get permission before placing it. The tools work on eligible checkouts without any merchant setup.

That last detail is the one worth sitting with. If you run a public code like WELCOME15, an agent acting for a shopper has a direct way to try it. This post is about what that changes for discounting, and why the answer isn't "stop discounting."

Agents Are Bad at Finding Codes (For Now)

You might assume this is a non-issue because chatbots are famously unreliable at finding working codes. Coupons.com tested ChatGPT, Gemini and Claude on 101 US retailers and found that only 24.5% of the codes the three tools returned were valid. Across 689 suggested codes, Gemini's working rate was 38.6%, ChatGPT's 20.2% and Claude's 20%.

Two caveats. This is a study by a coupon site with an obvious interest in the result, and it tested general chatbots answering a search-style question, not an agent sitting in a live checkout. Its own methodology also excluded codes it couldn't conclusively test, such as single-use ones.

So the finding isn't "agents can't use codes." It's narrower: agents that guess codes from the open web do badly. An agent that is simply handed a code, or one that is offered a price directly by a store, doesn't have that problem.

Why a Public Code Quietly Becomes Your Price

We've written before about the hidden cost of blanket discounts and coupon fatigue. The dynamic is the same, only faster:

  • A code that works for one agent works for all of them. Once a reusable code is anywhere an agent can find it, "the discount for new customers" is just the price.
  • Shoppers won't pay for the privilege of looking. A human might not bother pasting codes from a coupon page. An agent can try them in seconds.
  • You can't tell who earned it. A reusable code gives the same cut to someone who would have paid full price and someone who needed a nudge.

Merchants already feel the human version of this. One r/ShopifyeCommerce thread is titled "Customers only buy when I offer a discount", and another in r/shopify is about a private discount code that was never published but still got used by strangers. We haven't scraped those threads (Reddit blocks that), so we're pointing to the titles only. They are a reasonable sketch of the problem, not data.

Agents Negotiating Is the Direction of Travel

Shopify's own September 25 explainer on agentic commerce says McKinsey anticipates a near future in which agents "negotiate prices between a shopper's agent and a retailer's agent." The same post reports that AI-driven traffic to Shopify stores grew 197% year over year in the second quarter of 2026.

Nobody should claim this is mainstream commerce today. The Shopify post itself says the technology "still has room to mature." But the shape is clear: more of the "can I get a better price?" step will happen between software, and merchants who have no rules for that step will end up with rules written by someone else.

What a Merchant-Controlled Offer Looks Like

The alternative to a standing public code is one where you decide, in advance, what you'd accept, and a discount only exists after someone has asked for one. That is how Lury works for human shoppers, and the same properties matter for agent-assisted ones:

  1. The shopper (or their assistant) names a price. The listed price stays the same for everyone. Nothing is published that can be reused.
  2. Your rules decide. You set the floor; Lury accepts, counters or declines against it. The same numbers apply to every visitor.
  3. The code is one-use. In the Lury app, each accepted offer creates a Shopify discount code with a usage limit of one, applied to the specific variant, valid once per customer. See why single-use codes matter.
  4. It expires. Codes are valid for 24 hours, which keeps a stale price from circulating. More on that in the 24-hour window.

Notice what a code like that does if an agent applies it at checkout: it works exactly once, for exactly the item that was negotiated, and then it's gone. Nothing leaks, because there was never anything to leak.

What We Don't Know Yet

It's worth being straight about the limits.

  • Whether agents will interact with an offer widget. Lury's widget is built for human shoppers on your storefront. Whether browser agents will fill it in on a buyer's behalf is something we're watching, not something we can promise.
  • What Shopify exposes to merchants. As SEJ notes, Shopify's docs don't yet say whether merchants can switch off individual tools or separate agent-placed orders in reporting. Check the developer changelog before assuming either.
  • Coverage. Checkout WebMCP tools aren't available on every checkout. Shopify's standard three-page checkout gets them only when the buyer uses Shop Pay, and B2B, draft-order and embedded checkouts are excluded.
  • Real-world results. The sources we cite don't include data on agent-placed orders or conversion rates. Shopify's own test comparing WebMCP with browser automation used its test shops and a single model.

A Short Checklist Before Holiday Traffic

  1. List your reusable codes. Anything that never expires and isn't tied to a customer is effectively a permanent price cut.
  2. Retire what you can. Replace evergreen codes with ones that are single-use, time-limited, or tied to a product.
  3. Write down your floor. If you don't know the lowest price you'd take on each product, an agent (or a person) will find out by trial and error.
  4. Check stacking. Make sure a negotiated code can't be combined with a sitewide sale in a way you didn't intend, and test it at checkout. Our BFCM prep guide has more on getting ready for peak season.
  5. Keep your listed price honest. A uniform price with an opt-in negotiation is the cleanest posture, and the one we flagged in our FTC personalized pricing analysis.

The Bottom Line

Shopify has put the discount field within reach of software acting on a shopper's behalf. Public codes were already leaky; now they're also easy to try at scale. A price that exists only after it's been asked for, within limits you set, for one item, once, is a sturdier foundation than a code you hope nobody shares.

If you'd like to set that up before the holiday rush, install Lury on your Shopify store. There's a 14-day free trial, and the rules are yours to set.

L
Lury Team
September 29, 2026