AIP + Universal Commerce Protocol (UCP)
AIP and Universal Commerce Protocol (UCP) solve different parts of the stack.- AIP governs participation, selection, delegation, attribution, and settlement
- UCP governs the downstream commerce workflow, especially checkout, identity linking, and order lifecycle
1. TL;DR
AIP gets the user to the right commercial participant. UCP runs the checkout or order flow after that handoff. AIP remains the attribution and ad-performance system of record; UCP supplies the commerce proof.
2. When to use UCP with AIP
UCP is relevant when the selected Brand Agent needs to move from recommendation or delegation into a real commerce workflow such as:- cart creation
- checkout session creation
- embedded checkout UI
- checkout handoff using a
continue_url - order creation and order-status updates
- Recommend mode: the user engages with a commerce recommendation and the platform or brand agent starts a UCP checkout
- Delegate mode: the user consents to a delegated commerce session and the brand agent starts or resumes a UCP checkout inside that delegated session
3. Separation of responsibilities
| Layer | Role |
|---|---|
| AIP | Intent capture, participation governance, selection, interaction mode, attribution, billing events, settlement |
| UCP | Checkout session lifecycle, trusted checkout UI, payment/shipping collection, order creation, order lifecycle |
4. Handoff model
4.1 Discovery
Once a commerce-capable Brand Agent is selected, the platform or brand agent can discover the seller’s UCP capabilities from the business profile at:/.well-known/ucp
UCP’s initial core capabilities include:
- Checkout
- Identity Linking
- Order
4.2 Recommend-mode handoff
Use this when the user engages with a recommendation and then enters a commerce flow.- AIP returns a
PlatformResponse - Platform logs
exposure_shown - User engages and the platform logs
interaction_started - Platform or Brand Agent starts a UCP checkout session
- UCP returns a
checkout.id,status, and possiblycontinue_url - When the commerce success point is reached, the Brand Agent emits AIP
task_completed
4.3 Delegate-mode handoff
Use this when the user explicitly consents to a delegated commerce session.- AIP returns a delegation-capable
PlatformResponse - User consents
- Operator records
delegation_started - Platform and Brand Agent continue the delegated task flow
- Brand Agent starts or resumes a UCP checkout session
- Platform and Brand Agent continue AIP
delegation_activity - When the commerce success point is reached, the Brand Agent emits AIP
task_completed
4.4 Trusted checkout and escalation
UCP checkout can require a trusted UI or escalation path. In UCP:- checkout may return
requires_escalation - checkout may return a
continue_url - checkout sessions can expose an
expires_at
5. Identifier mapping
Do not lose the join keys between AIP and UCP. Recommended mapping:| AIP field | UCP field / internal join |
|---|---|
serve_token | Stored alongside checkout.id and order.id |
session_id | Stored alongside the checkout session |
delegation_session_id | Stored alongside the checkout session for delegated flows |
agent_id | Mapped to the commerce-capable Brand Agent or merchant connector |
platform_id | Stored as the buyer-entry platform |
response_id / auction_id | Internal attribution and settlement join keys |
task_completed.outcome_metadata.order_id | UCP order identifier when available |
| Vendor extension or internal state | UCP checkout identifier and related checkout metadata |
serve_tokensession_iddelegation_session_idif presentcheckout_idorder_idplatform_idagent_idresponse_idauction_id
6. Recommended success mapping
Pick one commerce success point and apply it consistently per merchant integration. Recommended default:- emit AIP
task_completedwhen UCP reaches a merchant-proven commerce completion state - in practice, this is usually one of:
- UCP checkout reaches
completed - a UCP order object is returned and persisted
- UCP checkout reaches
task_completed at checkout creation time.
Checkout creation is commerce progress, not a final outcome.
7. Measuring ad performance
Use AIP for the ad funnel and UCP for commerce proof.AIP funnel signals
exposure_showninteraction_starteddelegation_starteddelegation_activitydelegation_expiredtask_completed
UCP commerce signals
- checkout created
- checkout updated
- checkout
status - checkout
expires_at - checkout
continue_url - order created
- later order updates if needed
Recommended reporting funnel
- exposure rate
- engagement rate
- delegation consent rate
- checkout start rate
- checkout completion rate
- order conversion rate
- revenue per
serve_token - ROAS and revenue by platform, brand agent, campaign, and merchant
Recommended attribution rule
- AIP remains the system of record for the commercial participation lifecycle
- UCP provides the transaction truth that justifies
task_completed - Join UCP outcomes back to AIP using
serve_tokenplus checkout/order identifiers
8. Implementation guidance
8.1 Where to store UCP references
Without changing the AIP wire model, store UCP references in:- internal operator state
- settlement and audit records
task_completed.outcome_metadata.order_id- optional vendor extensions for non-canonical UCP metadata such as:
checkout_idcheckout_statuscontinue_urlucp_profile_uri
8.2 Session expiry alignment
UCP and AIP have separate session-expiry concepts:- AIP delegated sessions expire according to
session_timeout_secondsand verifieddelegation_activity - UCP checkout sessions may expose their own
expires_at
- AIP session expiry for delegated-session liveness
- UCP checkout expiry for the commerce session itself
8.3 Embedded vs escalated commerce
If UCP checkout stays inside the platform:- continue emitting AIP lifecycle events
- treat the checkout as part of the same attributed flow
requires_escalation or a continue_url:
- preserve AIP identifiers across the handoff
- continue attributing the commerce flow to the same
serve_token
9. Example sequence
Summary
Integrate AIP with UCP by using AIP for decisioning, attribution, and settlement, and UCP for checkout and order execution. Keep the join betweenserve_token,checkout.id, andorder.id, and treat UCP completion as the proof source for AIPtask_completed.