The Advertising Delivery State Ontology separates what an advertiser intends from whether the provider lets it serve, why delivery is held, and whether the advertising entity remains live.
This is an unofficial specification of version 0.2.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.
| Prefix | Namespace IRI |
|---|---|
adel | https://ontology.inferal.com/modules/advertising-delivery-state/ |
This module covers reified delivery states, advertiser intent, the serving state a provider reports, repeatable serving holds with their origins, lifecycle standing, and an optional interval over which a state is effective.
Advertising hierarchy tiers, budgets, metrics, provider policy taxonomies, and transition histories are outside this module. A hold may point to one of those resources without redefining it.
Delivery intent is configured intent, the optional legacy serving state reports provider permission in its producer scope, and lifecycle standing records whether the entity exists. Omitted permission remains unknown and establishes neither permission nor its denial. A value does not establish measured impressions or complete cross-provider eligibility. The Microsoft status-only client producer deliberately omits this legacy value. Neutral eligibility, provider serving reports and their evidence remain separate axes without aliases or automatic conversion. Limited legacy permission follows skos:broader to adel:serving; the captured-state query establishes no freshness or latest-state selection. Independently reported holds can coexist with neutral limited-serving reports.
A delivery state can have several simultaneous holds. Each hold names one kind and the resource where it originated, allowing a consumer to distinguish a local problem from an inherited account, campaign, or policy problem.
A delivery state describes an entity during an interval. A later state does not invalidate an earlier observation when their effective intervals differ.
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.
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adel:DeliveryIntent |
Class | What the advertiser wants the entity to do: run, or not run. Intent is a setting, and it is independent of whether delivery actually occurs. | Subclass of: skos:Concept |
adel:DeliveryState |
Class | The reported delivery situation of one advertising entity: what the advertiser intends, whether the provider lets it serve, the holds preventing it, and its lifecycle standing. | Subclass of: prov:Entity |
adel:HoldKind |
Class | The category of a serving hold, such as a policy review outcome, a billing problem, an exhausted allowance, or an ancestor that is paused. | Subclass of: skos:Concept |
adel:LifecycleState |
Class | Whether the entity is live, archived out of the working set, or deleted. | Subclass of: skos:Concept |
adel:ServingHold |
Class | A reported constraint preventing or restricting delivery, naming its kind and the resource it originated from. A hold alone is not an observation of actual serving or non-serving. | No local domain or range restriction. |
adel:ServingState |
Class | Whether the provider lets the entity serve, independent of what the advertiser intends. Whether impressions are delivered is measured by advertising-measurement, not stated by a serving state. | Subclass of: skos:Concept |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adel:effectiveDuring |
Property | The interval a delivery state was observed to hold over. Open above when the state is current. | Domain: adel:DeliveryState; Range: rng:Range |
adel:heldBy |
Property | A reported hold preventing or restricting delivery. A state may carry several; neither the presence nor the absence of reported holds establishes actual serving. | Domain: adel:DeliveryState; Range: adel:ServingHold |
adel:holdKind |
Property | The category of the hold, which determines who can act on it. | Domain: adel:ServingHold; Range: adel:HoldKind |
adel:intendedDelivery |
Property | What the advertiser wants the entity to do. | Domain: adel:DeliveryState; Range: adel:DeliveryIntent |
adel:lifecycleStanding |
Property | Whether the entity is live, archived, or deleted. | Domain: adel:DeliveryState; Range: adel:LifecycleState |
adel:observedServing |
Property | Whether the provider lets the entity serve. | Domain: adel:DeliveryState; Range: adel:ServingState |
adel:originatingResource |
Property | The resource the hold came from. For an inherited hold this is the ancestor that is paused; for a hold arising from the entity itself it is that entity. | Domain: adel:ServingHold; Range: rdfs:Resource |
adel:stateOf |
Property | The advertising entity this delivery state describes. | Domain: adel:DeliveryState; Range: rdfs:Resource |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adel:accountRestrictionHold |
Concept | Delivery is prevented because the platform has restricted or suspended the advertiser account as a whole. The remedy lies with the account owner, through the platform's review or appeal process. | Scheme: adel:HoldKindScheme |
adel:allowanceExhaustedHold |
Concept | Delivery is prevented because the governing budget or spend cap is spent. The remedy is a configuration change. | Scheme: adel:HoldKindScheme |
adel:ancestorHeldHold |
Concept | Delivery is prevented by an ancestor that itself cannot serve. The originating resource names which ancestor, which is the part provider enumerations omit. | Scheme: adel:HoldKindScheme |
adel:archivedEntity |
Concept | The entity is removed from the working set but retained. Its historical metrics remain valid and readable. | Scheme: adel:LifecycleStateScheme |
adel:billingHold |
Concept | Delivery is prevented by the account's payment standing. The remedy lies with whoever owns the account, not with the entity. | Scheme: adel:HoldKindScheme |
adel:configurationHold |
Concept | Delivery is prevented by the setup of the entity where the hold originates, which may be an ancestor of the held entity: a required setting, targeting or asset is missing or misconfigured, or the entities beneath it are missing or all switched off. The remedy is a change to that setup, which the advertiser makes. | Scheme: adel:HoldKindScheme |
adel:intendToHold |
Concept | The advertiser has switched delivery off. | Scheme: adel:DeliveryIntentScheme |
adel:intendToRun |
Concept | The advertiser wants the entity to deliver. | Scheme: adel:DeliveryIntentScheme |
adel:limitedServing |
Concept | The entity is eligible to serve, but the provider reports that it serves only in part. | Scheme: adel:ServingStateScheme; broader: adel:serving |
adel:liveEntity |
Concept | The entity exists in the advertiser's working set. | Scheme: adel:LifecycleStateScheme |
adel:notServing |
Concept | The provider does not let the entity serve, for reasons its intent or its holds record. | Scheme: adel:ServingStateScheme |
adel:outsideScheduleHold |
Concept | Delivery is prevented because the current time falls outside the entity's flight or dayparting. Nothing is wrong. | Scheme: adel:HoldKindScheme |
adel:policyReviewHold |
Concept | Delivery is prevented pending or following a platform policy decision. The advertiser's remedy is to amend the entity or appeal. | Scheme: adel:HoldKindScheme |
adel:processingHold |
Concept | Delivery is prevented while the platform finishes work on a recent change. Transient and requiring no action. | Scheme: adel:HoldKindScheme |
adel:removedEntity |
Concept | The entity no longer exists. Historical metrics may survive it, and a query joining to the entity will not resolve. | Scheme: adel:LifecycleStateScheme |
adel:serving |
Concept | Nothing the provider reports prevents the entity from serving. | Scheme: adel:ServingStateScheme |
adel:unclassifiedHold |
Concept | Delivery is prevented for a reason the provider does not name, or names in terms no other hold kind covers. Who can act is unknown until the provider's own reason is read. Provider profiles place their unmapped hold kinds under this one, so a single query finds them across providers. | Scheme: adel:HoldKindScheme |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adel:DeliveryIntentScheme |
Concept scheme | Controlled vocabulary of what an advertiser intends an entity to do. | No local domain or range restriction. |
adel:HoldKindScheme |
Concept scheme | Controlled vocabulary of reasons delivery is prevented. | No local domain or range restriction. |
adel:LifecycleStateScheme |
Concept scheme | Controlled vocabulary of whether an entity still exists. | No local domain or range restriction. |
adel:ServingStateScheme |
Concept scheme | Controlled vocabulary of whether the provider lets an entity serve. | No local domain or range restriction. |
The module's SHACL constraints provide the closed-world conformance profile. The following requirements summarize the constraints that affect ordinary data producers.
adel:liveEntity, adel:archivedEntity, or adel:removedEntity, or a profile concept whose single skos:broader is one of the three, such as a draft narrower than live.
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.
A profile hold kind SHOULD be narrower than exactly one shared hold kind, and
a hold kind the profile cannot classify is narrower than
adel:unclassifiedHold.
A consumer selecting delivery evidence contract v1 MUST distinguish scoped eligibility, provider-reported serving, configured intent, lifecycle and reported holds. None of these axes establishes measured impressions or a successful mutation.
The observation instant is source retrieval time. A consumer MUST NOT treat it as a transition instant, latest state or evidence that an entity serves now.
For Google and Meta, aboutEntity identifies a named native source record. A consumer MUST NOT assume canonical business identity or reconciliation across records that share a native identifier. Those entity-level answers remain unqualified until separate identity qualification.
Microsoft campaign evidence reuses qualified account, campaign and capture controls. Other Microsoft tiers and providers listed as unassessed MUST remain unassessed.
Selected input requires named source records and valid capture instants. Enum fields MUST be string literals without language tags; Meta account status MUST be an integer literal. Malformed native RDF terms are outside this qualified input contract.
Resolved eligibility describes only the named native condition. Missing, unassessed and conflicting evidence MUST remain visible without a fabricated factual value. Google and Meta conflicts are source-record-local; Microsoft retains its qualified capture reconciliation.
Google Campaign SERVING reports serving, and AdGroupAd LIMITED reports limited serving. Campaign LIMITED or LEARNING, AdGroup LIMITED and the raw NONE token MUST NOT inherit either rule.
Meta ACTIVE and account states 1, 8 or 9 MUST NOT be treated as actual serving, complete eligibility or account advertiser intent. Only supported configured status controls provide partial intent.
A reported hold MAY coexist with limited serving or unknown serving. A consumer MUST NOT convert a hold, absent serving evidence or zero measurement into a factual non-serving report.
Legacy delivery state version 0.1.0 has incompatible eligibility and actual-serving interpretations. Neither interpretation automatically converts to contract v1. Adoption MUST regenerate and replace or isolate selected derived and vocabulary graphs; append-only union cannot retract old triples or undo stored equality and merges.
The qualified inference witness consists of native instances, preserved legacy output and neutral output under the selected delivery vocabulary and OWL axioms. Arbitrary imported catalog closure, client engine behavior, live captures and deployment require separate qualification.
Consumers MUST select the exact producer, reader, source assessment and artifact hashes in the recipe. Public aliases alone do not establish reviewed bytes or current upstream freshness.
Contract v1 uses separate properties on a neutral observation. Its controlled values MUST NOT be substituted for legacy serving values. Eligibility and serving dispositions constrain factual values through the supplied shapes.
| Term | Kind | Normative meaning |
|---|---|---|
adel:DeliveryEvidenceObservation | Class | Source evidence about independent delivery axes at a retrieval instant. This observation does not establish transition time, latest state, measured delivery or a successful mutation. |
adel:EligibilityState | Class | Whether the entity meets one explicitly named native eligibility condition. This value does not establish complete eligibility across account, ancestors, schedule and policy. |
adel:ServingReportState | Class | A provider report of serving or limited serving at retrieval. A report alone does not establish measured impressions or spend. |
adel:EvidenceDisposition | Class | Whether a selected evidence axis is resolved, missing, unassessed or conflicting. An unresolved disposition supplies no factual eligibility or serving value. |
adel:EligibilityStateScheme | Concept scheme | Controlled values for eligibility under a named native condition. |
adel:ServingReportStateScheme | Concept scheme | Controlled values for provider reports of serving, distinct from measured volume. |
adel:EvidenceDispositionScheme | Concept scheme | Controlled dispositions that retain missing, unassessed and conflicting evidence. |
adel:eligibleUnderNativeCondition | Concept | The selected native condition permits serving; other conditions remain separately assessed. |
adel:ineligibleUnderNativeCondition | Concept | The selected native condition does not permit serving; no measured delivery assertion follows. |
adel:reportedServing | Concept | The provider reports serving at retrieval, without establishing measured volume. |
adel:reportedLimitedServing | Concept | The provider reports serving in a limited capacity; applicable holds may coexist. |
adel:reportedNotServing | Concept | Independent provider evidence reports non-serving; absence of evidence or zero measurements do not supply this value. |
adel:resolvedEvidence | Concept | The selected axis has one supported factual value within its explicitly stated scope. |
adel:missingEvidence | Concept | The selected native evidence surface is absent; no factual value is supplied. |
adel:unassessedEvidence | Concept | Present native evidence is retained without a qualified interpretation for this axis. |
adel:conflictingEvidence | Concept | Competing native readings prevent resolution of this axis while independent axes remain available. |
adel:aboutEntity | Property | The named native source-record handle for Google and Meta, or qualified campaign identity for Microsoft. This link alone does not establish reconciliation across source records. |
adel:observedAt | Property | Source retrieval or capture instant, distinct from effective transition time, a measured interval, current or latest state. |
adel:producerContract | Property | The explicitly selected semantic contract under which this evidence was produced. |
adel:reportedChannel | Property | The advertising provider channel whose evidence this observation retains. |
adel:reportedEligibility | Property | The supported eligibility value for the explicitly named native condition; omitted when evidence is unresolved. |
adel:eligibilityScope | Property | The native predicate or condition assessed by the eligibility value, rather than a claim of complete eligibility. |
adel:eligibilityEvidence | Property | The resolution standing of the selected native eligibility axis. |
adel:providerReportedServing | Property | An independently supported provider serving report, distinct from intent, eligibility, holds and measured volume. |
adel:servingEvidence | Property | The resolution standing of the selected native provider serving-report axis. |
adel:reportedIntent | Property | Partial advertiser intent supported by a configured native control; account status and deletion do not supply intent. |
adel:reportedLifecycle | Property | Lifecycle standing supported by the selected native status, independently of intent and serving. |
adel:reportedHold | Property | A qualified hold retained from provider evidence. A hold may coexist with limited or unknown serving. |
adel:sourceStatus | Property | The native status token retained verbatim without conflating independent axes. |
adel:sourcePrimaryStatus | Property | The native primary-status token retained even when no shared interpretation is qualified. |
adel:sourceServingStatus | Property | The native serving-status token retained even when the pinned source supplies no factual serving report. |
adel:sourceEffectiveStatus | Property | The native effective-status token retained independently from configured intent. |
adel:sourceAccountStatus | Property | The lexical native account-status code retained without inferring account advertiser intent. |
adel:controlObservation | Property | The existing qualified Microsoft campaign control observation supplying scoped capture evidence. |
adel:manualPaused | Property | The separately qualified native manual pause control; omission remains unknown. |
adel:budgetPaused | Property | The separately qualified native budget pause control; omission remains unknown. |
Hold reasons can disclose billing problems, policy decisions, or operational outages. Publishers SHOULD limit access where those facts are sensitive. The vocabulary records state and provenance but does not authorize remediation actions.