Fyber Marketplace OpenRTB 2.5 Specs

Introduction

Welcome to Fyber's OpenRTB documentation. This guide outlines how Fyber has implemented the OpenRTB 2.5 specification. Fyber supports OpenRTB versions 2.2, 2.3 and 2.5; older versions are not compatible.

It is encouraged that buyers upgrade their integration to Fyber's latest OpenRTB 2.5 specification to benefit from all supported parameters.

Background

OpenRTB was initially built to standardize communication between parties for blocking inventory. The first version of OpenRTB was released in December 2010 and due to its widespread use, OpenRTB was adopted as an official IAB standard. OpenRTB has evolved into a standardized API protocol designed to automate the real-time trading of digital media across a range of platforms, devices and advertising solutions.

The tables below detail all of the parameters supported by Fyber and the values you can expect to see. 

Terminology Used in this Article

Term Definition
RTB Bidding for individual impressions in real-time (i.e., while a consumer is waiting)
Exchange A service conducting an auction among bidders per impression
Bidder An entity competing in real-time auctions to acquire impressions
Seat An advertising entity (e.g., advertiser, agency) wanting to obtain impressions and uses bidders to act on their behalf; a customer of a bidder and usually the owner of the advertising budget
Publisher An entity operating one or more apps
App Details of the application calling for the impression
Deal A pre-arranged agreement between two entities to purchase impressions under certain terms

Object: Model

Attribute Status Description Display Video

bidRequest

Supported 3.2.1 Top Level Object

source

Supported 3.2.2 Request source details on post-auction decisioning (e.g., header bidding)

regs

Supported 3.2.3 Regulatory conditions in effect for all impressions in this bid request

imp

Supported 3.2.4 Container for the description of a specific impression; at least 1 per request

metric

Not Supported 3.2.5: A quantifiable often historical data point about an impression

banner

Supported 3.2.6 Details for a banner impression including in-banner video (MRAID Video) and video companion ad (end card)

video

Supported 3.2.7 Details for a video impression.

audio

Not Supported 3.2.8: Container for an audio impression

native

Supported 3.2.9 Container for a native impression conforming to the Dynamic Native Ads API

format

Not Supported 3.2.10: An allowed size of a banner

pmp

Supported 3.2.11 Collection of private marketplace (PMP) deals applicable to this impression

deal

Supported 3.2.12 Deal terms pertaining to this impression between a seller and buyer

site

Supported 3.2.14 Details of the website calling for the impression

app

Supported 3.2.14 Details of the application calling for the impression

publisher

Supported 3.2.15 Entity that controls the content of and distributes the site or app

content

Not Supported 3.2.16 Details about the published content itself, within which the ad will be shown

producer

Not Supported 3.2.17: Producer of the content; not necessarily the publisher (e.g., syndication)

device

Supported 3.2.18 Details of the device on which the content and impressions are displayed

geo

Supported 3.2.19 Location of the device or user’s home base depending on the parent object

user

Supported 3.2.20 Human user of the device; audience for advertising

data

Not Supported 3.2.21: Collection of additional user targeting data from a specific data source

segment

Not Supported 3.2.22: Specific data point about a user from a specific data source

bidResponse

Supported 4.2.1 Top-level object. Fyber does not support mutl-bid response, as signaled in our bid request.

RTB responses contain bids that reference specific impressions within a bid request. Bids are in essence an offer to buy. The bid response consists of the top-level bid response object and optional objects that depict the specific bids.

An empty HTTP response constitutes a no-bid. Partners are encouraged to pass an HTTP 204 code to indicate a no-bid. Conversely, an HTTP 200 code indicates a ok code i.e., a bid. A malformed response or a response that contains no actual bids will also be interpreted as no-bid.

seatBid

Supported 4.2.2 Collection of bids made by the bidder on behalf of a specific seat

bid

Supported 4.2.3 An offer to buy a specific impression under certain business terms

Object: BidRequest

Attribute Status Description Display Video

id

Supported Unique ID of the bid request, provided by the exchange. Always passed. Example: id:5474530178147203492

imp

Supported Array of Imp objects (Section 3.2.4) representing the impressions offered. At least 1 Imp object is required. Always passed

site

Supported Details via a Site object (Section 3.2.13) about the publisher’s website. Only applicable and recommended for websites. Always Passed

app

Supported Details via an App object (Section 3.2.14) about the publisher’s app (i.e., non-browser applications). Only applicable and recommended for apps. Always Passed

device

Supported Details via a Device object (Section 3.2.18) about the user’s device to which the impression will be delivered Always Passed

user

Supported Details via a User object (Section 3.2.20) about the human user of the device; the advertising audience Always Passed

test

Not Supported Indicator of test mode in which auctions are not billable, where 0 = live mode, 1 = test mode

at

Supported Auction type, where 1 = First Price, 2 = Second Price Always Passed

tmax

Supported Maximum time in milliseconds the exchange allows for bids to be received including Internet latency to avoid timeout. This value supersedes any a priori guidance from the exchange. 350ms. Always Passed

wseat

Not Supported White list of buyer seats (e.g., advertisers, agencies) allowed to bid on this impression. IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange a priori. At most, only one of wseat and bseat should be used in the same request. Omission of both implies no seat restrictions.

bseat

New Support Block list of buyer seats (e.g., advertisers, agencies) restricted from bidding on this impression.

IDs of seats and knowledge of the buyer’s customers to which they refer must be coordinated between bidders and the exchange priority.

At most, only one of wseat and bseat should be used in the same request. Omission of both implies no seat restrictions.
Passed when applicable

allimps

Not Supported Flag to indicate if Exchange can verify that the impressions offered represent all of the impressions available in context (e.g., all on the web page, all video spots such as pre/mid/post roll) to support road-blocking. 0 = no or unknown, 1 = yes, the impressions offered represent all that are available.

cur

Supported Array of allowed currencies for bids on this bid request using ISO-4217 alpha codes. Recommended only if the exchange accepts multiple currencies. Always passed. Fyber only supports USD.

wlang

Not Supported White list of languages for creatives using ISO-639-1-alpha-2. Omission implies no specific restrictions, but buyers would be advised to consider language attribute in the Device and/or Content objects if available.

bcat

Supported Blocked advertiser categories using the IAB content categories.
Refer to List 5.1.
Fyber default values:
  • IAB7-28
    (Incest/Abuse Support)
  • IAB7-42
    (Substance Abuse)
  • IAB17-18 (Hunting/Shooting)
  • IAB24 (Uncategorized)
  • IAB25-1 (Unmoderated User Generated Content)
  • IAB25-2 (Extreme Graphic/Explicit Violence)
  • IAB25-3 (Pornography)
  • IAB25-4 (Profane Content)
  • IAB25-5 (Hate Content)
  • IAB25-7 (Incentivized)
  • IAB26-1 (Illegal Content)
  • IAB26-2 (Warez)
  • IAB26-3 (Spyware/Malware)
  • IAB26-4
    (Copyright Infringement)
  • See Fyber's Demand Content Policy for more information

badv

Supported Blocked list of advertisers by their domains (e.g."ford.com") Always passed based on publishers's list of blocked advertiser domains

bapp

Not Supported Block list of applications by their platform-specific exchangeindependent application identifiers. On Android, these should be bundle or package names (e.g., com.foo.mygame). On iOS, these are numeric IDs.

source

Supported A Source object (Section 3.2.2) that provides data about the inventory source and which entity makes the final decision Always Passed

regs

Supported A Regs object (Section 3.2.3) that specifies any industry, legal, or governmental regulations in force for this request. Always Passed
 

Object: Source

Attribute Status Description Display Video

fd

Supported Entity responsible for the final impression sale decision, where 0 = exchange, 1 = upstream source. When the Fairbid SDK is used, Fyber will pass 0. When the Fyber SDK is present, we will pass a value of 0 = exchange. In all other situations, we will not pass this parameter.

tid

Supported Transaction ID that must be common across all participants in this bid request (e.g., potentially multiple exchanges). Fyber always passes the session ID

pchain

Not Supported Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0

ext.schain

Supported The SupplyChain object is composed primarily of a set of nodes where each node represents a specific entity that participates in the transacting of inventory. The entire chain of nodes from beginning to end represents all entities who are involved in the direct flow of payment for inventory.

ext.schain.ver

Supported The version of the supply chain specification in use

ext.schain.complete

Supported Flag indicating whether the chain contains all nodes involved in the transaction leading back to the owner of the site, app or other medium of the inventory, where 0 = no, 1 = yes

ext.schain.nodes

Supported Array of SupplyChainNode objects in the order of the chain. In a complete supply chain, the first node represents the initial advertising system and seller ID involved in the transaction. Fyber is always node 1

ext.schain.asi

Supported Canonical domain name of the SSP

ext.schain.sid

Supported Publisher ID

ext.schain.hp

Supported Indicates whether this node will be involved in the flow of payment for the inventory. When set to 1, the advertising system in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain. When set to 0, this node is not involved in the flow of payment for the inventory. For version 1.0 of SupplyChain, this property should always be 1

ext.schain.rid

Supported The OpenRTB requestId of the request as issued by this seller

Object: Regs

Attribute Status Description Display Video

coppa

Supported Flag indicating if this request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes. Refer to Section 7.5 for more information. When a request coppa = yes (1), Fyber does the following:
Device Object
  • Suppress didmd5 and didsha1 device ID fields
  • Truncate IP Filed - removes lowest 8 bits
  • Truncate ipv6 field - removes lowest 32 bits

Geo Object
  • Suppress lat and long fields
  • Supress metro, city and zip fields

User Object
  • Suppress id, buyeruid,yob and gender fields
  • Continue to pass Device ID, when available

ext.gdpr

Supported Extension to signal whether or not the request is subject to GDPR regulations Always passed.
The GDPR regulation parameter is passed to indicate if the request is subject to GDPR regulation, where
  • 0 = No, request is not subject to GDPR, and
  • 1 = Yes, request is subject to GDPR

Please refer to Fyber's GDPR FAQ for more information.

ifa

Supported ID sanctioned for advertiser use in the clear (i.e., not hashed) Passed when available. Represents the IDFA or AAID Fyber receives from the user's device. When there is no GDPR consent or the user has opted out according to CCPA, IFA is still passed. Fyber omits all necessary data to comply with GDPR and CCPA.

ext.us_privacy

Supported Extension to pass the US Privacy String Always passed when available from publisher. Fyber will not change, delete, or obfuscate any data in the bid request when the user opts-out according to CCPA regulation. Fyber will pass the U.S Privacy string to demand partners. It is the demand partner's responsibility to determine which data can be used for ad targeting purposes according to CCPA regulation. Please refer to Fyber's CCPA Resource Page for more information.
 

Object: Imp

Attribute Status Description Display Video

id

Supported A unique identifier for this impression within the context of the bid request (typically, starts with 1 and increments) Value will always be 1 because Fyber does not support multi-bid response Value will always be 1 because Fyber does not support multi-bid response

metric

Not Supported An array of Metric object (section 3.2.5)

banner

Supported A Banner object (Section 3.2.6): required if this impression is offered as a banner ad opportunity Always Passed An array of banner objects is only used on a Video bid request to signal information about the companion ad (i.e., end card). A companion ad can only be served on Video inventory.

video

Supported A Video object (Section 3.2.7); required if this impression is offered as a video ad opportunity Never Passed Always Passed

audio

Not Supported An Audio object (Section 3.2.8); required if this impression is offered as an audio ad opportunity

native

Supported A Native object (Section 3.2.9); required if this impression is offered as a native ad opportunity  

pmp

Supported A PMP object (Section 3.2.11) containing any private marketplace deals in effect for this impression Only passed when there is an associated PMP deal

displaymanager

Supported Name of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner. Recommended for video and/or apps. Will pass "Fyber" when the Fyber SDK is present

displaymanagerver

Supported Version of ad mediation partner, SDK technology, or player responsible for rendering ad (typically video or mobile). Used by some ad servers to customize ad code by partner. Recommended for video and/or apps. Fyber SDK Version passed when the Fyber SDK is present.
If the Fyber SDK is not present, this parameter will be omitted.

instl

Supported 1 = the ad is interstitial or full screen, 0 = not interstitial. Fyber will pass 1 when the request is interstitial. Playable ads are always interstitial = 1 All video on Fyber is Instl = 1

tagid

Supported Identifier for specific ad placement or ad tag that was used to initiate the auction. This can be useful for debugging of any issues, or for optimization by the buyer. Always passed. This is called Ad Unit ID by Fyber publishers.

bidfloor

Supported Minimum bid for this impression expressed in CPM Always passed. The value represents the minimum bid value accepted by Fyber.

bidfloorcur

Supported Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange. Fyber always passes USD. Only USD is supported.

clickbrowser

Supported Indicates the type of browser opened upon clicking the creative in an app, where 0 = embedded, 1 = native. Note that the Safari View Controller in iOS 9.x devices is considered a native browser for purposes of this attribute. Fyber will always pass 0 for embedded browser.

secure

Supported Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure. If omitted, the secure state is unknown, but non-secure HTTP support can be assumed. Always passed, Fyber recommends running secure creatives to maximize scale.

iframebuster

Not Supported Array of exchange-specific names of supported iframe busters.

exp

Supported Advisory as to the number of seconds that may elapse between the auction and the actual impression.

ext.brsrclk

New Supported A custom extension used to force open the device's browser Fyber passes 1 when the bid request supports opening the device's external (native) browser. Please click here for complete implementation instructions.
 

Object: Banner

Attribute Status Description Display Video

format

Not Supported Array of format objects (Section 3.2.10) representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended.

w

Supported Exact width in device independent pixels (DIPS); recommended if no format objects are specified Always Passed

h

Supported Exact height in device independent pixels (DIPS); recommended if no format objects are specified Always Passed

btype

Supported Blocked banner ad types. Refer to List 5.2. Fyber always passes 4 (iFrame) -

battr

Supported Blocked creative attributes. Refer to List 5.3. Fyber passes 3,6,7,9,10,13,14,17. Fyber will not pass 13 (User Interactive, embedded games) for playables. -

pos

Supported   Always passed as 7 = fullscreen -

topframe

Supported Indicates if the banner is in the top frame as opposed to an iframe, where 0 = no, 1 = yes. Fyber always passes 1 -

mimes

New Support Content MIME types supported Fyber supports HTML, HTML5, Javascript, PNG, JPG/JPEG, GIF, and Animated GIFs. Fyber does not support application/x-shockwave-flash -

expdir

Not Supported Directions in which the banner may expand. Refer to List 5.5.

api

Supported List of supported API frameworks for this impression. Refer to List 5.6. If an API is not explicitly listed, it is assumed not to be supported Fyber will pass api = 5 when MRAID 2.0 is supported -

id

Supported Unique identifier for this banner object. Recommended when Banner objects are used with a Video object (Section 3.2.7) to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression. Always 1. Fyber only supports one companion ad per bid request. -

vcm

New Support Relevant only for Banner objects used with a Video object (Section 3.2.7) in an array of companion ads. Indicates the companion banner rendering mode relative to the associated video, where 0 = concurrent, 1 = end-card. Fyber will pass 1 when end-card is supported -

ext.rewarded

Supported Placeholder for exchange-specific extensions to OpenRTB Fyber will use the custom extension, ”rewarded” where 1 = Rewarded Playables are supported -
 

Object: Video

Attribute Status Description Display Video

mimes

Supported Content MIME types supported - VAST 2.0 + VAST 2.0 Wrapper Mimes by Device OS:
  • Android - mp4, webm, 3gpp<>/li
  • iOS - mp4, m4v, quicktime, 3gp2, 3gpp2, 3gp4, 3gpp4, application/javascript

VPAID 2.0 Mimes: application/javascript only for iOS and Android

Flash is not supported.

minduration

Supported Minimum video ad duration in seconds - The minimum video duration on video is 1s

maxduration

Supported Maximum video ad duration in seconds - Always passed. For non-rewarded video, Fyber passes 30s. For rewarded video, Fyber passes 30s.

protocols

Supported Array of supported video protocols. Refer to List 5.8. At least one supported protocol must be specified in either the protocol or protocols attribute. - Fyber will always pass 2 (VAST 2.0), 5 (VAST 2.0 Wrappers)

w

Supported Width of the video player in pixels - Always Passed

h

Supported Height of the video player in pixels - Always Passed

startdelay

Supported Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements. Refer to List 5.12 for additional generic values - Fyber always passes 0 for pre-roll

placement

New Support Placement type for the impression. Refer to List 5.9. - Fyber always passes 5 for interstitial video

linearity

Supported Indicates if the impression must be linear, nonlinear, etc. If none specified, assume all are allowed. Refer to List 5.7. - Fyber always passes 1 for linear video

skip

Supported Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes. If a bidder sends markup/creative that is itself skippable, the Bid object should include the attr array with an element of 16 indicating skippable video. Refer to List 5.3. - Rewarded video will always be non-skippable = 0. Videos 15s or below will be non-skippable = 0. Videos 16s or longer will be skippable = 1 after 5s

skipmin

Supported Videos of total duration greater than this number of seconds can be skippable; only applicable if the ad is skippable. - For non-rewarded video, 15s or shorter video will be non-skippable. Videos 16s or longer will be skippable after 5s and Skip min = 15. For rewarded video, skip min is not passed. Skip button appears after 5s with a countdown timer and is clickable once timer has expired.

skipafter

Supported Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable. - For non-rewarded video, 15s or shorter video will be non-skippable and skip after will not be passed. Videos 16s or longer will be skippable after 5s and Skip after = 5. For rewarded video, skip after is not passed.

sequence

Not Supported If multiple ad impressions are offered in the same bid request, the sequence number will allow for the coordinated delivery of multiple creatives

battr

Supported Blocked creative attributes. Refer to List 5.3. - Fyber passes 3,8,9,10,13,14,17 plus publisher elected blocked attributes

maxextender

Not Supported Maximum extended ad duration if extension is allowed. If blank or 0, extension is not allowed. If -1, extension is allowed, and there is no time limit imposed. If greater than 0, then the value represents the number of seconds of extended play supported beyond the maxduration value.

minbitrate

Not Supported  

maxbitrate

Supported Maximum bit rate in Kbps - Max bit rate is 5000Kbps

boxingallowed

Not Supported Indicates if letter-boxing of 4:3 content into a 16:9 window is allowed, where 0 = no, 1 = yes.

playbackmethod

Supported Playback methods that may be in use. If none are specified, any method may be used. Refer to List 5.10. Only one method is typically used in practice. As a result, this array may be converted to an integer in a future version of the specification. It is strongly advised to use only the first element of this array in preparation for this change. - Fyber always passes 5, where 5 = fullscreen video. Fyber will always respect the user's device settings.

playbackend

New Support The event that causes video playback to end. Refer to lIst 5.11. - Fyber will always pass 1. 1 - On Video Completion or when Terminated by User

delivery

Not Supported Supported delivery methods (e.g., streaming, progressive). If none specified, assume all are supported. Refer to List 5.15.

pos

Supported Ad position on screen. Refer to List 5.4. - Always passed as 7 = fullscreen

companionad

Supported Array of Banner objects (Section 3.2.6) if companion ads are available.  

id

New Support Recommended when Banner objects are used with a Video object (Section 3.2.7) to represent an array of companion ads. Values usually start at 1 and increase with each object; should be unique within an impression Fyber will always pass 1 because we only support 1 companion ad per video.

api

Supported List of supported API frameworks for this impression. Refer to List 5.6. If an API is not explicitly listed, it is assumed not to be supported. - When VPAID 2.0 is supported, Fyber will pass 2 = VPAID 2.0. If you are running VPAID creatives, please reach out to your dedicated account manager for creative certification.

companiontype

Supported Supported VAST companion ad types. Refer to List 5.14. Recommended if companion Banner objects are included via the companionad array. If one of these banners will be rendered as an end-card, this can be specified using the vcm attribute with the particular banner (Section 3.2.6). Fyber always supports 1, 2, 3 (static, HTML, iframe) when companionad is supported. -

ext.rewarded

Supported Placeholder for exchange-specific extensions to OpenRTB - Fyber will use the custom extension, ”rewarded” where 1 = Rewarded, 0 = Non-Rewarded. Always passed on video requests

ext.mraidendcard

New Support Placeholder for exchange-specific extensions to OpenRTB - Fyber will use the custom extension, ”mraidendcard” where 1 = MRAID end card is supported, 0 = MRAID end card is not supported. Always passed on video requests.

Object: PMP

Attribute Status Description Display Video

privateauction

Supported Indicator of auction eligibility to seats named in the Direct Deals object,
where
0 = all bids are accepted,
1 = bids are restricted to the deals specified and the terms thereof.
 

deals

Supported Array of Deal (Section 3.2.12) objects that convey the specific deals
applicable to this impression
 

Object: Deal

Attribute Status Description Display Video

id

Supported A unique identifier for the PMP deal Only passed when deal is present

bidfloor

Supported Minimum bid for this impression expressed in CPM Represents the bid floor of the PMP. Takes priority over the bid floor when deal is present.

bidfloorcur

Not Supported Currency specified using ISO-4217 alpha codes. This may be different from bid currency returned by bidder if this is allowed by the exchange.

at

Supported Optional override of the overall auction type of the bid request, where 1 = First Price, 2 = Second Price Plus, 3 = the value passed in bidfloor is the agreed upon deal price. Additional auction types can be defined by the exchange. Always Passed

wseat

Supported Whitelist of buyer seats (e.g., advertisers, agencies) allowed to bid on this deal. IDs of seats and the buyer’s customers to which they refer must be coordinated between bidders and the exchange a priori. Omission implies no seat restrictions. Fyber passes a string of seat IDs when the deal is limited to a whitelist of buyers. No seat ID parameter implies this is an open PMP for all seats.

wadomain

Not Supported Array of advertiser domains (e.g., advertiser.com) allowed to bid on this deal. Omission implies no advertiser restrictions.

Object: App

Attribute Status Description Display Video

id

Supported Exchange-specific app ID This is the App ID of the publisher. Always passed.

name

Supported App name (may be aliased at the publisher's request) Fyber uses 42Matters to populate this field. Always passed.

bundle

Supported A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame). On iOS, it is typically a numeric ID (app store ID) Always Passed

domain

Not Supported Domain of the app (e.g., "mygame.foo.com")

storeurl

Supported App Store URL for an installed app Always passed. This value is determined by the app bundle and the storeURL provided by 42Matters.

cat

Supported Array of IAB content categories of the app. Refer to List 5.1. Fyber uses 42Matters to populate this field. Always passed

sectioncat

Not Supported Array of IAB content categories that describe the current section of the app. Refer to List 5.1.

pagecat

Not Supported Array of IAB content categories that describe the current page or view of the app. Refer to List 5.1.

ver

Supported Application version Always Passed

privacypolicy

Supported Indicates if the app has a privacy policy, where 0 = no, 1 = yes. Always Passed

paid

New Support 0 = app is free, 1 = the app is a paid version. Always Passed

publisher

Supported Details about the Publisher (Section 3.2.15) of the app Always Passed

content

Not Supported Details about the Content (Section 3.2.16) within the app

keywords

Not Supported Comma separated list of keywords about the app
 

Object: Publisher

Attribute Status Description Display Video

id

Supported Exchange-specific publisher ID Always Passed

name

Supported Publisher name (may be aliased at the publisher’s request). Always Passed

cat

Not Supported

Array of IAB content categories that describe the publisher.

Refer to List 5.1.

domain

New Support Highest level domain of the publisher (e.g., “publisher.com”). Always Passed
 

Object: Device

Attribute Status Description Display Video

ua

Supported Browser user agent string that informs about device data For example: "ua":"Mozilla\/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit\/605.1.15 (KHTML, like Gecko) Mobile\/16D57"

dnt

Supported Standard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track. Fyber passes DNT = 1 when LMT is set to 1. This parameter is used to signal when ad advertiser should not behaviorally target.

lmt

Supported Limit Ad Tracking” signal commercially endorsed (e.g., iOS, Android), where 0 = tracking is unrestricted, 1 = tracking must be limited per commercial guidelines. When Limit Ad Tracking is enabled on iOS 10 or greater, Advertising Identifier (IFA) will be replaced with a non-unique value of all zeros to prevent the serving of targeted ads. IFA will be passed in iOS versions below 10.

ip

Supported IPv4 address closest to device. Example, 86.179.150.0 Always passed. IPv4 is defined as an IP address with a 32-bit value

ipv6

Supported IP address closest to device as IPv6. Always passed. IPv4 is defined as an IP address with a 128-bit value. For example:
"2001:0db8:85a3:0000:0000:8a2e:0370:7334"

devicetype

Supported The general type of device. Refer to List 5.2. Always Passed

make

Supported Device make (e.g., “Apple”). Always Passed

model

Supported Device model (e.g., “iPhone”) Always Passed

os

Supported Device operating system (e.g., “iOS”) Always Passed

osv

Supported Device operating system version (e.g., “3.1.2”) Always Passed

hwv

New Support Hardware version of the device Always Passed.

h

Supported Physical height of the screen in pixels Always Passed

w

Supported Physical width of the screen in pixels Always Passed

ppi

Coming Soon Screen size as pixels per linear inch Always Passed

pxratio

Coming Soon The ratio of physical pixels to device independent pixels Always Passed

js

Supported Support for JavaScript, where 0 = no, 1 = yes Fyber always passes 1, where 1 = yes Javascript is supported

geofetch

Not Supported Indicates if the geolocation API will be available to JavaScript code running in the banner, where 0 = no, 1 = yes

flashver

Not Supported Version of Flash supported by the browser

language

Supported Browser language using ISO-639-1-alpha-2 Always Passed

carrier

Supported Carrier or ISP (e.g., “VERIZON”) using exchange curated string names which should be published to bidders a priority Always Passed

mccmnc

Not Supported Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA)
Refer to https://en.wikipedia.org/wiki/ Mobile_country_code for further examples

Note that the dash between the MCC and MNC parts is required to remove parsing ambiguity.

connectiontype

Supported Network connection type. Refer to List 5.22. Always Passed

didsha1

Deprecated Hardware device ID (e.g., IMEI); hashed via SHA1

didmd5

Deprecated Hardware device ID (e.g., IMEI); hashed via MD5

dpidsha1

Not Supported Platform device ID (e.g., Android ID); hashed via SHA1

dpidmd5

Not Supported Platform device ID (e.g., Android ID); hashed via MD5

macsha1

Not Supported MAC address of the device; hashed via SHA1.

madmd5

Not Supported MAC address of the device; hashed via MD5

ext.inputLanguage

New Support A string array containing the languages setup on the user's device keyboard Fyber will pass a comma separated array in the following format "xx", "xx" containing the country codes. For example, if a user has the English and Hebrew languages on their keyboard, Fyber will pass "en", "he"
 

Object: Geo

Attribute Status Description Display Video

lat

Supported Latitude from -90.0 to +90.0, where negative is south Fyber passes the lat/long from the device when the app has obtained permission to collect location. When no lat/long is passed by the device, Fyber uses Maxmind to pass derived lat/long based on IP address.

lon

Supported Longitude from -180.0 to +180.0, where negative is west Fyber passes the lat/long from the device when the app has obtained permission to collect location. When no lat/long is passed by the device, Fyber uses Maxmind to pass derived lat/long based on IP address.

type

Supported Source of location data; recommended when passing lat/lon. Refer to List 5.20 Fyber always passes 1 when lat/long is directly passed from the device. Fyber will pass 2 when location is derived from IP address.

accuracy

New Support Estimated location accuracy in meters; recommended when lat/lon are specified and derived from a device’s location services (i.e., type = 1). Note that this is the accuracy as reported from the device. Consult OS specific documentation (e.g., Android, iOS) for exact interpretation. Fyber will pass the estimated horizontal accuracy of the location, radial, in meters. Value passed when received from the SDK. Example output 0.05

lastfix

Coming Soon Number of seconds since this geolocation fix was established. Note that devices may cache location data across multiple fetches. Ideally, this value should be from the time the actual fix was taken. The time accuracy of the location. The number of seconds since the location was retreived. Format is in total number of seconds. For example, 30.12 will be passed if the lat/long was collected 30 seconds ago

ipservice

Supported Service or provider used to determine geolocation from IP address if applicable (i.e., type = 2). Refer to List 5.23. Fyber always passes 2 for Maxmind

country

Supported Country code using ISO-3166-1-alpha-3. Always passed. Country is derived from Maxmind IP address mapping

region

Supported Region code using ISO-3166-2; 2-letter state code if USA. Always passed. Region is derived from Maxmind IP address mapping.

regionfips104

Not Supported Region of a country using FIPS 10-4 notation. While OpenRTB supports this attribute, it has been withdrawn by NIST in 2008.

metro

Deprecated Google metro code; similar to but not exactly Nielsen DMAs. See Appendix A for a link to the codes.

city

Supported City using United Nations Code for Trade & Transport Locations. See Appendix A for a link to the codes. Always passed. City is derived from Maxmind IP address mapping.

zip

Supported The home zip or postal code of the user Fyber will pass the user's zip code when this data is passed from the app in the ad request. If zip is not passed, maxmind IP to zip mapping is used.

utcoffset

Coming Soon Local time as the number +/- of minutes from UTC Fyber will read the local time of the user's device and convert into UTC time. Format hh:mm

Object: User

Attribute Status Description Display Video

id

Not Supported Exchange-specific ID for the user. At least one of id or buyeruid is recommended

buyeruid

Not Supported Buyer-specific ID for the user as mapped by the exchange for the buyer. At least one of buyeruid or id is recommended.

yob

Supported Year of birth as a 4-digit integer Fyber will only pass the user YOB when we receive 1st party data from the publisher's SDK via the ad request

gender

Supported Gender, where “M” = male, “F” = female, “O” = known to be other (i.e., omitted is unknown) Fyber will only pass the user gender when we receive 1st party data from the publisher's app in the ad request

keywords

Not Supported Comma separated list of keywords, interests, or intent

customdata

Not Supported Optional feature to pass bidder data that was set in the exchange’s cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include “escaped” quotation marks.

geo

Not Supported Location of the user’s home base defined by a Geo object (Section 3.2.19). This is not necessarily their current location.

data

Not Supported Additional user data. Each Data object (Section 3.2.21) represents a different data source.

ext.consent

Supported Extension to signal whether or not the user subject to GDPR regulations has given consent Always Passed.
The GDPR consent parameter is passed to indicate if the user has provided consent. Fyber passes the IAB consent string based on the IAB Consent & Transparency Framework. If no consent string is available, Fyber will fallback to boolean values (0/1):
  • 0 = No consent given by user
  • 1 = User has given consent
  • A null value indicates no consent has been given by the user

For bid requests with no consent, Fyber anonymizes bid request data per the below:
  • Remove GPS coordinates up to 2 decimals (0.01)
  • Remove the last octet from IP address (IPv4 & IPv6), meaning IP 98.14.137.121 will become 98.14.137.000
  • Omit zip code completely
  • IFA (AAID/IDFA) will not be removed
Please referto Fyber's GDPR FAQ for more information
 

Object: Data

Attribute Status Description Display Video

id

Not Supported Exchange-specific ID for the data provider.

name

Not Supported Exchange-specific name for the data provider

segment

Not Supported Array of Segment (Section 3.2.22) objects that contain the actual data values.

Object: Segment

Attribute Status Description Display Video

id

Not Supported ID of the data segment specific to the data provide

name

Not Supported Name of the data segment specific to the data provider

value

Not Supported String representation of the data segment value
 

Object: BidResponse

Attribute Status Description Display Video

id

Supported The bid response ID must be the same as the bid request ID. They are used for tracking purposes. Required

seatbid

Supported Array of seatbid objects; 1+ required if a bid is to be made. Required. Fyber does not support multi-bid response. The response cannot be an array of bids because Fyber only passes a single bid opportunity.

bidid

Supported Bidder generated response ID to assist with logging/tracking Recommended

cur

Supported Bid currency using ISO-4217 alpha codes. USD is the only supported currency on Fyber

customdata

Not Supported Optional feature to allow a bidder to set data in the exchange’s cookie. The string must be in base85 cookie safe characters and be in any format. Proper JSON encoding must be used to include “escaped” quotation marks.

attr

Supported Set of attributes describing the creative. Refer to List 5.3. This is a required parameter for all playable ads. The DSP should reply with a value of 13.

ext.crtype

Supported Custom extension used to identify the type of ad markup the DSP is responding with. This is a required parameter for all playable ads. MRAID playables should be passed as "Playable". Use the table below for each ad format value.
 

bid.ext.crtype Table

Ad Format bid.ext.crtype Values on Bid Response
HTML Ads HTML
MRAID MRAID 1.0, MRAID 2.0, MRAID 3.0
VAST VAST 2.0, VAST 3.0
Playables Playable
Rewarded Playables Playable
Rewarded Video VAST 2.0, VAST 3.0
VPAID VPAID 1.0, VPAID 2.0
MRAID Video Null
 

Object: SeatBid

Attribute Status Description Display Video

id

Supported Bidder generated bid ID to assist with logging/tracking. Required. Example: 2220113759154284354

impid

Supported ID of the Imp object in the related bid request. Required. Bid responses with no impid will be filtered out.

price

Supported Bid price expressed as CPM although the actual transaction is for a unit impression only. Note that while the type indicates float, integer math is highly recommended when handling currencies (e.g., BigDecimal in Java). Fyber's system recognises two decimal places and rounds them down - for example, 2.557 becomes 2.55. Required. Bid responses with no price will be filtered out.

nurl

Supported Win notice URL called by the exchange if the bid wins (not necessarily indicative of a delivered, viewed, or billable ad); optional means of serving ad markup. Substitution macros (Section 4.4) may be included in both the URL and optionally returned markup. The nurl is fired from Fyber's servers when the bidder has won the auction. nurl should not be used for counting impressions. Please use an impression tracking pixel or the burl for counting impressions.

burl

Supported Billing notice URL called by the exchange when a winning bid becomes billable based on exchange-specific business policy (e.g., typically delivered, viewed, etc.). Substitution macros (Section 4.4) may be included. The burl can be used for counting impressions. The burl is fired from Fyber's servers when Fyber counts an impression.

lurl

Supported Loss notice URL called by the exchange when a bid is known to have been lost. Substitution macros (Section 4.4) may be included. Exchange-specific policy may preclude support for loss notices or the disclosure of winning clearing prices resulting in ${AUCTION_PRICE} macros being removed (i.e., replaced with a zero-length string). The lurl is fired for loss notifications

adm

Supported Optional means of conveying ad markup in case the bid wins; supersedes the win notice if markup is included in both. Substitution macros (Section 4.4) may be included. Required for all programmatic partners (except programmatic mediation networks i.e., PNMs). Bid requests with no adm will be filtered out. The adm contains the creative tag.

adomain

Supported Advertiser domain for block list checking (e.g., “ford.com”). This can be an array of for the case of rotating creatives. Exchanges can mandate that only one domain is allowed. Required on all bid responses.

bundle

Supported A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, this should be a bundle or package name (e.g., com.foo.mygame). On iOS, it is a numeric ID. Always Passed

iurl

Supported URL without cache-busting to an image that is representative of the content of the campaign for ad quality/safety checking Required on all bid responses.

cid

Supported Campaign ID to assist with ad quality checking; the collection of creatives for which iurl should be representative Required on all bid responses.

crid

Supported Creative ID to assist with ad quality checking Required on all bid responses.

tactic

Not Supported Tactic ID to enable buyers to label bids for reporting to the exchange the tactic through which their bid was submitted. The specific usage and meaning of the tactic ID should be communicated between buyer and exchanges a priority.

cat

Supported IAB content categories of the creative. Refer to List 5.1  

qagmediarating

Not Supported Creative media rating per IQG guidelines. Refer to List 5.19.

dealid

Supported Reference to the deal.id from the bid request if this bid pertains to a private marketplace direct deal If Fyber does not receive the deal ID from the partner in the bid response, Fyber will run the auction and serve the winning bid according to open marketplace mechanics. No deal attributes will be used without deal ID in the bid response.
 

Object: Bid

Attribute Status Description Display Video

bid

Supported Array of 1+ Bid objects (Section 4.2.3) each related to an impression. Multiple bids can relate to the same impression. Required. Fyber does not support multi-bid response. The response cannot be an array of bids because Fyber only passes a single bid opportunity.

seat

Supported ID of the buyer seat (e.g., advertiser, agency) on whose behalf this bid is made.  

group

Not Supported 0 = impressions can be won individually; 1 = impressions must be won or lost as a group
 

Auction Macros

Fyber Marketplace supports the subsititution macros defined in the OptenRTB 2.3. Macros may be subsitutued in the "nurl" field, the "burl" field or in the tracking pixel with the "adm".

 

Supported Macros

  • ${AUCTION_PRICE} – the settlement price of the auction. This macro is required in any bid response, otherwise the bid is considered invalid.
  • ${AUCTION_ID} – ID of the bid request; From BidRequest.id attribute
  • ${AUCTION_BID_ID} – ID of the bid; From BidResponse.id attribute
  • ${AUCTION_IMP_ID} – ID of the impression won. From imp.id attribute
  • ${AUCTION_SEAT_ID} – ID of the bidder seat for whom the bid was made
  • ${AUCTION_AD_ID} – ID of the ad markup the bidder wishes to serve; from the bid.adid attribute
  • ${AUCTION_CURRENCY} – the currency used in the bid. Fyber only supports USD