Buyer Consent Extension

Basic Information

  • Capability Name: dev.ucp.shopping.buyer_consent
  • Version: 2026-01-11
  • Official Specification: buyer-consent.md

Overview

The Buyer Consent extension enables platforms to transmit buyer consent choices to businesses regarding data usage and communication preferences.

When this extension is supported, the buyer object in checkout is extended with a consent field containing boolean consent states.

Consent Categories

CategoryDescription
analyticsAnalytics and data collection consent
preferencesPreferences settings consent
marketingMarketing communication consent
sale_of_dataData sale consent

Discovery

Businesses advertise consent support in their profile:

{
  "capabilities": [
    {
      "name": "dev.ucp.shopping.buyer_consent",
      "version": "2026-01-11",
      "extends": "dev.ucp.shopping.checkout"
    }
  ]
}

Schema Composition

The consent extension extends the buyer object within checkout:

  • Base schema extended: checkout via buyer object
  • Path: checkout.buyer.consent
  • Schema reference: buyer_consent.json

Usage

The platform includes consent within the buyer object in checkout operations.

Example: Create Checkout with Consent

POST /checkouts

{
  "line_items": [
    {
      "item": {
        "id": "prod_123",
        "title": "Blue T-Shirt",
        "price": 1999
      },
      "id": "li_1",
      "quantity": 1
    }
  ],
  "buyer": {
    "email": "[email protected]",
    "first_name": "Jane",
    "last_name": "Doe",
    "consent": {
      "analytics": true,
      "preferences": true,
      "marketing": false,
      "sale_of_data": false
    }
  }
}

Security & Privacy Considerations

  1. Consent is declarative - The protocol communicates consent, it does not enforce it
  2. Legal compliance remains the business’s responsibility
  3. Platforms should not assume consent without explicit user action
  4. Default behavior when consent is not provided is business-specific
  5. Consent states should align with actual user choices, not platform defaults