Native UCP availability varies by Shopify plan and region. If you don’t see an AI Commerce or Universal Commerce Protocol option in your Shopify Admin, use Option 2 (Checkout Kit) below.
Option 1: Native Shopify UCP
If UCP is available on your plan, this is the fastest path to going live:Enable UCP
Look for the AI Commerce or Universal Commerce Protocol section. Toggle UCP on and follow the setup wizard.
Verify endpoints
Shopify will automatically expose your product catalog and checkout endpoints. Confirm your store is working by running:Then run the Readiness Score to verify full UCP compliance.
Option 2: Custom manifest via Checkout Kit
Use this path if native UCP is unavailable or you need custom control over your catalog and checkout logic.Generate your manifest
Use the Manifest Generator or create the file manually:
/.well-known/ucp
Host the manifest
Shopify does not allow arbitrary files at the domain root, so you need to serve
/.well-known/ucp through a Shopify app route or a custom domain proxy.- Via a Shopify app
- Via Cloudflare Workers
Add a route handler to your Shopify app (Remix-based apps are common):
routes/well-known.ucp.js
Build your catalog endpoint using the Storefront API
Query Shopify’s Storefront API and transform the response to UCP format:
Build your checkout endpoint using Shopify Checkout Kit
Use Shopify’s Map the Shopify cart response to UCP checkout format, including the
cartCreate mutation to back your UCP checkout endpoint:checkout_id, subtotal, shipping_options, and expires_at.Validate your setup
Run the Asva readiness audit to confirm everything is correctly wired:Or use the browser tool: asva-ai.com/tools/readiness
Option 3: Headless Shopify
If you run a headless setup (Next.js + Shopify Hydrogen, or a similar combination), your own frontend domain hosts the/.well-known/ucp file. Follow the UCP getting started guide for endpoint setup, and use the Shopify Storefront API to back your catalog and checkout endpoints as shown in the Checkout Kit steps above.
Common issues
Native UCP option not visible in Admin
Native UCP option not visible in Admin
Native UCP is rolling out progressively by plan and region. If it is not visible in Settings → Checkout, use the Checkout Kit path (Option 2) above. Native availability is expected to expand in future Shopify releases.
/.well-known/ucp returns 404 on Shopify domain
/.well-known/ucp returns 404 on Shopify domain
Shopify blocks unknown paths at the domain root. You must serve the manifest via a Shopify app route or a Cloudflare Worker — you cannot place a static file at
/.well-known/ucp directly in Shopify’s file system. See Step 2 above for both options.Price showing as $1.29 instead of $129.00
Price showing as $1.29 instead of $129.00
Shopify returns prices as decimal strings (
"1.29"). If you pass this directly as amount, the agent interprets it as 1.29 cents. Always multiply by 100 and round to an integer: Math.round(parseFloat("129.99") * 100) → 12999.Variant availability is always in_stock
Variant availability is always in_stock
The Storefront API field
availableForSale reflects combined variant availability. Map it directly: v.availableForSale ? 'in_stock' : 'out_of_stock'. For real-time inventory counts, use the Admin API instead.Related
UCP getting started
Full quickstart for UCP on any stack.
Google Merchant Center
UCP implementation via Merchant Center for Google AI Mode.
Checkout and payments
Checkout flow, payment token handling, and error responses.
UCP capability discovery
Hosting and validating your /.well-known/ucp manifest.