# Shopify UCP quick-start: make your store agent-ready

- Canonical: https://ansezz.com/blog/shopify-ucp-quick-start/
- Markdown: https://ansezz.com/blog/shopify-ucp-quick-start/index.md
- Published: 2026-05-28
- Description: AI agents are becoming buyers, and they look for a UCP profile before they can check out. A quick-start to making your Shopify store agent-ready.
- Category: [shopify](https://ansezz.com/blog/category/shopify/)
- Tags: [shopify](https://ansezz.com/blog/tag/shopify/), [agentic-commerce](https://ansezz.com/blog/tag/agentic-commerce/), [ai](https://ansezz.com/blog/tag/ai/), [hydrogen](https://ansezz.com/blog/tag/hydrogen/), [agentic-ai](https://ansezz.com/blog/tag/agentic-ai/)

AI agents now shop for people inside ChatGPT, Google AI Mode, Gemini, Copilot and Meta. Before an agent can check out on your store, it reads one JSON file at `/.well-known/ucp`.

**TL;DR**

- The Universal Commerce Protocol (UCP) is an open standard, co-developed by Shopify and Google, that tells AI agents what your store sells and how to check out.
- On Shopify, agentic storefronts are on by default for eligible stores, and Shopify publishes your UCP profile for you. Check it under Sales channels > Agentic.
- Headless and custom stacks often break discovery by not passing `/.well-known/ucp` through, so open that URL and confirm you get JSON back.

Your store can be invisible to a fast-growing group of buyers: AI agents acting for shoppers.

If an agent can't find a machine-readable profile for your Shopify store, it can still mention your products, but it can't complete a purchase for the shopper.

### Built for agents with wallets

Traditional SEO was built for humans with eyeballs. UCP is built for agents with wallets.

The rollout is moving fast, and every new AI channel that adopts UCP can sell your products without a new integration. Here is how to make sure your store is ready.

## Why classic SEO falls short

For ten years we tuned meta tags and JSON-LD schema. That was enough when Google was a list of links. We've now moved into [agentic commerce on Shopify](/blog/agentic-commerce-shopify/).

### Three questions an agent asks

Agents don't browse your collections or look at hero banners. They want three answers:

1. What do you sell?
2. Can I buy it right now?
3. Which API do I call to check out?

If your site doesn't answer these in a standard way, the agent moves on to a store that does. Product schema tells an agent what a product _is_. UCP tells it how to _transact_.

| Layer               | Classic SEO and schema         | UCP profile                                  |
| :------------------ | :----------------------------- | :------------------------------------------- |
| **Audience**        | Search crawlers and humans     | AI shopping agents                           |
| **Describes**       | Pages and products             | Services, capabilities and payment handlers  |
| **Lives at**        | Page markup                    | `/.well-known/ucp`                           |
| **Lets the reader** | Rank and display products      | Build a cart and complete checkout           |

![Comic panel of a white shopping robot with a basket walking through a store door under a sign showing cart, card and checkmark icons, while a confused grey robot with a question mark stands by an empty shelf](/blog/shopify-ucp-quick-start/inline-1.webp)

*Agents buy where the profile tells them how.*

## What is the Universal Commerce Protocol?

UCP is an open standard co-developed by Shopify and Google. Shopify lists backers including Amazon, American Express, Etsy, Mastercard, Meta, Microsoft, Salesforce, Stripe, Target, Walmart and Visa.

It defines a handshake between a business and an AI agent, covering cart creation, checkout, payment and post-purchase.

### The profile at `/.well-known/ucp`

The core of the handshake is a JSON profile at `/.well-known/ucp`. When an agent reaches your domain, it fetches this file to learn what you support, then negotiates the capabilities you have in common.

The spec requires `version`, `services` and `payment_handlers` inside the `ucp` object, and `capabilities` is optional. Versions are dates; the latest stable release is 2026-08-25. Shopify's own Admin and Storefront APIs use dated versions too, released every quarter, and my [Shopify API version calendar](/tools/shopify-api-versions/) shows which ones are still supported.

Here is a trimmed version of the profile a live Shopify store serves today:

```json
{
  "ucp": {
    "version": "2026-08-25",
    "services": {
      "dev.ucp.shopping": [
        {
          "version": "2026-08-25",
          "transport": "mcp",
          "endpoint": "https://your-store.myshopify.com/api/ucp/mcp",
          "schema": "https://ucp.dev/2026-08-25/services/shopping/mcp.openrpc.json"
        }
      ]
    },
    "capabilities": {
      "dev.ucp.shopping.checkout": [
        {
          "version": "2026-08-25",
          "schema": "https://ucp.dev/2026-08-25/schemas/shopping/checkout.json"
        }
      ],
      "dev.ucp.shopping.cart": [{ "version": "2026-08-25" }],
      "dev.ucp.shopping.catalog.search": [{ "version": "2026-08-25" }]
    },
    "payment_handlers": {
      "dev.shopify.shop_pay": [{ "id": "shop_pay", "version": "2026-04-08" }],
      "com.google.pay": [{ "id": "gpay", "version": "2026-01-11" }]
    }
  }
}
```

The agent learns which capabilities you support and where to send each request. No scraping, and no guessing where the add-to-cart button is.

> If an agent can't read your checkout, it shops somewhere else.

## How to enable UCP on Shopify

On a standard Shopify or Shopify Plus store, you don't write this JSON by hand. Shopify generates and hosts the profile, and agentic storefronts are active by default for eligible stores.

### Check the Agentic channel

Open **Sales channels > Agentic** in your Shopify admin. **Allow Shopify to manage for me** is on by default. It shares your products through Shopify Catalog, turns on direct checkout where it's supported and enrolls you in new AI channels automatically.

Turn it off if you want to control Shopify Catalog access, direct checkout and auto-enrollment yourself, channel by channel. For Google AI Mode and Gemini, products also come through the Google & YouTube channel or Google Merchant Center.

### Headless stores

On Hydrogen or a custom frontend, your domain may not serve Shopify's profile at all. Make sure your edge or middleware passes `/.well-known/ucp` through to Shopify.

I often see agentic discovery break because Vercel or Netlify rewrites, or a catch-all route, swallow the `.well-known` directory and return the homepage instead.

**Catch-all route:** The headless app's catch-all route answers every path, so `/.well-known/ucp` returns the homepage HTML with a 200. The agent gets no profile.

**Pass-through rule:** A rewrite sends `/.well-known/ucp` to the store's myshopify domain before the catch-all runs, and the agent receives the JSON profile.

**Try this**

Open the Agentic channel in your Shopify admin and write down which AI channels are on, and whether direct checkout is active for each one. Decide on purpose whether you want "Allow Shopify to manage for me" left on.

## Why this matters now

Search is shifting from links to agents. Shopify's agentic storefronts already reach ChatGPT, Google AI Mode and Gemini, Microsoft Copilot and Meta, and when a new AI platform adopts UCP, Shopify stores are ready to sell there with no extra integration.

This sits next to the Model Context Protocol work covered in [MCP context-aware agents](/blog/mcp-context-aware-agents/). UCP even lists MCP as one of its transports, which is how the profile above exposes the shopping service.

### The black box problem

If your profile is missing, your store is a black box. An agent might see your products in a search index, but it can't fulfill "buy me the best hiking boots from a local store." It picks a store where it can confirm checkout right away.

![Comic panel of a frowning robot pushing against a sealed black box while a smiling cashier robot waves from the open doors of a bright shop next to it](/blog/shopify-ucp-quick-start/inline-2.webp)

*A missing profile makes your store a black box.*

## Auditing your implementation

Don't flip a switch and hope. Confirm the profile is reachable from outside.

### A two-minute check

1. Open a private browser window.
2. Go to `https://yourdomain.com/.well-known/ucp`.
3. You should see a raw JSON object with a `ucp` key.
4. If you get a 404, HTML or a redirect to your homepage, your theme, app or proxy is blocking the path.

Check `robots.txt` too, and make sure you aren't disallowing the `.well-known` directory.

### Custom backends

If a custom Laravel backend sits in front of your store, add an explicit route or proxy rule for this path. I often see middleware strip hidden directories for "security" reasons. Here, that rule only costs you sales.

**Try this**

Run `curl -s https://yourdomain.com/.well-known/ucp` from a terminal and pipe it into my [JSON formatter](/tools/json-formatter/). If the output is HTML or an error, fix the route before you touch anything else.

**Key takeaways**

- **Confirm agentic storefronts** under Sales channels > Agentic in your Shopify admin.
- **Verify `/.well-known/ucp`** returns valid JSON on your own domain, not only on myshopify.com.
- **Check the payment handlers** in the profile (for example Shop Pay and Google Pay) match what you expect.
- **Fix headless rewrites** so the `.well-known` path reaches Shopify.
- **Check your proxy configs** if you host custom middleware, for example on [Coolify Docker SaaS hosting](/blog/coolify-docker-saas-hosting/), so the path isn't dropped.

Commerce is moving from a web built for clicks to one built for agents, and UCP is the first real step toward making your store a first-class seller there. If your store is headless or runs custom middleware, [here's how I help Shopify brands get agent-ready](/services/).

Are you letting agents shop your store yet, or are you still building only for people who click?
