In beta, with limited placesOpen to everyone in Q1 2027

↑↓ to move · Enter to open · Esc to close

Agentic commerce

What are coupons for AI agents?

Coupons for agents are the discount codes and promotions an AI agent applies when it buys on behalf of a person. They are not a standard of their own: agentic commerce protocols such as ACP and UCP treat them as a checkout extension, in which the agent sends the code and the store decides whether to accept it and, if not, why.

Written by
Reviewed by
Published 8 min read
Takeaway:

Key takeaways

  • There is no coupon standard for agents: what exists are discount extensions inside the purchase protocols.
  • In ACP and UCP, the agent sends codes in discounts.codes and the store responds with the ones applied and the ones rejected, each with its reason.
  • Automatic discounts, with no code, also travel in the response; in UCP the agent cannot remove them.
  • AP2 does not define discounts: it makes the store responsible for the integrity of its prices and discounts.
  • Creating, distributing and validating coupons falls outside these protocols: the rules remain the store's.

Coupons for agents is not a new category of coupons or a browser extension that hunts for codes for you. It is the question of what happens to the "Do you have a discount code?" field when the buyer is an AI agent and not a person. The short answer: there is no standard with that name. What exists are discount extensions inside agentic commerce protocols, which turn the code into a piece of data in the purchase request and require the store to answer whether it accepts it and, if not, why. It matters to a store because a code rejected silently is a purchase the agent cannot explain to its customer.

What the protocols say

ACP: a checkout extension

The ACP (Agentic Commerce Protocol) already had basic support: a coupons field in requests and the discount detail on each order line. On top of that, its Discount Extension, dated 2026-01-27 and marked as a draft, is the first extension of the ACP's extension framework.⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27) It arrived with the January 30, 2026 version of the specification, as an optional piece that each implementation adopts when it wants to,⁠[2]Agentic Commerce Protocol, specification repository (GitHub). Version 2026-01-30 (changelog) and it carries on in the April 17, 2026 stable version.⁠[3]Agentic Commerce Protocol, specification repository (GitHub). Discount Extension Examples (version 2026-04-17)

What it defines:⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27)

  • The agent sends the codes in discounts.codes. Each submission replaces the previous ones, an empty array removes them all and the store compares them case-insensitively. The old coupons stays as a deprecated alias.
  • The store responds with what was applied: each discount with its coupon (name, percentage or fixed amount), the amount discounted and, if needed, how it is split across the order lines and in what order it stacks with others.
  • Automatic discounts, the ones the store applies without a code, appear in the same list.
  • Rejected codes appear separately, with a reason from a closed list, and the store should also warn in the session messages with type warning, so the user knows they will not get the discount they expected.

There are eight rejection reasons: code expired, not valid, already applied, not combinable with another active discount, minimum purchase not met, user not signed in, user not eligible and usage limit reached.⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27) And the specification itself leaves out the APIs to create and manage discounts, the coupon validation rules and loyalty point redemption.⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27)

A change is in the works, with no published version yet: a field for the agent to say which feed it took the price it showed the buyer from, so the store can honor the catalog price. The policy on when to honor it is the seller's to decide, not the protocol's.⁠[4]Agentic Commerce Protocol, specification repository (GitHub). Suggested Pricing on Checkout Create (unreleased change)

UCP: the same scheme, with automatic discounts that can't be touched

The UCP (Universal Commerce Protocol) has its own extension, dev.ucp.shopping.discount, in the August 25, 2026 version of the specification. It lets you send one or several codes, receive the applied discounts with a readable title and amount, and learn about rejected ones through the session messages, with error codes such as expired, not valid or not combinable. It depends on the cart capability, the checkout capability, or both. Automatic discounts appear marked as such, without a code, and the platform cannot remove them. And it makes clear who is in charge: the store decides whether a code is valid, by its own rules.⁠[5]Universal Commerce Protocol. Discounts Extension (dev.ucp.shopping.discount, version 2026-08-25)

Google, in its guide to connecting UCP with Google AI Mode and Gemini, asks the store to declare that capability in its profile in order to receive codes, to report invalid codes as warnings in the messages instead of rejecting the entire request, and to record discounts in the totals as negative values while the amounts in the applied list stay positive.⁠[6]Google for Developers, UCP in Merchant Center. Promo codes and discounts implementation

AP2: the discount is the store's business

AP2 (Agent Payments Protocol) does not define coupons. In its division of roles, the store is responsible for the integrity of inventory, prices and any discount of its own.⁠[7]AP2, official protocol site. Agent Payments Protocol Specification (v0.2) When the agent buys without the person present, with delegated payments, the store also has to check that the final order meets all the conditions the person signed off on in advance.⁠[7]AP2, official protocol site. Agent Payments Protocol Specification (v0.2) A discount that changes the order enters that check like any other change.

And before paying: promotions in the feed

In the ChatGPT product feed, a markdown is declared with sale_price, which has to be greater than zero, lower than the regular price and in the same currency. You can add the period with sale_price_effective_date, but OpenAI warns that this date does not schedule the markdown: you have to update the feed when it starts and when it ends.⁠[8]OpenAI Developers. Products (feed specification, Agentic Commerce) On Google, Google Merchant Center promotions predate agents: they show in Google Search, the Shopping tab, Chrome and other surfaces, the United States is among the supported countries, and they have to be redeemable at checkout, last at most 183 days and discount at least $5 or 5%. Its help page does not mention AI Mode.⁠[9]Google Merchant Center Help. Get started with promotions

In a store

A fictional example store that supports the ACP discount extension. The agent sends two codes when creating the checkout session; one is valid and the other expired. Amounts are in cents, as the specification requires:⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27)⁠[3]Agentic Commerce Protocol, specification repository (GitHub). Discount Extension Examples (version 2026-04-17)

{
  "request": {
    "line_items": [{ "id": "stovetop-espresso-6", "quantity": 1 }],
    "currency": "usd",
    "discounts": { "codes": ["FALL10", "SUMMER25"] }
  },
  "response": {
    "discounts": {
      "codes": ["FALL10", "SUMMER25"],
      "applied": [
        {
          "id": "di_fall10",
          "code": "FALL10",
          "coupon": { "id": "cp_fall10", "name": "10% off in fall", "percent_off": 10 },
          "amount": 399
        }
      ],
      "rejected": [
        {
          "code": "SUMMER25",
          "reason": "discount_code_expired",
          "message": "Code SUMMER25 expired on September 30."
        }
      ]
    },
    "messages": [
      {
        "type": "warning",
        "code": "discount_code_expired",
        "param": "$.discounts.codes[1]",
        "content_type": "plain",
        "content": "Code SUMMER25 expired on September 30."
      }
    ]
  }
}

What the agent can tell its customer comes from there: 10% was applied, the second code was not, because it expired, and with a date. Without the rejected block and the warning, the agent would only see a total higher than it expected.

Warning:

What people often get wrong

Believing that putting dates on a markdown in the feed turns it on and off by itself. In OpenAI's feed, sale_price_effective_date is accepted as data, but it does not schedule the markdown: if you don't update the feed when the promotion ends, the agent keeps seeing the discounted price.⁠[8]OpenAI Developers. Products (feed specification, Agentic Commerce) And then, at checkout, the store may not honor it.

How to check it

  1. Ask your platform or payments provider whether their ACP or UCP implementation declares the discount extension. In the ACP it appears in the extensions of the checkout response;⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27) in the UCP, as dev.ucp.shopping.discount in the profile.⁠[5]Universal Commerce Protocol. Discounts Extension (dev.ucp.shopping.discount, version 2026-08-25)
  2. If you have a UCP profile, open it at https://your-domain/.well-known/ucp and look for that capability. Without it, Google does not send you codes.⁠[6]Google for Developers, UCP in Merchant Center. Promo codes and discounts implementation
  3. Test your tricky codes: an expired one, one with a minimum purchase and one that can't be combined. Each rejection should come back with its reason, not as a generic error.⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27)
  4. Review your feed when each promotion ends: the discounted price has to disappear when it is over.⁠[8]OpenAI Developers. Products (feed specification, Agentic Commerce)
  5. If you use Merchant Center promotions, check that they meet its duration and minimum discount requirements.⁠[9]Google Merchant Center Help. Get started with promotions

Agentic checkout is the payment stage when an agent does it, and coupons live inside it: in the ACP and the UCP, the discount is an extension of the checkout session, not a separate protocol.⁠[1]Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27)⁠[5]Universal Commerce Protocol. Discounts Extension (dev.ucp.shopping.discount, version 2026-08-25) Before payment, what the agent knows about a markdown is what your feed says; that belongs to AI product discovery. And who decides to use a code, the agent alone or the person, depends on whether the agent is autonomous or assisted.

To go further, the agentic commerce reading path orders the protocols that take an agent from catalog to payment.

Synonyms

English
agentic coupons, AI agent discount codes
Español
cupones agénticos, descuentos para agentes

Sources

  1. [1] Agentic Commerce Protocol, specification repository (OpenAI and Stripe, GitHub). RFC: Discount Extension (version 2026-01-27). Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
  2. [2] Agentic Commerce Protocol, specification repository (GitHub). Version 2026-01-30 (changelog). Accessed . ↑
  3. [3] Agentic Commerce Protocol, specification repository (GitHub). Discount Extension Examples (version 2026-04-17). Accessed . ↑ ↑
  4. [4] Agentic Commerce Protocol, specification repository (GitHub). Suggested Pricing on Checkout Create (unreleased change). Accessed . ↑
  5. [5] Universal Commerce Protocol. Discounts Extension (dev.ucp.shopping.discount, version 2026-08-25). Accessed . ↑ ↑ ↑
  6. [6] Google for Developers, UCP in Merchant Center. Promo codes and discounts implementation. Accessed . ↑ ↑
  7. [7] AP2, official protocol site. Agent Payments Protocol Specification (v0.2). Accessed . ↑ ↑
  8. [8] OpenAI Developers. Products (feed specification, Agentic Commerce). Accessed . ↑ ↑ ↑
  9. [9] Google Merchant Center Help. Get started with promotions. Accessed . ↑ ↑

Change history

  • First English version.

This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.

Make your catalog easy for bots to read

Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.