The Advertising Measurement Ontology represents one measured quantity per observation, including the qualifiers needed to decide whether observations from different reports or providers are comparable, additive, or incompatible.

This is an unofficial specification of version 0.1.0 of this Inferal ontology module. The vocabulary remains a draft.

Feedback should be sent to contact@inferal.com.

The key words MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY in this document are to be interpreted as described in BCP 14 when, and only when, they appear in all capitals.

RDF data conforms to the vocabulary when it uses the terms according to their normative meanings below. A data producer claiming closed-world conformance MUST also satisfy the SHACL graph distributed with this module. OWL and RDFS entailment do not imply that an omitted value is false.

Namespace

PrefixNamespace IRI
admhttps://ontology.inferal.com/modules/advertising-measurement/

Scope

This module covers metric observations, metric kinds, typed values, monetary amounts, reporting windows, attribution bases, breakdown dimensions, advertising channels, publisher surfaces, wire encodings, and time-bounded hierarchy membership.

Advertising entity definitions, targeting, creative payloads, budgets, bidding, delivery state, and currency conversion are outside this module. Observation subjects may refer to resources defined elsewhere.

Competency Questions

  1. What was total spend for a subject and reporting window in one currency?
  2. Which observations are directly comparable?
  3. What conversion count was produced under each attribution model?
  4. Which channels report a metric kind at a given grain?
  5. Which observations must be excluded from a sum because attribution differs?
  6. Which container held a resource at a given instant?
  7. Which total and slice observations would double-count if summed?
  8. What does each subject pay per click, per thousand impressions, or per thousand people reached, and in which currency?

Conceptual Model

One quantity per observation

A provider report row can contain many measures. Producers MUST create a separate metric observation for each measured quantity so its kind, value, window, grain, attribution basis, channel, and breakdown set remain explicit.

Comparability tuple

Consumers MUST compare metric kind, subject, grain, reporting window, attribution basis, breakdown set, value type, and currency where relevant before comparing or adding observations. Agreement on a provider field name is insufficient.

Report revision qualification

Producers MAY declare adm:revisionSeries and adm:revisionObservedAt together. A series covers co-captured reports of one subject, reporting window, grain, currency, full breakdown scope and source family. Producers MUST validate scope consistency before assigning its IRI. Capture time MUST be a single timezone-qualified datetime; it is neither event time nor a provider write transaction. The latest represented qualified capture supersedes earlier measures together, including measures absent in the latest capture. Different kinds at one capture are normal; duplicate same-kind observations at an equal capture, or incomplete/conflicting capture evidence, are ambiguous and MUST NOT be ordered by the comparison or spend queries. Unversioned observations remain supplied figures without an inferred latest order. Observation-only metadata cannot reveal newer deliveries that emit no qualified observations.

The qualified comparison and spend queries compare reporting-window UTC boundaries and inclusive flags rather than requiring provider window-IRI identity. Money and cost rates require equal currencies. Conflicting endpoint aliases or inclusivity flags MUST NOT qualify as a single window. Equivalent fractional timestamp forms MUST compare equally while preserving actual subsecond differences. Spend totals retain separate currency and basis groups, require eligible windows to be IRIs and return an existing window IRI as a deterministic representative of each semantic window group. Callers remain responsible for selecting disjoint populations and compatible breakdown scope. Snapshot membership rejects an upper-inclusivity flag without its bound and honors inclusive endpoints and closed point evidence; a point snapshot MUST NOT be extended into continuous history. These rules apply to qualified snapshot membership, observation comparability and spend totals; other inspection and diagnostic capabilities retain their stated scope.

Arithmetic by value type

Count and monetary values can be additive when all qualifiers agree. Distinct count, ratio and cost rate values are not additive. A distinct count, such as reach, counts each person once in every figure that covers them, so consumers MUST NOT sum distinct count values across subjects, breakdown slices, or reporting windows. Monetary comparisons additionally require a shared currency unless an external conversion policy is applied.

Breakdowns and hierarchy

A breakdown partitions a measured population and is not a hierarchy tier. An unsliced total and its slices MUST NOT be summed together. Hierarchy membership is reified with a validity window so historical rollups use the parent that applied then.

Term Reference

Every term in this section is exported for cross-reference. Definitions state the term's meaning; the relations column summarizes declared RDFS and SKOS links. Closed-world cardinalities are specified separately in Validation.

Classes

TermKindNormative meaningRelations
adm:AttributedMetricKind Class A metric kind whose figure is produced by crediting outcomes to advertising under an attribution rule, rather than counted directly from delivery. Subclass of: adm:MetricKind
adm:AttributionBasis Class The attribution model and lookback window under which a measured quantity was computed. Two observations computed under different bases are not comparable even when their kind and grain agree. No local domain or range restriction.
adm:AttributionModel Class The rule assigning credit for an outcome to prior advertising interactions, such as last click, first click, linear, or a provider's proprietary model. Subclass of: skos:Concept
adm:Breakdown Class A binding of one partitioning dimension to one of its values, qualifying an observation as covering only that slice of the measured population. No local domain or range restriction.
adm:BreakdownDimension Class An axis along which a measured population can be partitioned, such as placement, device, or country. Subclass of: skos:Concept
adm:Channel Class The advertising platform an advertiser buys through, distinct from the publisher property delivery occurred on. Subclass of: skos:Concept
adm:CostRateValue Class An amount of money per unit of something counted, such as cost per click or cost per thousand impressions. Not additive, and not comparable across currencies. Subclass of: adm:MetricValue
adm:CountValue Class A non-negative count of discrete occurrences, such as impressions, clicks, or conversions. Counts are additive across observations that agree on kind, grain, and attribution basis. Subclass of: adm:MetricValue
adm:CreditedInteraction Class The kind of prior interaction an attribution basis will credit for an outcome, such as a click on the ad or merely an impression of it. Subclass of: skos:Concept
adm:DistinctCountValue Class A non-negative count of distinct people or devices, such as reach. Not additive across subjects, breakdown slices, or reporting windows, because one person can be counted in each. Subclass of: adm:MetricValue
adm:HierarchyMembership Class A first-class, time-bounded occurrence of one advertising resource being contained by another: an ad in an ad group, an ad group in a campaign, a campaign in an advertiser account. No local domain or range restriction.
adm:MetricKind Class The phenomenon an observation measures, independent of any provider's name or wire encoding for it. Subclass of: skos:Concept
adm:MetricObservation Class A single measured quantity about one advertising resource, qualified by the reporting window it covers, the grain it was reported at, the attribution basis under which it was computed, and any dimensions it is partitioned by. One provider report row yields as many observations as it carries measures. Subclass of: prov:Entity
adm:MetricValue Class A measured magnitude carried by an observation, canonicalised to a decimal and typed by what kind of quantity it is. No local domain or range restriction.
adm:MonetaryAmount Class An amount of money as a decimal quantity in major units paired with the ISO 4217 code of its currency. No local domain or range restriction.
adm:MonetaryValue Class A quantity of money, such as spend or conversion value. Additive only among observations sharing a currency. Subclass of: adm:MetricValue
adm:ObservationGrain Class The tier of the advertising hierarchy that an observation's subject occupies: advertiser account, campaign, ad group, or individual ad. No local domain or range restriction.
adm:PlacementSurface Class The surface within a publisher property that an ad occupied, such as an in-feed slot, a stories card, a reel, or a right-hand column. Named a surface rather than a placement because it is a kind of position, not the commitment that put an ad there. Subclass of: skos:Concept
adm:PublisherPlatform Class The property an ad was delivered on, such as Facebook, Instagram, Messenger, or a partner audience network. Subclass of: skos:Concept
adm:RatioValue Class A derived quotient such as click-through rate, cost per click, or return on ad spend. Not additive under any circumstances. Subclass of: adm:MetricValue
adm:ReportingWindow Class The interval of time an observation's value covers, expressed as a range over temporal instants. Subclass of: rng:Range
adm:SpineComparability Class The datatype that values beneath one shared term compare as, whatever datatype each provider sends. No local domain or range restriction.
adm:WireEncoding Class The relation between the literal a provider field carries and the canonical magnitude an observation records. No local domain or range restriction.

Properties

TermKindNormative meaningRelations
adm:amountValue Property The numeric quantity of a monetary amount, in major units of its currency. Domain: adm:MonetaryAmount; Range: xsd:decimal
adm:attributionBasis Property The model and lookback window under which the observation's value was computed. Domain: adm:MetricObservation; Range: adm:AttributionBasis
adm:breakdownDimension Property The axis a breakdown partitions along. Domain: adm:Breakdown; Range: adm:BreakdownDimension
adm:breakdownValue Property The value of the dimension this breakdown selects, such as a particular placement or country. Domain: adm:Breakdown; Range: rdfs:Resource
adm:canonicalMagnitude Property The value's magnitude as a decimal, in major currency units for monetary values and in whole or fractional occurrences for counts. Provider wire encodings such as minor units and micros are converted on the way in. Domain: adm:MetricValue; Range: xsd:decimal
adm:comparableAs Property The datatype a reader casts values to before comparing them across providers. Domain: adm:SpineComparability; Range: rdfs:Datatype
adm:containedIn Property The containing advertising resource of a hierarchy membership: the ad group for an ad, the campaign for an ad group, the account for a campaign. Domain: adm:HierarchyMembership; Range: rdfs:Resource
adm:containedResource Property The contained advertising resource of a hierarchy membership. Domain: adm:HierarchyMembership; Range: rdfs:Resource
adm:costRateValue Property A provider field carrying money per counted unit, such as cost per click or cost per thousand impressions. Not additive, and not comparable across currencies. Subproperty of: adm:metricValue
adm:countValue Property A provider field counting discrete occurrences, such as impressions, clicks, or conversions. Additive across observations that agree on kind, grain, and attribution basis. Subproperty of: adm:metricValue
adm:creditedInteraction Property The kind of interaction this basis credits. A basis crediting views and one crediting clicks are not comparable even at the same lookback duration. Domain: adm:AttributionBasis; Range: adm:CreditedInteraction
adm:currencyCode Property The ISO 4217 alphabetic code of a monetary amount's currency. Domain: adm:MonetaryAmount; Range: xsd:string
adm:currencySource Property The provider field carrying the ISO 4217 code that applies to a monetary field's value. Domain: rdf:Property; Range: rdf:Property
adm:lookbackWindow Property The interval before an outcome within which a prior interaction can receive credit under this basis. Domain: adm:AttributionBasis; Range: rng:Range
adm:lowersBy Property The divisor carrying a literal in this encoding to the canonical magnitude. Domain: adm:WireEncoding; Range: xsd:decimal
adm:lowersByCurrencyExponent Property Whether the divisor is ten raised to the ISO 4217 exponent of the value's currency. Domain: adm:WireEncoding; Range: xsd:boolean
adm:lowersTo Property The datatype a literal in this encoding carries once lowered. Domain: adm:WireEncoding; Range: rdfs:Datatype
adm:metricKind Property The phenomenon the observation measures. Domain: adm:MetricObservation; Range: adm:MetricKind
adm:metricValue Property The common ancestor of every provider field that reports a measured advertising quantity. A provider field declares itself beneath this property, or beneath one of its arithmetic subproperties, with rdfs:subPropertyOf. No local domain or range restriction.
adm:monetaryValue Property A provider field carrying a quantity of money, such as spend, cost, or a budget ceiling. Additive only among values sharing a currency and a unit encoding. Subproperty of: adm:metricValue
adm:observationBreakdown Property A dimension-value pair the observation is sliced by. An observation may carry several, one per dimension. Carrying none means the observation covers the whole population for its subject and window. Domain: adm:MetricObservation; Range: adm:Breakdown
adm:observationGrain Property The hierarchy tier the observation's subject occupies. Domain: adm:MetricObservation; Range: adm:ObservationGrain
adm:observationSubject Property The advertising resource the observation measures. Domain: adm:MetricObservation; Range: rdfs:Resource
adm:observedChannel Property The advertising platform the observation's subject was delivered through. Domain: adm:MetricObservation; Range: adm:Channel
adm:observedValue Property The measured magnitude the observation carries. Domain: adm:MetricObservation; Range: adm:MetricValue
adm:rateDenominatorMetric Property The metric kind a derived kind divides by, so a rate states what it is per. Domain: adm:MetricKind; Range: adm:MetricKind
adm:ratioValue Property A provider field carrying a derived quotient, such as click-through rate or frequency. Not additive under any circumstances. Subproperty of: adm:metricValue
adm:reportingWindow Property The interval of time the observation's value covers. Domain: adm:MetricObservation; Range: adm:ReportingWindow
adm:revisionSeries Property Producer-declared series of co-captured reports for the same subject, reporting window, grain, currency, full breakdown scope and source family. The latest represented qualified capture supersedes earlier measures together. Domain: adm:MetricObservation; Range: rdfs:Resource
adm:revisionObservedAt Property Timezone-qualified report capture time within a declared series, present exactly when revisionSeries is present. Newer deliveries with no qualified observations are outside this evidence. Domain: adm:MetricObservation; Range: xsd:dateTime
adm:spineTerm Property The shared term whose values this resource describes. Domain: adm:SpineComparability; Range: rdf:Property
adm:usedAttributionModel Property The credit-assignment rule the attribution basis applies. Domain: adm:AttributionBasis; Range: adm:AttributionModel
adm:validityWindow Property The interval during which a hierarchy membership held. An open upper bound means the containment is current. Domain: adm:HierarchyMembership; Range: rng:Range
adm:valueAmount Property The monetary amount a monetary value or cost-rate value carries. Domain: adm:MetricValue, and in the OWL addendum the union of adm:MonetaryValue and adm:CostRateValue; Range: adm:MonetaryAmount
adm:windowEnd Property The instant a reporting window closes. Omitted when the window is unbounded above, as for a lifetime total. Subproperty of: rng:upperBound; Domain: adm:ReportingWindow; Range: time:Instant
adm:windowStart Property The instant a reporting window opens. Omitted when the window is unbounded below. Subproperty of: rng:lowerBound; Domain: adm:ReportingWindow; Range: time:Instant
adm:wireEncoding Property The encoding of the literal a provider field carries. Domain: rdf:Property; Range: adm:WireEncoding

Controlled concepts

TermKindNormative meaningRelations
adm:ageDimension Concept Partition by an age band. Band boundaries are provider-specific and are not interchangeable across platforms. Scheme: adm:BreakdownDimensionScheme
adm:audienceNetworkPlatform Concept Delivery on third-party inventory syndicated by the buying platform. Scheme: adm:PublisherPlatformScheme
adm:audienceSegmentDimension Concept Partition by a targeting or audience segment. Scheme: adm:BreakdownDimensionScheme
adm:chatgptAdsChannel Concept Buying through ChatGPT Ads, the advertising platform that places ads in ChatGPT conversations. Scheme: adm:ChannelScheme
adm:clicks Concept Number of times an ad was clicked. Scheme: adm:MetricKindScheme
adm:clickThroughCredit Concept An interaction in which the person clicked the ad before the credited outcome. Scheme: adm:CreditedInteractionScheme
adm:clickThroughRate Concept Clicks divided by impressions, expressed canonically as a fractional quotient rather than percentage points. Derived and not additive. Scheme: adm:MetricKindScheme
adm:conversions Concept Number of outcomes credited to advertising under the observation's attribution basis. Scheme: adm:MetricKindScheme
adm:conversionValue Concept Monetary worth of the outcomes credited to advertising. Scheme: adm:MetricKindScheme
adm:costPerClick Concept Spend divided by clicks. Derived and not additive. Scheme: adm:MetricKindScheme
adm:costPerMille Concept Spend divided by impressions, scaled to a thousand. Derived and not additive. Scheme: adm:MetricKindScheme
adm:costPerThousandReached Concept Spend divided by reach, scaled to a thousand. Distinct from cost per mille because reach counts people and impressions count renderings. Scheme: adm:MetricKindScheme
adm:countryDimension Concept Partition by the country the impression was served in. Scheme: adm:BreakdownDimensionScheme
adm:deviceDimension Concept Partition by the class of device the ad was rendered on. Scheme: adm:BreakdownDimensionScheme
adm:engagedViewCredit Concept Credit is assigned where the person watched to a provider-defined threshold without clicking. Scheme: adm:CreditedInteractionScheme
adm:engagement Concept Number of interactions with an ad other than clicks. Scheme: adm:MetricKindScheme
adm:exposureCountDimension Concept Partition by how many times a person was exposed, reported as buckets such as one, several, or many. The same word names a measure elsewhere in this module, and the two are different things: one counts exposures, the other groups people by their exposure count. Scheme: adm:BreakdownDimensionScheme
adm:facebookPlatform Concept Delivery on Facebook properties. Scheme: adm:PublisherPlatformScheme
adm:feedPlacement Concept An in-feed surface within a social or content stream. Scheme: adm:PlacementScheme
adm:firstClickModel Concept All credit assigned to the first click in the path. Scheme: adm:AttributionModelScheme
adm:frequency Concept Average number of times each reached person saw an ad. Derived from impressions and reach, and not additive. Scheme: adm:MetricKindScheme
adm:genderDimension Concept Partition by a reported gender category, including an unknown category that providers populate heavily. Scheme: adm:BreakdownDimensionScheme
adm:googleAdsChannel Concept Buying through Google Ads. Scheme: adm:ChannelScheme
adm:impressions Concept Number of times an ad was rendered. Scheme: adm:MetricKindScheme
adm:inAppSearchResultsPlacement Concept A results surface of a search inside an app or platform, distinct from a search engine's results page. Scheme: adm:PlacementScheme
adm:instagramPlatform Concept Delivery on Instagram properties. Scheme: adm:PublisherPlatformScheme
adm:inStreamVideoPlacement Concept A position inside video playback. Scheme: adm:PlacementScheme
adm:lastClickModel Concept All credit assigned to the final click before the outcome. Scheme: adm:AttributionModelScheme
adm:linearModel Concept Credit divided evenly across all interactions in the path. Scheme: adm:AttributionModelScheme
adm:linkedinChannel Concept Buying through LinkedIn advertising. Scheme: adm:ChannelScheme
adm:marketAreaDimension Concept Partition by a designated media market. Market definitions are licensed and platform-specific. Scheme: adm:BreakdownDimensionScheme
adm:marketplacePlacement Concept A position within a commerce listing surface. Scheme: adm:PlacementScheme
adm:messengerPlatform Concept Delivery in Messenger. Scheme: adm:PublisherPlatformScheme
adm:metaChannel Concept Buying through Meta advertising. Scheme: adm:ChannelScheme
adm:microsoftAdsChannel Concept Buying through Microsoft Advertising, which serves search and audience ads on Bing and partner inventory. Scheme: adm:ChannelScheme
adm:pinterestChannel Concept Buying through Pinterest advertising. Scheme: adm:ChannelScheme
adm:placementDimension Concept Partition by the position within a publisher property. Values are instances of Placement. Scheme: adm:BreakdownDimensionScheme
adm:providerProprietaryModel Concept A provider's undisclosed model. Distinct per provider: two proprietary models are never interchangeable, and an observation using one must record which provider's rule applied. Scheme: adm:AttributionModelScheme
adm:publisherPlatformDimension Concept Partition by the property the ad was delivered on. Values are instances of PublisherPlatform. Scheme: adm:BreakdownDimensionScheme
adm:reach Concept Number of distinct people who saw an ad. Not additive across subjects, breakdown slices, or reporting windows: a person reached by two ads, in two slices, or on two days is counted in each figure, and once in a figure covering both. Scheme: adm:MetricKindScheme
adm:reelsPlacement Concept A position within a short-form vertical video surface. Scheme: adm:PlacementScheme
adm:regionDimension Concept Partition by a sub-national region. Region naming is provider-specific and does not align across platforms without a crosswalk. Scheme: adm:BreakdownDimensionScheme
adm:returnOnAdSpend Concept Conversion value divided by spend. Derived and not additive. Scheme: adm:MetricKindScheme
adm:searchResultsPlacement Concept A surface on a search engine results page. Scheme: adm:PlacementScheme
adm:sidebarPlacement Concept A position in a column beside the main content, reported by some providers as a right-hand column. Scheme: adm:PlacementScheme
adm:snapchatChannel Concept Buying through Snapchat advertising. Present because measurement platforms report spend against it even where no direct integration exists. Scheme: adm:ChannelScheme
adm:spend Concept Amount of money charged for delivery. Scheme: adm:MetricKindScheme
adm:storiesPlacement Concept A full-screen ephemeral surface between organic story cards. Scheme: adm:PlacementScheme
adm:tiktokChannel Concept Buying through TikTok advertising. Present because measurement platforms report spend against it even where no direct integration exists. Scheme: adm:ChannelScheme
adm:unknownPlatform Concept The platform was not reported. Providers populate this materially, and dropping such rows silently understates any platform-partitioned total. Scheme: adm:PublisherPlatformScheme
adm:videoFeedPlacement Concept A position within a browsable video surface, distinct from playback itself. Scheme: adm:PlacementScheme
adm:videoView Concept Number of times video creative was watched to a provider-defined threshold. Scheme: adm:MetricKindScheme
adm:viewThroughCredit Concept Credit is assigned on an impression alone, with no click. View-through figures are typically far larger than click-through ones for the same campaign. Scheme: adm:CreditedInteractionScheme
adm:xChannel Concept Buying through X advertising, the platform formerly named Twitter. Present because measurement platforms report spend against it, some still under the name Twitter, even where no direct integration exists. Scheme: adm:ChannelScheme

Concept schemes

TermKindNormative meaningRelations
adm:AttributionModelScheme Concept scheme Controlled vocabulary of credit-assignment rules. No local domain or range restriction.
adm:BreakdownDimensionScheme Concept scheme Controlled vocabulary of axes along which advertising measures are partitioned. No local domain or range restriction.
adm:ChannelScheme Concept scheme Controlled vocabulary of platforms an advertiser buys through. No local domain or range restriction.
adm:CreditedInteractionScheme Concept scheme Controlled vocabulary of interaction kinds an attribution basis credits. No local domain or range restriction.
adm:MetricKindScheme Concept scheme Controlled vocabulary of the phenomena advertising observations measure. No local domain or range restriction.
adm:PlacementScheme Concept scheme Cross-provider anchors for delivery surfaces. Provider profiles extend this scheme with their own surfaces rather than redefining these. No local domain or range restriction.
adm:PublisherPlatformScheme Concept scheme Properties advertising is delivered on. Extended by provider profiles. No local domain or range restriction.

Wire encodings

Instances of adm:WireEncoding. A reader divides a provider literal by the divisor and reads the result as the datatype; adm:wireEncoding states which encoding a provider field uses.

EncodingDivisorLowers toMeaning
adm:MajorUnits 1 xsd:decimal A quantity already in the currency's major unit, such as 12.34 for twelve units and thirty-four subunits. Lowered to the canonical magnitude unchanged.
adm:MinorUnits 10 to the currency's ISO 4217 exponent xsd:decimal An integer count of the currency's minor unit, such as 1234 for twelve units and thirty-four subunits.
adm:Micros 1000000 xsd:decimal An integer count of millionths of the quantity's unit, lowered by dividing by one million. For money the unit is the currency's major unit, so 12340000 is twelve units and thirty-four subunits; for a dimensionless factor or fraction the unit is one, so 1500000 is a multiplier of one and a half.
adm:CountOccurrences 1 xsd:decimal A quantity counting occurrences rather than money, lowered to a decimal so that an apportioned fraction survives the conversion.
adm:UnitFraction 1 xsd:decimal A dimensionless quotient carried as a fraction of one, such as 0.1 for one tenth.
adm:Percent 100 xsd:decimal A dimensionless quotient scaled by one hundred, such as 2.12 for 2.12 percent. Lowered by dividing by one hundred, to the fraction of one that :UnitFraction describes: 2.12 lowers to 0.0212.
adm:Quotient 1 xsd:decimal A dimensionless quotient read as it stands, which may exceed one, such as 1.89 impressions per person reached.
adm:DurationSeconds 1 xsd:decimal A length of time counted in seconds, such as 12.5 for twelve and a half seconds. Read as a number of seconds, the unit :durationComparability compares lengths of time in.
adm:DurationMilliseconds 1000 xsd:decimal A length of time counted in milliseconds, such as 1500 for one and a half seconds. Divided by one thousand and read as a number of seconds, the unit :durationComparability compares lengths of time in.
adm:EpochSeconds 1 xsd:dateTime A count of seconds since 1970-01-01T00:00:00Z, such as 1700000000 for 2023-11-14T22:13:20Z.
adm:EpochMilliseconds 1000 xsd:dateTime A count of milliseconds since 1970-01-01T00:00:00Z, such as 1700000000000 for 2023-11-14T22:13:20Z.

Validation

The module's SHACL constraints provide the closed-world conformance profile. The following requirements summarize the constraints that affect ordinary data producers.

Examples

Extension and Interoperability

Controlled vocabularies use SKOS so provider profiles MAY add narrower or matched concepts without replacing the shared classes. Extensions MUST preserve the meanings and constraints of terms they reuse. A mapping MUST NOT assert equivalence merely because two provider fields have similar labels.

Privacy and Security Considerations

Breakdowns can expose small audience segments, locations, or inferred attributes. Publishers SHOULD aggregate, suppress, or restrict slices where re-identification is possible. This vocabulary does not supply access control, consent, or currency conversion.