Fetch live docs:
https://ucp.dev/specification/buyer-consent/ for the canonical Buyer Consent extension specsite:ucp.dev buyer consent for related pages and examplessite:github.com Universal-Commerce-Protocol buyer consent for SDK support and sampleshttps://ucp.dev/specification/overview/ for how extensions integrate with the core specThe Buyer Consent extension adds privacy-compliant consent collection to UCP checkout sessions. It enables merchants to collect and record buyer consent for data processing, marketing, and terms acceptance — satisfying GDPR, CCPA, and other privacy regulations.
Agentic commerce introduces a new challenge: an AI agent acts on behalf of the buyer. Regulations require explicit, informed consent for data processing. This extension standardizes how consent is requested, granted, and recorded across the UCP protocol.
capabilities.extensions[] like all UCP extensionsConsent fields — The spec defines exactly four boolean consent fields:
analytics — consent for analytics/measurement data collectionpreferences — consent for personalization and preference storagemarketing — consent for marketing communicationssale_of_data — consent for sale/sharing of personal dataConsent values — Each field is a simple boolean ( true/ false). There is no status enum.
All fields are optional — The protocol communicates consent declaratively; it does not enforce compliance
All consent fields are optional booleans. The protocol does not define consent as blocking checkout. Merchants may choose to enforce consent requirements in their own business logic, but the UCP spec itself does not mandate that missing consent prevents checkout completion.
RegulationRequirementHow Buyer Consent HelpsGDPR (EU)Explicit consent for data processingStructured consent collection with audit trailCCPA (California)Right to know, right to opt-outConsent types for data collection and saleLGPD (Brazil)Legal basis for processingConsent as legal basis documentationPIPEDA (Canada)Meaningful consentHuman-readable consent text
Like all UCP extensions:
buyer_consent in capabilities.extensions[]Fetch the Buyer Consent extension specification for exact field names, consent type enumerations, and schema structure before implementing.