The OpenRTB content object, field by field, for buyers
Part of Contextual targeting

The short answer
The OpenRTB content object is the part of a bid request that describes the content an ad will appear in: its title, keywords, categories, genre, language, length, ratings and producer. It sits inside the site or app object, is filled by the publisher or exchange, and can arrive partial, so buyers treat it as a declared signal to verify.
Key takeaways
- In OpenRTB 2.6 the content object describes the specific article, video or stream, which can differ from the publisher's general content.
- Every field is optional and declared by the supply side, so coverage and accuracy vary by publisher and by exchange.
- The cat field defaults to Content Taxonomy 1.0 when cattax is missing, a version AdCOM now marks as deprecated.
- For video, genres with gtax, len, livestream, language and the ratings fields carry the video context.
- When fields are empty, a planned site or channel list and the content URL do more work than a bid time rule.
What is the OpenRTB content object?
Definition
- Content object (OpenRTB 2.6, section 3.2.16)
- The object that, in the specification's words, describes the content in which the impression will appear, which may be syndicated or non-syndicated content. It is nested inside the site object for web inventory and the app object for app and connected TV inventory.
The OpenRTB 2.6 specification (opens in a new tab) explains why the object exists. Syndicated content can carry impressions that do not match the publisher's general content, and the exchange might or might not know the page where the content is running. The spec's own example is a video impression embedded in an iframe on an unknown web property or device. The site or app object says whose inventory it is; the content object says what the viewer is watching or reading at that moment.
That makes the content object the closest thing in the bid stream to a contextual description of one impression, and one that can arrive half empty. For the fields that describe the publisher, the seller and the path an impression took, see our guides to the supply chain object and programmatic advertising.
What fields does the OpenRTB content object carry?
OpenRTB 2.6 lists more than thirty attributes. The table groups the ones a contextual buyer is likely to read, with the definition taken from the specification and AdCOM 1.0, the companion document that holds the enumerated lists.
| Field | What the spec says it holds | What a buyer can use it for |
|---|---|---|
| id, title, series, season, episode | Publisher provided content ID, and the title, series and season of the content | Reading what the program or article is, and reporting by show |
| url | URL of the content, for buy-side contextualization or review | Opening and classifying the actual page or video |
| keywords or kwarray | Comma separated keywords, or an array of keywords; only one of the two may be present | Keyword matching, with the caution that sellers choose the words |
| cat and cattax | IAB Tech Lab content categories describing the content, in the taxonomy named by cattax | Category targeting and reporting at the content level |
| genre, genres and gtax | A free text genre, or genre IDs from the taxonomy named by gtax | Genre allow and block lists, mainly for long form video |
| language or langb | Content language as ISO 639-1 alpha-2, or as an IETF BCP 47 tag; only one should be present | Matching creative language, such as French for Quebec viewers |
| len, livestream, realtime, firstbroadcast | Length in seconds; scheduled or on demand broadcast; whether the event is live; whether this is the first airing | Separating live events, replays and clips |
| contentrating, qagmediarating, userrating | A rating such as MPAA; a media rating per TAG's Inventory Quality Guidelines; a user rating such as stars or likes | A first pass on audience maturity, never a full suitability check |
| prodq, context, sourcerelationship | Production quality; type of content such as video or text; whether the source is direct or indirect | Telling professional programming from user uploads |
| producer, network, channel | Objects naming the content producer, the network and the channel the content is on | Reporting and targeting by the entity behind the content |
Who fills in content object fields, and how reliable are they?
The supply side fills every field. A publisher's ad server or player passes what it knows about the content, and the exchange or SSP may add, normalize or drop values before the request reaches a bidder. The spec describes id as publisher provided and treats almost every attribute as optional, so a request can be valid with an empty content object or none at all.
Reliability depends on who knows the content best. A streaming publisher that owns its catalog is likely to know the title, series, length and rating precisely. A player embedded across many sites may know the video but not the page around it. A web page may carry only a category picked once for the whole section. The OpenRTB implementation guide is candid about one weak spot: the free text genre field is so loosely filled that sellers often pass their own internal naming conventions or long comma separated arrays, which is why Tech Lab added enumerated genres.
Four questions to put to a seller before trusting content fields
- Ask who sets each field. The publisher, the player vendor or the exchange, and whether any value is inferred by a classifier rather than declared by the content owner.
- Ask how often fields are present. Request the share of bid requests on the deal or package that carry cat, genres, language and url.
- Ask which taxonomy versions are sent. Confirm the cattax and gtax values in use, and whether vendor specific codes appear.
- Ask for a sample request. A redacted bid request from the actual inventory shows the real fields faster than any description.
How does the cat field relate to the IAB Content Taxonomy?
The cat field is an array of IAB Tech Lab category IDs, and cattax names the taxonomy those IDs come from. The values for cattax live in AdCOM 1.0's list of category taxonomies (opens in a new tab), where 7 is Content Taxonomy 3.0 and 9 is Content Taxonomy 3.1. Our IAB Content Taxonomy guide covers the tiers and IDs themselves.
The implementation guide splits the work: genres describe the holistic piece of content, while cat and cattax in the content object describe finer details within it. Categories for the whole site or app belong in the site or app object, so expect the two levels to differ.
Which content fields matter most for video placements?
Video, and connected TV in particular, is where the content object does its heaviest lifting, because there is no article text for a buyer to read. Tech Lab built the genres and gtax fields for this case and published a CTV Genre Mapping (opens in a new tab), a subset of Content Taxonomy 3.1, as the expected values. The guide asks publishers to pass a minimum viable number of genres, most apt first, and warns that declaring the maximum number of genres does not imply additional demand.
| Field | Why it matters on video | What to check |
|---|---|---|
| genres with gtax | The standard way to say what kind of program it is | That gtax is present or that the IDs match the CTV Genre Mapping |
| title and series | Names the program a client may want to be beside or away from | Whether titles are real program names or internal codes |
| len | Separates short clips from long episodes and films | That the value is the content length in seconds, not the ad pod |
| livestream and realtime | Separates on demand viewing from scheduled and live events | That live news and live sports are labeled before a sensitive flight |
| language or langb | Confirms the audio language for a French or English creative | That only one of the two fields is sent |
| contentrating and qagmediarating | A declared maturity level for the program | That the rating scheme is named, and that it is not used as the only suitability check |
| prodq and sourcerelationship | Professional programming against user uploads, and direct against indirect sources | That the values come from the content owner, not a guess |
Fictional example, no results implied
A hearing care clinic network in Indiana
An unnamed hearing care clinic network in Indianapolis and Fort Wayne plans an English online video and connected TV deal for adults in Indiana, beside news, home renovation and travel programming. The brief rules out live breaking news and user uploaded clips.
Before the deal is set up, the planner asks the SSP for a redacted sample request from the package. It shows genres with gtax 9, len and language on most requests, and livestream on some. The deal targets the agreed genres, leaves out news requests that realtime marks as live, and leaves out requests whose prodq value is 3, user generated. Because few requests send realtime yet, the news genres also stay limited to publishers the planner reviewed in advance. The planner records which fields were present when the deal was approved, so a later change in fill can be spotted.
What should a buyer do when content fields are empty?
An empty field is missing information, not a negative signal. A rule that requires a category or keyword match drops every request that lacks the field, which quietly removes inventory from careful publishers who simply do not send it. A rule that blocks on a category lets through every request where the category is absent. Neither outcome is what the buyer intended.
Working with sparse content metadata
- Targeting rules were tested against a sample of real requests to see how many carry each field the rule depends on.
- Requests without the field are handled by a written decision, such as allowed on planned domains only, rather than by the platform default.
- Where the url field is present, a sample of content URLs was opened and read by a person.
- Context that matters for suitability is secured in advance through a reviewed site or channel list, not only through bid time fields.
- The seller agreed in writing which content fields the deal will carry, and with which taxonomy versions.
- Served placement or content reports are compared with the plan in the first week of the flight.
For planned buying, much of this work moves earlier. A planner who has already read the sites and channels on an inclusion list or a curated deal uses the content object to confirm rather than to decide. Our contextual targeting hub covers how that plan is built.
How does PlacementGraph describe content before a bid request exists?
Frequently asked questions
Is the content object the same in OpenRTB 3.0?
No. OpenRTB 3.0 moved the description of content into AdCOM 1.0, which has its own Content object used by the newer framework. The 2.6 content object and the AdCOM object share many attribute names, and Tech Lab's 2026 release added realtime and firstbroadcast to both, but a buyer should confirm which framework a partner actually sends.
Can a buyer see the content object in a platform report?
Possibly only in part. Buying platforms decide which request fields they expose as targeting options or report dimensions, and a platform may show the domain or app but not the content title, genre or URL. Ask the buying platform which content fields it reads, and whether log level data is available for the deal.
What is the difference between keywords and kwarray?
They carry the same information in different shapes. keywords is a single comma separated string, and kwarray is an array of separate strings. The spec allows only one of the two in a content object. A buyer's keyword rules should be checked against whichever form the seller sends, since a parser built for one may ignore the other.
Does contentrating mean the same thing on every request?
No. The spec defines it as a free text content rating and gives MPAA as an example, so the scheme can vary by publisher and country. qagmediarating is enumerated instead, with three values from TAG's Inventory Quality Guidelines: all audiences, everyone over age 12 and mature audiences. Agree with the seller which scheme each field uses.
Sources
- OpenRTB 2.6 specification, section 3.2.16 Object: Content (opens in a new tab)IAB Tech Lab, GitHub
- OpenRTB 2.x implementation guidance, section 7.13 Using genres and gtax attributes (opens in a new tab)IAB Tech Lab, GitHub
- OpenRTB 2.x releases (2.6-202501 and 2.6-202606) (opens in a new tab)IAB Tech Lab, GitHub
- AdCOM 1.0: Category Taxonomies, Content Contexts, Media Ratings and Production Qualities lists (opens in a new tab)IAB Tech Lab, GitHub
- CTV Genre Mapping (opens in a new tab)IAB Tech Lab, GitHub
Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.