The Advertising Entity Ontology defines the configured tiers and reusable assets of advertiser-side systems. Tiers are named for the function they carry so provider labels can differ without changing the shared model.
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.
| Prefix | Namespace IRI |
|---|---|
aent | https://ontology.inferal.com/modules/advertising-entity/ |
This module covers ad accounts, campaigns, targeting groups, ads, creatives, provider identities, account-holding roles, objectives, bid strategies, and creative formats.
Hierarchy containment is time-bounded in the advertising measurement module. Metrics, budgets, delivery state, structured targeting payloads, and party identity are outside this module.
An account is the billing and holding boundary. A campaign carries an objective and budget scope when those are reported. A targeting group carries audience and bid. An ad delivers a creative. Provider mappings MUST follow these functions, not the provider's local nouns.
An identifier is meaningful only with the channel that issued it. An advertising entity MUST carry at least one provider identity, and each identity pairs exactly one lexical value with one issuing channel.
An ad is a configured delivery unit while a creative is a reusable asset. Several ads MAY deliver the same creative. Consumers MUST NOT infer that repeated delivery creates multiple creative resources.
A provider value and issuing channel preserve identifier evidence without establishing universal identity. Its namespace can depend on account, entity tier or native resource scope. Consumers SHOULD retain source-qualified identity IRIs and provenance until the source establishes that scope. Equality of identity nodes alone does not identify the advertising resources carrying them; the identity relationship remains repeatable.
The qualification boundary is fresh OWL RL closure over the selected graph containing this vocabulary and its addendum together with the advertising measurement vocabulary and addendum. Synthetic named collisions with a restored-key positive control exercise identity inference. RDFLib and Jena SELECT execution on the same standard RDF transport view of that closure qualifies query answers; Jena is not a second OWL reasoner. Full import closure, client adoption and observed production collisions require independent evidence.
Withdrawing an identity key cannot retract stored owl:sameAs, reconstruct merged records or disable an older key still loaded from another graph. Consumers SHOULD establish fresh closure from selected asserted sources and review provenance-aware reconstruction before persistent adoption. Identifier scope and uniqueness remain source assessments.
The full reasoning closure remains available for identity and SHACL checks. Transport omits only derived literal-subject triples and retains every legal RDF triple, including literal objects, blank-node lists and source links. The qualification rejects malformed asserted RDF. RDFLib verifies round-trip graph parity; Jena independently verifies SELECT answer bags, with no independent OWL reasoning by Jena.
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 |
|---|---|---|---|
aent:Ad |
Class | A configured delivery unit pairing a creative with the targeting group that decides who sees it. | Subclass of: aent:AdvertisingEntity |
aent:AdAccount |
Class | An account at one advertising channel, held by a party, under which campaigns are configured and spend is billed. | Subclass of: aent:AdvertisingEntity |
aent:AdvertisingEntity |
Class | Anything an advertiser configures on a platform and can be measured against: an account, a campaign, a targeting group, or an ad. | Subclass of: aent:AdvertisingResource |
aent:AdvertisingResource |
Class | Anything an advertiser configures or produces: the tiers of an account hierarchy, and the creatives those tiers deliver. | Subclass of: prov:Entity |
aent:BidStrategy |
Class | The rule a campaign bids under, such as maximising outcomes or holding to a cost or return target. | Subclass of: skos:Concept |
aent:Campaign |
Class | The tier at which an advertising objective and the budget scope that funds it are configured, when the provider exposes those facts. Named in full because a campaign in general is not an advertising campaign: military, political, and fundraising campaigns are all campaigns, and the last two may contain advertising campaigns without being them. | Subclass of: aent:AdvertisingEntity |
aent:Creative |
Class | The asset an ad delivers: the copy, imagery, video, and call to action a person actually sees. | Subclass of: aent:AdvertisingResource |
aent:CreativeFormat |
Class | The presentational form an asset takes, such as a single image, a carousel of several, or a video. | Subclass of: skos:Concept |
aent:Objective |
Class | The outcome an advertising campaign is optimised toward, such as awareness, traffic, or sales. Named in full because an objective in general belongs to no domain in particular. | Subclass of: skos:Concept |
aent:ProviderIdentity |
Class | An identifier an entity carries on one channel, paired with the channel that issued it. | No local domain or range restriction. |
aent:TargetingGroup |
Class | The tier carrying the audience an advertiser wants to reach and the bid it will pay to reach them. It contains ads as a consequence of sitting at that tier, not as its definition. | Subclass of: aent:AdvertisingEntity |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
aent:accountChannel |
Property | The advertising channel this account exists at. | Domain: aent:AdAccount; Range: adm:Channel |
aent:accountCurrency |
Property | The ISO 4217 code of the currency this account is billed and reported in. Metrics rows generally omit it, so it is resolved from here. | Domain: aent:AdAccount; Range: xsd:string |
aent:bidAmount |
Property | The amount this tier will pay for the outcome it bids on, reusing the shared monetary amount so a bid and the spend it produces are denominated in the same terms. | Domain: aent:TargetingGroup; Range: adm:MonetaryAmount |
aent:carriesTargeting |
Property | The audience specification this tier delivers against. Left deliberately unstructured: two providers ship targeting as an untyped blob, so describing its internals here would make their data unrepresentable. | Domain: aent:TargetingGroup; Range: rdfs:Resource |
aent:creativeFormat |
Property | The presentational form of the asset, such as a single image, a carousel, or a video. | Domain: aent:Creative; Range: aent:CreativeFormat |
aent:deliversCreative |
Property | The asset this ad delivers. Several ads may deliver one creative, which is why the two are separate resources. | Domain: aent:Ad; Range: aent:Creative |
aent:entityName |
Property | The advertiser's own name for this entity. Names are not identifiers: they are edited freely, repeat across accounts, and are absent on some tiers. | Domain: aent:AdvertisingResource; Range: xsd:string |
aent:heldUnderRole |
Property | The role under which a party holds this account, stated as a time-bounded relationship rather than by conflating the account with its holder. | Domain: aent:AdAccount; Range: ci:Role |
aent:identifiedBy |
Property | A provider identity this entity carries. Repeatable, because one entity may be identified differently on the platform that runs it and on a measurement platform that reports it. | Domain: aent:AdvertisingResource; Range: aent:ProviderIdentity |
aent:identifierValue |
Property | The identifier as the issuing channel states it, preserved verbatim. Providers ship integers, opaque resource paths, and prefixed strings, and normalising them would lose the ability to address the entity on its own platform. | Domain: aent:ProviderIdentity; Range: xsd:string |
aent:issuingChannel |
Property | The channel that issued this identifier, without which the value does not identify anything. | Domain: aent:ProviderIdentity; Range: adm:Channel |
aent:pursuesBidStrategy |
Property | The bidding rule this campaign applies, when the source reports one. | Domain: aent:Campaign; Range: aent:BidStrategy |
aent:pursuesObjective |
Property | The outcome this campaign is optimised toward, when the source reports one. Absence means unreported rather than unknown. | Domain: aent:Campaign; Range: aent:Objective |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
aent:appPromotionObjective |
Concept | Optimised toward installs or in-app activity. | Scheme: aent:ObjectiveScheme |
aent:awarenessObjective |
Concept | Optimised toward being seen by as many relevant people as possible. Judged on reach and frequency rather than on clicks or conversions. | Scheme: aent:ObjectiveScheme |
aent:carouselFormat |
Concept | Several cards a person swipes through, each with its own destination. | Scheme: aent:CreativeFormatScheme |
aent:collectionFormat |
Concept | A cover asset above a grid of products, opening into a full-screen experience. | Scheme: aent:CreativeFormatScheme |
aent:conversionsObjective |
Concept | Optimised toward a tracked conversion action of any kind, such as a purchase, a sign-up or a lead submitted on the advertiser's site. Judged on conversions and cost per conversion. | Scheme: aent:ObjectiveScheme; narrower: aent:salesObjective |
aent:costTargetStrategy |
Concept | Bid so that the average cost of an outcome holds to a stated figure. | Scheme: aent:BidStrategyScheme |
aent:engagementObjective |
Concept | Optimised toward interactions with the ad or its surrounding content. | Scheme: aent:ObjectiveScheme |
aent:leadObjective |
Concept | Optimised toward collecting contact details or expressions of interest. | Scheme: aent:ObjectiveScheme |
aent:maximiseOutcomesStrategy |
Concept | Spend the budget to obtain as many outcomes as possible, with no cost or return target stated. | Scheme: aent:BidStrategyScheme |
aent:salesObjective |
Concept | Optimised toward purchases or other revenue-bearing outcomes. The only objective for which a return figure is straightforwardly meaningful. | Scheme: aent:ObjectiveScheme; broader: aent:conversionsObjective |
aent:singleImageFormat |
Concept | One static image with accompanying copy. | Scheme: aent:CreativeFormatScheme |
aent:trafficObjective |
Concept | Optimised toward sending people to a destination. Judged on clicks and cost per click. | Scheme: aent:ObjectiveScheme |
aent:valueTargetStrategy |
Concept | Bid so that the return on spend holds to or exceeds a stated ratio. | Scheme: aent:BidStrategyScheme |
aent:videoViewsObjective |
Concept | Optimised toward people watching a video to a provider-defined threshold. Judged on video views and cost per view. | Scheme: aent:ObjectiveScheme |
aent:videoFormat |
Concept | Moving image with optional sound. The only format for which video view metrics are meaningful. | Scheme: aent:CreativeFormatScheme |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
aent:BidStrategyScheme |
Concept scheme | Cross-provider anchors for campaign bidding rules. Provider profiles extend this scheme rather than defining parallel classes. | No local domain or range restriction. |
aent:CreativeFormatScheme |
Concept scheme | Cross-provider anchors for creative formats. Provider profiles extend this scheme. | No local domain or range restriction. |
aent:ObjectiveScheme |
Concept scheme | Cross-provider anchors for campaign objectives. Provider profiles extend this scheme rather than defining parallel classes. | 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.
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.
Provider identifiers, targeting references, and account-holder roles can identify customers or reveal campaign structure. Publishers SHOULD minimize exposed identifiers and apply access controls. Targeting payload semantics and personal-data policy are outside this vocabulary.