View a markdown version of this page

ORTB field reference - AWS Elemental MediaTailor

ORTB field reference

This page is a complete reference for every field in the OpenRTB bid request. Fields are categorized by how MediaTailor handles them and whether APS requires or recommends them for optimal ad fill.

For the full OpenRTB 2.6 specification, see the IAB OpenRTB 2.6 spec.

Field categories

Category Meaning Your action
Mandatory Must be present in your template. MediaTailor throws an error if missing. You must provide these.
Hardcoded by EMT MediaTailor always sets these using values from your console configuration or the current avail context. Your template values are overridden. Do not set these in your template.
APS Recommended Not strictly required by MediaTailor, but APS recommends these for better ad fill and targeting. Missing recommended fields may result in lower fill rates or no-bid responses. Strongly recommended.
Optional Included in the bid request only if you provide them. No default value. Provide if relevant to your use case.

app object

Field Category Notes
app Mandatory The app object must exist in your template.
app.bundle Mandatory Your app's bundle ID (for example, G15147002586). Must not be empty.
app.storeurl Mandatory App store URL (for example, https://apps.apple.com/us/app/yourapp/id123).
app.publisher.id Hardcoded by EMT Always set to your PublisherId from the console configuration.
app.content Mandatory (object) MediaTailor sends an empty Content object if you omit this. Provide content metadata for better targeting.
app.name APS Recommended App name for identification.
app.id APS Recommended Your app identifier in APS.
app.domain APS Recommended App domain.
app.content.genre APS Recommended Content genre (for example, "Sport", "News").
app.content.contentrating APS Recommended Content rating (for example, "TV-G", "TV-14").
app.content.language APS Recommended Content language (ISO-639-1).
app.content.id APS Recommended Content identifier.
app.content.title APS Recommended Content title.
app.content.episode APS Recommended Episode number.
app.content.len APS Recommended Content length in seconds.
app.cat Optional Content categories (IAB taxonomy).
app.sectioncat Optional Section categories.
app.pagecat Optional Page categories.
app.ver Optional App version.
app.privacypolicy Optional 1 = has privacy policy.
app.paid Optional 1 = paid app.
app.keywords Optional Comma-separated keywords.
app.kwarray Optional Keywords as array.
app.inventorypartnerdomain Optional Inventory partner domain.
app.ext Optional Extension object (pass-through).

device object

Field Category Notes
device Mandatory The device object must exist in your template.
device.ua Mandatory User agent string. Must not be empty. Use {{session.user_agent}}.
device.ip Mandatory IPv4 address. Must not be empty. Use {{session.client_ip}}.
device.lmt Optional (default: 0) Limit Ad Tracking flag. 0 = tracking allowed, 1 = tracking limited. If not provided in your template, defaults to 0.
device.devicetype Hardcoded by EMT (default: 3) MediaTailor sets 3 (Connected TV) if not provided. Your value is used if present.
device.make APS Recommended Device manufacturer (for example, "Samsung", "Apple").
device.model APS Recommended Device model (for example, "Tizen TV", "iPhone").
device.os APS Recommended Operating system (for example, "Tizen", "iOS").
device.osv APS Recommended OS version.
device.h APS Recommended Screen height in pixels.
device.w APS Recommended Screen width in pixels.
device.language APS Recommended Device language (ISO-639-1).
device.ifa APS Recommended Device advertising ID. Not all devices have one (for example, web browsers).
device.dnt APS Recommended Do Not Track flag.
device.geo Optional Geo object with country, lat, lon.
device.sua Optional Structured User Agent (UA-CH).
device.ipv6 Optional IPv6 address.
device.hwv Optional Hardware version.
device.connectiontype Optional Connection type (WiFi, cellular, and so on).
device.carrier Optional Carrier name.
device.mccmnc Optional Mobile country/network code.
device.ext Optional Extension object (pass-through).

imp (impression) object

Your template must contain exactly one imp object in an array.

Field Category Notes
imp[0].video Mandatory The video object must exist.
imp[0].video.mimes Mandatory Supported MIME types (for example, ["video/mp4"]).
imp[0].video.protocols Optional Supported VAST protocols. If omitted, MediaTailor uses hardcoded fallback [1, 2, 3, 4, 5, 6, 7, 8]. See the protocol enum reference below.
imp[0].video.minduration Hardcoded by EMT Set to your MinimumUnfilledDuration from the console.
imp[0].video.maxduration Hardcoded by EMT Set to the actual unfilled duration (seconds).
imp[0].video.maxseq Hardcoded by EMT Calculated: floor(unfilled_duration / 6). APS recommends either maxseq or poddur to return multiple ads.
imp[0].video.poddur Hardcoded by EMT Set to the unfilled duration (seconds).
imp[0].video.startdelay Optional Start delay. 0 = pre-roll, -1 = generic mid-roll, -2 = post-roll, > 0 = mid-roll offset in seconds. Use -1 for live mid-roll breaks. Hardcoded fallback: 6.
imp[0].video.w APS Recommended Video width in pixels.
imp[0].video.h APS Recommended Video height in pixels.
imp[0].video.plcmt APS Recommended Placement type (1 = in-stream).
imp[0].video.podid APS Recommended Pod identifier.
imp[0].video.slotinpod APS Recommended Slot position in pod.
imp[0].video.ext.slotId Optional (default: "default_slot_id") Your APS slot ID from the APS console. The default works but providing your actual slot ID allows APS to apply slot-specific targeting and floor pricing.
imp[0].bidfloor Optional (default: 1.0) Minimum bid price in CPM.
imp[0].secure Optional (default: 1) 1 = requires HTTPS creative URLs.
imp[0].id Optional Impression ID. Auto-generated if not provided.
imp[0].tagid Optional Tag/placement ID.
imp[0].bidfloorcur Optional Bid floor currency (default USD).
imp[0].ssai Optional SSAI indicator.
imp[0].exp Optional Expiration time for the impression.
imp[0].rqddurs Optional Requested durations array.
imp[0].mincpmpersec Optional Minimum CPM per second.
imp[0].pmp Optional Private marketplace object.
imp[0].ext Optional Extension object (pass-through).

Protocol enum reference

Value Protocol
1 VAST 1.0
2 VAST 2.0
3 VAST 3.0
4 VAST 1.0 Wrapper
5 VAST 2.0 Wrapper
6 VAST 3.0 Wrapper
7 VAST 4.0
8 VAST 4.0 Wrapper
9+ DAAST

Top-level fields

Field Category Notes
id Hardcoded by EMT Auto-generated: {sessionId}_{availId} format (for example, abc123-def456_78901). Useful for correlating bid requests with session logs.
cur Optional (default: ["USD"]) Allowed currencies.
ext.integrationType Hardcoded by EMT Always set to "EMT".
bcat Optional Blocked ad categories (IAB taxonomy). Your template value is sent as-is to APS.
badv Optional Blocked advertiser domains.
bapp Optional Blocked app bundle IDs.
test Optional Test mode flag.
at Optional Auction type.
tmax Optional Maximum time (ms) to wait for bid response.
wseat Optional Allowed buyer seats.
bseat Optional Blocked buyer seats.
wlang Optional Allowed creative languages.
source Optional Source object for supply chain.
ext Optional Your custom extension fields are merged with EMT's integrationType.

user object

Field Category Notes
user APS Recommended (EU) Required for EU traffic with GDPR consent.
user.consent APS Recommended (EU) GDPR consent string (TCF).
user.id Optional User ID.
user.buyeruid Optional Buyer-specific user ID.
user.eids Optional Extended identifiers (LiveRamp, UID2, and so on).
user.data Optional User data segments.
user.ext Optional Extension object.

regs object

Field Category Notes
regs APS Recommended Include for regulatory compliance.
regs.coppa APS Recommended (US) COPPA flag (1 = child-directed).
regs.us_privacy APS Recommended (US) US Privacy / CCPA string.
regs.gdpr APS Recommended (EU) GDPR applies (1 = yes).
regs.gpp APS Recommended Global Privacy Platform string. Preferred over us_privacy for US audiences, results in better fill rates. See Best practices.
regs.gpp_sid APS Recommended GPP section IDs (for example, [7] for US National). Required when gpp is present.
regs.ext Optional Extension object.

Next steps