Skip to content

feat: add affiliate attribution extension#10

Closed
0xtotaylor wants to merge 4 commits into
Universal-Commerce-Protocol:mainfrom
0xtotaylor:feature/affiliate-attribution
Closed

feat: add affiliate attribution extension#10
0xtotaylor wants to merge 4 commits into
Universal-Commerce-Protocol:mainfrom
0xtotaylor:feature/affiliate-attribution

Conversation

@0xtotaylor

@0xtotaylor 0xtotaylor commented Jan 11, 2026

Copy link
Copy Markdown

Enhancement Proposal: Affiliate Attribution Extension

Status Provisional
Author @0xtotaylor
RFC rfcs/affiliate-attribution.md

Summary

This proposal extends POST /checkout-sessions/{id}/complete to accept an optional affiliate_attribution object, enabling agents to transmit fraud-resistant attribution claims for crediting third-party publishers without relying on cookies, redirects, or client-side tracking.

Type of change

  • Enhancement Proposal (new capability/extension per GOVERNANCE.md)

Proposal Contents

Per the Enhancement Proposal process, the RFC (rfcs/affiliate-attribution.md) includes:

  • Summary
  • Motivation
  • Detailed Design
  • Risks
  • Test Plan
  • Graduation Criteria

Implementation

This PR also includes a complete implementation ready to merge once the proposal reaches Implementable status:

  • source/schemas/shopping/affiliate_attribution.json — Extension schema
  • docs/specification/affiliate-attribution.md — Specification documentation
  • mkdocs.yml — Navigation updates

Checklist

  • RFC document follows Enhancement Proposal template
  • Implementation aligns with RFC detailed design
  • Documentation complete
  • Schema validation passes
  • mkdocs build --strict passes

Requested Action

Requesting TC review to advance from ProvisionalImplementable.

Introduces the Affiliate Attribution extension for agentic commerce, including documentation, JSON schema definitions, and integration into the documentation site. This enables fraud-resistant affiliate tracking at checkout without cookies or redirects, supporting provider-agnostic attribution claims and privacy requirements.
@google-cla

google-cla Bot commented Jan 11, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@0xtotaylor 0xtotaylor marked this pull request as ready for review January 11, 2026 22:26
@0xtotaylor 0xtotaylor requested a review from a team January 11, 2026 22:26
@jingyli

jingyli commented Jan 14, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution to the Universal Commerce Protocol!

While we appreciate your enthusiasm for UCP, similarly to the response in #11 (comment), this doesn't align with our process for Enhancement proposals. We encourage you to explore either submitting a formal proposal for TC review or implementing this as a vendor specific extension and have it live & hosted on your own domain so they can be referenced in the profile as long as it follows UCP's governance model.

n-watts pushed a commit to n-watts/ucp that referenced this pull request Jan 15, 2026
Deleted the affiliate attribution specification, JSON schemas, and related documentation. Updated mkdocs navigation to remove references. The RFC was updated to reflect that implementation changes are pending TC approval and will be added in a follow-up PR.
@0xtotaylor

Copy link
Copy Markdown
Author

Thanks for the guidance, @jingyli. I’ve updated this PR to be proposal‑only per the Enhancement Proposal process and removed implementation files. For context, I also have a separate RFC PR to add an intent trace extension. They’re independent, but I’m mentioning it so both can be considered in parallel. What’s the best next step for submitting the proposal discussion to the TC/public forum? Looking forward to collaborating!

@nearlyforget nearlyforget requested review from a team and jingyli February 27, 2026 22:46
maximenajim added a commit that referenced this pull request Mar 10, 2026
- Soften mismatch language; add continue_url as fallback option (#4)
- Strengthen normative admonition with MUST/MUST NOT language (#5)
- Scope fee IDs to session; clarify in schema description and docs (#7)
- Mark description as plain text; reference Disclosures #222 (#8/#12)
- Add messages[] guidance with fee_waived example for waived fees (#10)
- Add readonly_field_not_allowed error code; reference in fee spec (#11)

Co-authored-by: Dayton <31824+SVDEA001@users.noreply.git.target.com>
maximenajim added a commit that referenced this pull request Mar 11, 2026
- Soften mismatch language; add continue_url as fallback option (#4)
- Strengthen normative admonition with MUST/MUST NOT language (#5)
- Scope fee IDs to session; clarify in schema description and docs (#7)
- Mark description as plain text; reference Disclosures #222 (#8/#12)
- Add messages[] guidance with fee_waived example for waived fees (#10)
- Add readonly_field_not_allowed error code; reference in fee spec (#11)
alexpark20 added a commit to alexpark20/ucp that referenced this pull request Mar 17, 2026
Covers all 12 MCP-applicable changes with Spec Version, Shopify Impl
Version, and Implemented status columns. Notes explain the two draft-only
changes (Universal-Commerce-Protocol#2, Universal-Commerce-Protocol#4) and the deferred enforcement (Universal-Commerce-Protocol#10).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
alexpark20 added a commit to alexpark20/ucp that referenced this pull request Mar 18, 2026
…(adjustment.amount minimum: 0)

Was incorrectly attributed to Universal-Commerce-Protocol#246 (discount/cart). The actual change
was introduced by Universal-Commerce-Protocol#55, which refactored all amount fields to $ref a
shared amount.json type that enforces minimum: 0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
alexpark20 added a commit to alexpark20/ucp that referenced this pull request Mar 18, 2026
…(adjustment.amount minimum: 0)

Was incorrectly attributed to Universal-Commerce-Protocol#246 (discount/cart). The actual change
was introduced by Universal-Commerce-Protocol#55, which refactored all amount fields to $ref a
shared amount.json type that enforces minimum: 0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@0xtotaylor 0xtotaylor closed this May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants