Skip to content

feat(schemas): vendor: BrandRef on viewability + performance-feedback rows#3866

Merged
bokelley merged 2 commits into
mainfrom
bokelley/measurement-vendor-brandref
May 2, 2026
Merged

feat(schemas): vendor: BrandRef on viewability + performance-feedback rows#3866
bokelley merged 2 commits into
mainfrom
bokelley/measurement-vendor-brandref

Conversation

@bokelley

@bokelley bokelley commented May 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #3862 (delivery-metrics.viewability) and #3859 (performance-feedback). Two small additive schema fixes from the audit run during PR #3843 review (findings §3.4 and §3.9).

Both rows previously lacked structured vendor identity, breaking the BrandRef pattern used everywhere else in the verification surface (vendor_metric_values, performance-standard.vendor, committed_metrics vendor-scope entries).

Changes

core/delivery-metrics.json viewability

Optional vendor: BrandRef. RECOMMENDED — makes the viewability row self-describing. Buyer agents reading delivery in isolation can attribute the numbers without joining back to package.committed_metrics or package.performance_standards. Same shape as vendor_metric_value.vendor for symmetry.

core/performance-feedback.json

Optional vendor: BrandRef. Required when feedback_source is third_party_measurement or verification_partner; described in the field rather than enforced via JSON Schema if/then, matching the precedent set by performance-standard.standard's "required when metric is viewability" pattern. Optional for buyer_attribution and platform_analytics (sources implicit from context).

Without it, third-party feedback rows are unattributed — consumers can't verify authorization, resolve metric definitions via the vendor's get_adcp_capabilities.measurement.metrics[], or route disputes.

Doc updates

  • docs/media-buy/task-reference/provide_performance_feedback.mdx — added vendor field row to the request table; added vendor to the third-party-measurement example payload
  • docs/media-buy/media-buys/optimization-reporting.mdx — viewability field list mentions vendor

Why

Aligns these two surfaces with the measurement taxonomy's framing that vendor-attested measurement is anchored on BrandRef → brand.json agents[type='measurement'] discoverable identities. Closes two of the audit findings without WG ceremony — both are additive and the design is uncontroversial.

Test plan

  • Schema validates (build:schemas during commit hook)
  • TypeScript build passes
  • Doc links resolve

Related

🤖 Generated with Claude Code

bokelley and others added 2 commits May 2, 2026 13:54
…edback rows

Closes #3862 (delivery-metrics.viewability) and #3859 (performance-feedback).

Both rows previously lacked structured vendor identity, breaking the
BrandRef pattern used everywhere else in the verification surface
(vendor_metric_values, performance-standard.vendor, committed_metrics
vendor-scope entries).

delivery-metrics.json viewability:
- Optional vendor: BrandRef (RECOMMENDED). Makes the viewability row
  self-describing so buyer agents reading delivery in isolation can
  attribute the numbers without joining back to package.committed_metrics.
  Same shape as vendor_metric_value.vendor.

performance-feedback.json:
- Optional vendor: BrandRef. Required when feedback_source is
  third_party_measurement or verification_partner; described in the
  field rather than enforced via JSON Schema if/then, matching the
  precedent set by performance-standard.standard's "required when
  metric is viewability" pattern. Without it, third-party feedback
  rows are unattributed and consumers can't verify authorization,
  resolve metric definitions, or route disputes.

Both fields additive and backwards-compatible. Origin: schema audit
findings §3.4 and §3.9 (run during PR #3843 review). Aligns with the
measurement taxonomy doctrinal framing that vendor-attested measurement
is anchored on BrandRef → brand.json agents[type='measurement']
discoverable identities.

Doc updates: provide_performance_feedback.mdx (vendor field row, example
payload), optimization-reporting.mdx (viewability field list).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ded outputs

Per product review on PR #3866: the original "required when feedback_source
is third_party_measurement or verification_partner" framing was too strict.
MMM mixes (Nielsen MMM, Analytic Partners, in-house mix models combining
multiple vendor inputs), multi-touch attribution that joins across vendors,
and clean-room outputs (LiveRamp, Habu, AWS Clean Rooms where the clean
room is not the measurement source) are exactly the highest-value
third_party_measurement signals — and they don't have a single attesting
vendor. A strict "required" reading forces junk values or blocks the
feedback entirely.

Softened to: SHOULD populate when feedback_source is third_party_measurement
or verification_partner AND a single attesting vendor exists; OMIT for
blended outputs and use the response's narrative payload to describe
provenance.

Updates schema description, doc table row (Conditional → No, with prose),
and changeset language to reflect.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit f6f90d8 into main May 2, 2026
18 checks passed
@bokelley bokelley deleted the bokelley/measurement-vendor-brandref branch May 2, 2026 18:12
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.

Add optional vendor: BrandRef to delivery-metrics.viewability for self-describing rows

1 participant