UCP
Lesson 4 of 4
Advanced15 min

UCP Structured Data Implementation

Master the Schema.org markup required for Universal Commerce Protocol compliance. Learn how to implement Product, Offer, and BuyAction structured data for AI-enabled commerce.

Key Takeaways

  • Required UCP Schema.org properties
  • Complete JSON-LD templates for products
  • How to implement BuyAction for purchase enablement
  • shippingDetails and returnPolicy configuration

What is UCP?

The Universal Commerce Protocol (UCP) is Google's framework enabling "instant sales" and "agentic actions" directly within AI surfaces like Gemini and Search. When properly implemented, AI agents can read your product data and facilitate purchases without users leaving the AI interface.

UCP Opportunity: When GoogleAgent-Mariner helps a user shop, it needs to verify your price, availability, shipping, and return policy in real-time. UCP-compliant structured data makes this possible.

Required UCP Properties

Essential Schema.org Properties:

  • price - Current price (required)
  • priceCurrency - Currency code like USD, EUR (required)
  • availability - Stock status like InStock, OutOfStock (required)
  • shippingDetails - Delivery time and costs (required)
  • hasMerchantReturnPolicy - Return terms (required)
  • potentialAction.BuyAction - Purchase endpoint (required for Buy button)

Complete UCP Product Schema

Below is a complete JSON-LD template implementing all required UCP properties. Customize with your actual product data.

Code
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Your Product Name",
  "description": "Product description for AI understanding",
  "sku": "PRODUCT-SKU-001",
  "brand": {
    "@type": "Brand",
    "name": "Your Brand"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://yoursite.com/product",
    "priceCurrency": "USD",
    "price": "99.00",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "name": "Your Company"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "0",
        "currency": "USD"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 1,
          "maxValue": 2,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 3,
          "maxValue": 5,
          "unitCode": "DAY"
        }
      }
    },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "US",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn"
    }
  },
  "potentialAction": {
    "@type": "BuyAction",
    "target": "https://yoursite.com/checkout?product=PRODUCT-SKU-001"
  }
}

The BuyAction: Enabling Purchases

The potentialAction.BuyAction property is what enables the "Buy" button in AI interfaces. Without it, agents can read your product data but cannot facilitate purchases.

BuyAction Configuration:

  • target: Direct URL to add-to-cart or checkout page
  • Include product identifier in URL for direct cart addition
  • Ensure target URL accepts GET requests
  • Test the URL manually to verify it works
  • Consider deep linking for mobile app commerce

Shipping Details Structure

AI agents use shippingDetails to compare your delivery proposition against competitors. Be specific and accurate—vague shipping data loses recommendations.

Shipping Properties:

  • shippingRate: Cost of shipping with currency
  • handlingTime: Days to prepare order for shipment
  • transitTime: Days in transit to customer
  • shippingDestination: Geographic areas served
  • Use "0" for free shipping to be competitive

Return Policy Configuration

The hasMerchantReturnPolicy property tells agents your return terms. Generous return policies often win recommendations for high-consideration purchases.

Return Policy Properties:

  • merchantReturnDays: Number of days for returns (30, 60, 90)
  • returnMethod: ReturnByMail, ReturnAtKiosk, ReturnInStore
  • returnFees: FreeReturn, ReturnShippingFees, RestockingFee
  • returnPolicyCategory: FiniteReturnWindow, UnlimitedWindow, NotPermitted
  • applicableCountry: Countries where policy applies

Competitive Advantage: AI agents compare return policies when making recommendations. "30-day free returns" often beats "14-day returns with restocking fee" in AI recommendations.

Practitioner assets

Turn this lesson into a repeatable GEO workflow

Use the checklist, sources, templates, and assessment prompts to move from theory to a client-ready diagnostic or implementation step.

UCP and Structured Data for Commerce Practitioner Checklist
  • highDefine the prompt set, user intent, market, persona or vertical scenario for this lesson.
  • highCapture current AI answer evidence with provider, date, excerpt, citations and competitor mentions.
  • highIdentify the likely root cause: content gap, authority gap, technical access, source inconsistency, review signal or policy risk.
  • mediumCreate the visible page, proof block, profile update, policy clarification or report artifact that resolves the gap.
  • mediumAssign owner, due date, expected impact and remeasurement window before calling the work complete.
Sources to verify and cite
Templates
  • UCP and Structured Data for Commerce Work Product TemplateA repeatable worksheet for applying UCP and Structured Data for Commerce to a real brand or client account.
  • Before/After Answer ProofA reporting format for showing how AI answer quality changed after the improvement shipped.
Knowledge check ready

This lesson includes 5 assessment questions to reinforce the concepts before you apply them to a real GEO audit.

Question 1 of 5
Test Your Knowledge
Answer these questions to check your understanding of this lesson

What does "Value Exchange" mean in bot management?

Track Progress