Universal Commerce Protocol (UCP): what Merchant Center needs for checkout
The Universal Commerce Protocol (UCP) is the open standard Google uses for purchases on its AI surfaces, AI Mode in Search and the Gemini app. A merchant either takes the whole checkout on Google or receives the cart and finishes the sale on its own site, and Google has to approve the integration first. On the Merchant Center side it needs an account in good standing with approved free listings, a return policy, customer support details, and a product attribute, native_commerce(checkout_eligibility), set to TRUE on every product that may be bought this way. Google lists product types that cannot use it.
What this comes down to
- UCP covers purchases on AI Mode in Search and Gemini, through either a native checkout on Google or a cart handed to your site.
- Google must approve the integration after you join its waitlist, and the Merchant Center account must be in good standing with approved free listings.
- A product opts in with native_commerce(checkout_eligibility) set to TRUE; missing or FALSE means it is not eligible.
- Google lists products that cannot use checkout, including subscriptions, pre-orders, used items, personalized goods, alcohol and tobacco.
- Google recommends sending the UCP attributes in a supplemental data source so the primary feed is not put at risk.
What UCP is
Google’s developer guide describes UCP as the way to enable transactions directly on its AI surfaces: AI Mode in Google Search and the Gemini app. Discovery still runs on the product data in Merchant Center; UCP adds the part where a shopper pays.
There are two ways to connect:
- Native checkout. The whole purchase happens on Google. This path also needs a Google Pay payment handler and order updates pushed back after the sale.
- Cart. Google passes the shopper’s cart to your website, where the purchase finishes.
Neither starts with code. Google asks merchants to prepare Merchant Center first, then join a waitlist, and it approves each integration before it goes live. Google also calls UCP an evolving standard whose features are not all available on its surfaces yet, so the developer guide is the place to check what is supported today.
Eligibility is opt-in per product: a product with no checkout_eligibility value is treated as FALSE.
The Merchant Center settings it needs
- An account in good standing with products approved for free listings.
- A return policy with the return cost, the return window and a link to the full policy. Google shows it on the checkout screen. It can be set for the account, narrowed to some products with
return_policy_label, or sent per product with thereturnsattribute. On an advanced account it has to be set on each sub-account. - Customer support details: at least one of a support website, an email address or a phone number. Google uses it for the “Contact Merchant” link on the order confirmation.
These overlap with what Google asks of every store. The misrepresentation guide covers the same contact and return details from the policy side.
The three feed attributes
| Attribute | What it does |
|---|---|
native_commerce(checkout_eligibility) | One boolean. TRUE opts the product in; FALSE or missing keeps it out. An existing native_commerce value is still read as the same thing. |
consumer_notice | A warning shown on the checkout screen: a notice_type of legal_disclaimer, safety_warning or prop_65, and a notice_message of up to 1,000 characters. Repeat it for each notice. |
merchant_item_id | Only needed when the feed id differs from the ID your checkout API expects. When set, it takes precedence over id. |
Google calls the consumer notice mandatory for items with regulatory warning requirements, such as California Proposition 65. The message accepts <b>, <br>, <i> and <a href>; in a text feed, Google asks for the link’s colon to be escaped as http\:// to avoid attribute validation errors.
A supplemental file in the tab-separated form Google shows:
id native_commerce(checkout_eligibility) consumer_notice
MUG-350-BLUE TRUE
DRESS-LIN-S-GRN TRUE
GIFT-ENGRAVED-01 FALSE Google recommends a supplemental data source for these, because a formatting mistake in the primary feed can affect normal product ingestion. The same file can carry other overrides, such as a corrected google_product_category.
Products that cannot use checkout
Google lists these as ineligible, to be left empty or set to FALSE:
- Recurring or financed: subscriptions, merchant-mandated installment plans.
- Custom or special fulfillment: personalized goods, used, refurbished and final-sale items, pre-orders, items bundled with services such as installation, freight and other special shipping, gifting with hidden prices, and products activated in store.
- Policy and safety: age-restricted items such as alcohol and tobacco, and anything Google Shopping policy blocks, including weapons, adult content, healthcare and pharmaceuticals, and counterfeits.
- Digital goods and services: lessons and other services, rentals, virtual items such as in-game currency, and goods that need specific software installed before purchase.
A starting filter from data you already have
Several of those restrictions already show up in standard feed fields. The table below is this site’s own starting point for deciding which rows to set to FALSE, not a rule Google publishes. It narrows the review; it does not replace it.
| Restriction | Feed signal to filter on |
|---|---|
| Subscriptions | subscription_cost is set |
| Installments | installment is set |
| Used or refurbished | condition is used or refurbished |
| Pre-order | availability is preorder |
| Alcohol | google_product_category 499676 (Alcoholic Beverages) or below |
| Tobacco | 435 (Tobacco Products) or below, which includes e-cigarettes |
| Adult content and weapons | 772 (Mature) or below, which includes 780 (Weapons); also 220 (Collectible Weapons) |
| Pharmaceuticals and healthcare | 518 (Medicine & Drugs) and 2496 (Business & Industrial > Medical) |
| Virtual items | 5032 (Digital Goods & Currency) or below |
“Or below” means the ID and every category under it, which is why the filter only works when each product carries a specific, correct category. A wine filed under a generic “Food, Beverages & Tobacco” passes straight through. The taxonomy download lists every ID with its parent, so the subtrees can be expanded in a spreadsheet, and the Bulk Mapper fills the category for products that have none.
Personalized goods, final sale, freight, gifting, services, rentals and in-store activation have no standard attribute. Those need your own product knowledge.
What changes on your side
You stay the merchant of record, which is why the return policy and support details are requirements. Google’s FAQ adds two operational points. Requests from Google’s agents can be identified by a UCP-Agent header and a User-Agent starting with Google/UCP, which is worth knowing before a firewall or bot rule blocks them. Stock checks and address validation stay with you: when an item cannot be sold, your checkout API answers with an out_of_stock error code.
OpenAI runs a separate protocol for ChatGPT. The ACP and UCP comparison sets the two side by side.
Questions
What is the Universal Commerce Protocol?
An open standard that Google uses for purchases on its AI surfaces, AI Mode in Search and the Gemini app. Merchants either handle the full checkout on Google or receive the shopper’s cart and finish the sale on their own site.
How do I make a product eligible for checkout in AI Mode?
Set native_commerce(checkout_eligibility) to TRUE for that product, ideally in a supplemental data source. The default is FALSE. The account also needs Google’s approval for the integration, a return policy and customer support details.
Which products cannot use UCP checkout?
Google lists subscriptions, installments, personalized goods, used, refurbished and final-sale items, pre-orders, bundled services, special shipping, gifting, in-store activation, age-restricted items, prohibited content, services, rentals, virtual items and goods that need specific software installed.
Do I need a consumer_notice on every product?
No. Google calls it mandatory for items with regulatory warning requirements, such as California Proposition 65. Each notice has a type and a message of up to 1,000 characters.
Read next
ACP vs UCP: OpenAI’s and Google’s agentic commerce protocols compared
ACP and UCP compared: where each one sells, how product data reaches it, who can get access today, and which parts of the work carry over between them.
Google Merchant Center misrepresentation: what it covers and how to fix it
Why Merchant Center suspends for misrepresentation, which breaches come with no warning, and the store checks Google names before you request a review.
How to override Google's automatic product category with a supplemental feed
What a supplemental feed can and cannot change, when Google accepts a category override, and the exact two columns to submit in the file.