Direct ORTB
This document provides guidelines for implementing Server-to-Server (S2S) integration with Insticator using the OpenRTB 2.5 protocol.
To view the GDPR compliancy & supported country list jump to the bottom of the article.
Requirements:
RTB End Point:
- For web: https://ex.ingage.tech/v1/ortb
Cookie Sync URLs:
[Recommended] iframe
sync example:
<iframe
style="width: 1px; height: 1px; border: 0; position: absolute; left: -9999px;"
src="https://usync.ingage.tech?gdpr=1&gdpr_consent=BOEFEAyOEFEAyAHABDENAI4AAAB9vABAASA&us_privacy=1YNN&r=https://sync.partner.com/api?userId=$UID&gdpr=${user.gdpr}&gdpr_consent=${user.consentStr}&us_privacy=${user.usPrivacy}"
width="1"
height="1">
</iframe>
img
sync example:
<img
style="width: 1px; height: 1px; border: 0; position: absolute; left: -9999px;"
src="https://sync.ingage.tech?gdpr=1&gdpr_consent=BOEFEAyOEFEAyAHABDENAI4AAAB9vABAASA&us_privacy=1YNN&r=https://sync.partner.com/api?userId=$UID&gdpr=${user.gdpr}&gdpr_consent=${user.consentStr}&us_privacy=${user.usPrivacy}"
width="1"
height="1">
</img>
You can pass the following query parameters & macro in the URL:
gdpr
: Indicates whether GDPR applies (0
for no,1
for yes).gdpr_consent
: Encoded consent string as per GDPR guidelines.us_privacy
: US privacy string, typically representing CCPA compliance.r
: Ther
(Required) query param will have the sync url of the partner in order to synchronise the user with us.$UID
: macro to get Insticator's userId in your redirect url
adUnitId (Mandatory):
The adUnitId
should be included in the bid request within the imp
object, under the ext.insticator.adUnitId
key.
Publisher Id (Mandatory):
The publisher.id
should be included in the bid request within the publisher
object.
Implementation:
You will need to construct the Bid Request body according to the details outlined in the below specification and POST it to the appropriate Insticator RTB endpoint (web or app).
Incoming Bid Request Object specification supported by Insticator:
Insticator supports the following fields in the top-level bid request object:
Field | Type | Description |
---|---|---|
| string |
|
| array of objects |
|
| object | Details via a Site object about the publisher’s website. Only applicable and recommended for websites. See Site object below. |
| object | Specifies information about the app for the impressions. Applicable for app impressions. See App Object below. |
| object | Details via a Device object about the user’s |
| object | Specifies information about the person to whom the impressions will be delivered. See User Object below. |
| integer | Indicates that this auction is in test mode and is not billable. If not present, the default is used. |
| array of strings | Specifies an array of allowed currencies for bids on this impression. USD is assumed by default. We don't support currency conversion as of now for the direct ORTB requests. |
| array of strings | Blocked advertiser categories using the IAB content |
| array of strings | Specifies a list of blocked top-level advertiser domains that correspond to brand URLs . For more information, see the Brand Service. |
| object | Specifies information about an industry, legal, or governmental regulation in force for this request. See Regs Object below. |
| object | Used for identifying Insticator-specific extensions to the OpenRTB bid request. |
| integer | Maximum time in milliseconds the exchange allows for bids to |
| array of strings | Block list of applications by their platform-specific exchangeindependent application identifiers. On Android, these should |
| object | A Source object that provides data about the |
| array of strings | White list of languages for creatives using ISO-639-1-alpha-2. |
Source Object:
Insticator supports the following fields in source object.
Field | Type | Description |
---|---|---|
| integer | Entity responsible for the final impression sale decision, where |
| string | Transaction ID that must be common across all participants in |
| string | Payment ID chain string containing embedded syntax |
| object | Placeholder for Insticator-specific extensions to OpenRTB. It contains the schain object as well. |
Extension object of Source:
Insticator uses the extension object of the Source as a source of schain object.
Field | Type | Description |
---|---|---|
schain | object | schain object i.e supply chain object includes the details of the version, Specifies the SupplyChain fields included in the OpenRTB bid request for supply path transparency. See Schain Object below |
Schain Object:
Insticator supports the following fields in the supply chain object.
Field | Type | Description |
---|---|---|
| string | Version of the supply chain spec in use. |
| enum | 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. |
| object | 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, i.e. the owner of the site, app, or other medium. In an incomplete supply chain, it represents the first known node. The last node represents the entity sending this bid request, which will be the Insticator node. Insticator supports the following fields in the nodes object. Note: In order for a node to be considered complete, the following fields must be included in the node object.
|
Impression Object:
Insticator supports the following fields in the imp
object, A single request may contain an array of imp
object.
Field | Type | Description |
---|---|---|
| string |
|
| object | Required if this impression is offered as a banner ad. See Banner Object below. |
| object | Required if this impression is offered as a video ad. See Video Object below. |
| integer | Indicates whether the impression is interstitial or full screen. |
| string | Specifies an identifier for the specific ad placement or ad tag that was used to initiate the auction. If set, this is the Insticator placement code. Omitted when sending to buyers if seller visibility settings prohibit sharing. |
| integer | Indicates whether the impression requires secure HTTPS URL creative assets and markup. If omitted, the secure state is unknown but non-secure HTTP support can be assumed. |
| string | Name of ad mediation partner, SDK technology, or player |
| string | Version of ad mediation partner, SDK technology, or player |
| float | Minimum bid for this impression expressed in CPM.Note: The |
| string | Specifies the currency for this bid using ISO-4217 alphabetic codes. Defaults to USD. Insticator only support USD cur. |
| string | Array of exchange-specific names of supported iframe busters. |
| object | Specifies information about a private marketplace deal that is in effect for this impression. See Private Marketplace Object below. |
| object |
|
Impression extension object:
Insticator supports these fields in extension object of impression.
Field | Type | Description |
---|---|---|
insticator | object | (Required)It contains insticator specific config for impression specific details. |
Insticator object for Impression extension object:
Supported fields.
Fields | Type | Description |
---|---|---|
adUnitId | string | Required A unique id (can be used for multiple impressions) to identify the internal setup at insticator with the partner to serve the impressions properly. |
Banner Object:
Support fields by Insticator for banner impressions.
Field | Type | Description |
---|---|---|
w | integer | (Required) Specifies the exact width of the banner in pixels. |
h | integer | (Required) Specifies the exact height of the banner in pixels. |
btype | array of integers | Specifies the banner creative types to block. Refer to section 5.2 of the IAB specification for a list of types. |
battr | array of integers | Specifies the banner creative attributes to block. Refer to section 5.3 of the IAB specification for a list of attributes. |
pos | integer | (Recommended)Specifies the position of the banner on the screen. Currently supported values are:0 : Unknown (default)1 : Above the fold 3 : Below the fold |
api | array of integers | Specifies the supported API frameworks for this impression. Parsed, but not used. If an API is not explicitly listed, VPAID support is deduced from MIME types sent: VPAID 1 and 2 would be allowed for JavaScript and Flash MIME types. Refer to section 5.6 of the IAB specification for a list of API frameworks. |
format | object array | Array of format objects representing the banner sizes permitted. If none are specified, then use of the h and w attributes is highly recommended. |
ext | object | Insticator specific details. ( None so far ) |
Format object ( for banner impression ):
Insticator supports following fields in format object.
Field | type | Description |
---|---|---|
h | string | Determine the height of the creative in pixels. |
w | string | Determine the width of the creative in pixels. |
Video Object:
Support fields by Insticator for the video impressions.
Field | Type | Description |
---|---|---|
| array of strings |
|
| integer |
|
| integer |
|
| integer |
|
| integer |
|
| integer |
|
| array of integers | Specifies the video creative attributes to block. Refer to section 5.3 of the IAB specification for a list of attributes. |
| integer | Placement type for the impression, Values from |
| integer | Plcmt type for the impression, Values from |
| integer |
|
| integer | Indicates if the player will allow the video to be skipped, |
| integer | Videos of total duration greater than this number of seconds |
| integer | Number of seconds a video must play before skipping is |
| integer | If multiple ad impressions are offered in the same bid request, |
| integer | Maximum extended ad duration if extension is allowed. If |
| array of integers | Blocked creative attributes. Refer to List 5.3 in Ortb 2.5 spec. |
| integer | Specifies the minimum bit rate, in kilobytes per second. If specified, only return creatives having at least one media file within the appropriate bit range. |
| integer | Specifies the maximum bit rate, in kilobytes per second. If specified, only return creatives having at least one media file within the appropriate bit range. |
| integer | Indicates if letter-boxing of 4:3 content into a 16:9 window is |
| array of integers | Specifies the allowed playback methods. If not specified, all are assumed to be allowed. Currently supported values are: |
| integer | The event that causes playback to end. E.g |
| integer |
|
| array of objects | Specifies an array of banner objects if companion ads are available. See Banner Object above. |
| array of integers |
|
| array of integers | Specifies the VAST companion ad types. Recommended if one or more |
| array of integers |
|
| object | Used for identifying Insticator-specific extensions to the video object. See Video Extension Object below. |
Site Object:
PLEASE NOTE: THE REQUEST SHOULD NOT CONTAIN BOTH SITE AND AN APP OBJECT. ONLY ONE IS ALLOWED
Supported fields for site
object for Insticator.
Field | Type | Description |
---|---|---|
| string |
|
| string |
|
| string | Referrer URL that caused navigation to the current page. |
| string | Site name (may be aliased at the publisher’s request). |
| array of strings |
|
| array of strings | Array of IAB content categories that describe the current |
| array of strings | Array of IAB content categories that describe the current |
| string |
|
| object |
|
| string |
|
| object |
|
| object | Insticator-specific extensions to OpenRTB |
App object:
Supported fields for app
object for Insticator.
Field | Type | Description |
---|---|---|
id | string | Specifies the seller's app ID. |
bundle | string | (Required)Specifies the application bundle or package name (e.g., com.longtv.tv ). This is intended to be a unique ID across multiple exchanges. |
domain | string | Specifies the domain of the app (for example, mygame.publishersite.com ) where the impression will be shown. Set as the referrer domain on the impression if available. |
storeurl | string | App store URL for an installed app. |
cat | array of strings | (Recommended)Specifies a list of IAB content categories (listed in section 5.1 of the specification). |
publisher | object | (Required)Specifies information about the publisher. See Publisher Object below. |
name | string | The full name of the app (i.e., Angry Birds). (This value may be aliased at the publisher's request.) |
keywords | string | (Recommended)Comma-separated list of keywords about the app. Keywords are global to the request and apply to all imp objects. |
content | object | (Recommended)Details about the Content within the app. See Content Object below. |
Publisher Object:
Supported fields for publisher
object for Insticator.
Field | Type | Description |
---|---|---|
id | string | (Required)Insticator specific publisher id. |
domain | string | Highest level domain of the publisher |
name | string | Publisher name. |
Content Object:
Supported fields for content
object for Insticator.
Field | Type | Description |
---|---|---|
| string | Genre that best describes the content (e.g., rock, pop, etc). |
| string | ID uniquely identifying the content. |
| string |
|
| object | Placeholder for exchange-specific extensions to OpenRTB. |
| integer | Episode number. |
| string | Content title.
|
| string |
|
| string | Content season (e.g., "Season 3"). |
| string | Artist credited with the content. |
| string | Album to which the content belongs; typically for audio. |
| string | International Standard Recording Code conforming to ISO-3901. |
| object | Details about the content Producer. Refer to section 3.2.12 in the IAB specification. |
| string | URL of the content, for buy-side contextualization or review. |
| string array |
|
| integer | Production quality. Refer to List 5.11 in the IAB specification. |
| integer; DEPRECATED | Deprecated in favor of |
| integer | Type of content (game, video, text, etc.). Refer to List 5.16 in the IAB specification. |
| string | Content rating (e.g., MPAA). |
| string | User rating of the content (e.g., number of stars, likes, etc.). |
| integer | Media rating per IQG guidelines. Refer to List 5.17 in the IAB specification. |
| string |
|
| integer |
|
| integer |
|
| integer | Length of content in seconds; appropriate for video or audio. |
| object array | Additional content data. Each Data object represents a different data source. Refer to Section 3.2.16 in the IAB specification. |
Device Object:
Supported fields for device
by Insticator.
Field | Type | Description |
---|---|---|
| string |
|
| object | Specifies the location of the device, as derived from the device's location services (such as cell tower triangulation or GPS) or IP address. See Geo Object for details. |
| integer | Specifies the Do Not Track setting: |
| string |
|
| string | Specifies the IPv6 address closest to the device. Used only for geolocation for buyer targeting. |
| integer | Specifies the type of device, using IAB values: |
| string | Specifies the make of the device. Only used if not supported via the |
| string | Specifies the model of the device. Only used if not supported via the |
| string | This is the code field that you obtain from operating system code. |
| string | Specifies carrier for the device. Only used if not supported via the |
| string | Specifies the browser language; use ISO 639-1 or ISO 3166 alpha-2. |
| string | Identify the source of the IFA, whether that is device-generated (and therefore used across apps) or whether it is a publisher-provided IFA, or a temporary/session IFA (e.g., |
| string | The "identifier for advertising" is an unhashed device ID sanctioned for advertiser use. This will be the IDFA on iOS or AAID on Android. |
| string | Specifies the SHA1-encrypted unique identifier for the mobile device. |
| string | Specifies the MD5-encrypted unique identifier for the mobile device. |
| string | Specifies the SHA1-encrypted, platform-specific (e.g., ANDROID_ID or UDID for iOS) unique identifier for the mobile device. |
| string | Specifies the MD5-encrypted, platform-specific (e.g., ANDROID_ID or UDID for iOS) unique identifier for the mobile device. |
| integer | "Limit Ad Tracking" signal commercially endorsed (e.g., iOS, Android), where |
| object | Structured user agent information defined by a UserAgent |
| object | Insticator specific extenstion object. |
Device extension object:
Supported fields for device.ext
object by Insticator.
Field | Type | Description |
---|---|---|
sua | object | Structured user agent information defined by a UserAgent |
User Object:
Insticator supports following fields for user
object.
Field | Type | Description |
---|---|---|
| string | The seller's unique ID for this user. |
| string | The Insticator unique ID of this user. |
| integer | Specifies the year of birth as a 4-digit integer. Omitted when sent to buyers if unknown or value set to 0. |
| string | Specifies the gender. Set to null if unknown. Omitted when sent to buyers if unknown. |
| string | Comma separated list of keywords about the user. Keywords are global to the request and apply to all imp objects. |
| object | Location of the user’s home base defined by a Geo object. This is not necessarily their current location.
|
| object | Used for identifying Insticator-specific extensions to OpenRTB for the user object. |
User extension object:
Insticator supports following fields for user.ext
object
Field | Type | Description |
---|---|---|
eids | object array | This object can contain one or more UIDs from a single source or a technology provider. Extended Identifiers support in OpenRTB allows buyers to use audience data in real-time bidding. For more information, see eid Object. |
eid object:
Insticator supports following fields for user.ext.eid[0]
object
Field | Type | Description |
---|---|---|
source | string | Source of technology provider responsible for the set of included IDs. |
uids | object array | Array of extended ID UID objects from the given source. |
Geo Object:
Supported fields for geo
object by Insticator.
Field | Type | Description |
---|---|---|
| float | Specifies the latitude of the device, as derived from the device's location services (such as cell tower triangulation or GPS) or IP address. This can range from -90 to 90. South is negative. |
| float | Specifies the longitude of the device, as derived from the device's location services (such as cell tower triangulation or GPS) or IP address. This can range from -180 to 180. West is negative. |
| string | Country code using ISO-3166-1-alpha-3
|
| string | Zip or postal code.
|
| integer | Estimated location accuracy in meters; recommended when |
| string | Region code using ISO-3166-2; 2-letter state code if USA |
| string | City using United Nations Code for Trade & Transport |
| string | Google metro code; similar to but not exactly Nielsen DMAs. |
| integer | Number of seconds since this geolocation fix was established. |
| integer | Service or provider used to determine geolocation from IP |
| integer | Local time as the number +/- of minutes from UTC. |
Regs object:
Insticator supports following fields for regs
object.
Field | Type | Description |
---|---|---|
| integer | Indicates if this request is subject to the United States Children's Online Privacy Protection Act (COPPA).
|
| object | Used for identifying Xandr-specific extensions to OpenRTB for the reg object. |
| string | Indicates the actual IAB GPP consent string. It implies which vendors are permitted to process personal data and under which conditions. |
| array | Optional: Indicates which regulations or GPP logics are to be applied, or whether a user is located in a country (EEA country) with a framework that is part of the GPP |
Regs Extension Object:
Insticator supports following fields for regs.ext
object.
Field | Type | Description |
---|---|---|
| integer | Optional. Indicates whether the request is subject to General Data Protection Regulation (GDPR) regulations.
|
| string | Optional. GDPR consent string parsed as indication that the consent is provided. |
| string | Optional. Indicates whether the request complies with the California Consumer Privacy Act (CCPA) regulations. This field complies with the IAB US Privacy specification. Refer to the IAB's string specifications for possible values. |
| string | Indicates the actual IAB GPP consent string. It implies which vendors are permitted to process personal data and under which conditions. |
| array | Optional: Indicates which regulations or GPP logics are to be applied, or whether a user is located in a country (EEA country) with a framework that is part of the GPP. |
| object | Provides details on the Digital Services Act (DSA) compliance. |
Sample Request
{
"id": "priceche149cf433990fdf",
"tmax": 3000,
"source": {
"fd": 1
},
"site": {
"domain": "bostonhockeynow.com",
"page": "https://bostonhockeynow.com/videoOnly?pbjs_debug=true",
"ref": null,
"publisher": {
"id": "e363f57c-d3cb-4fa3-85d0-a115d9ebaea0"
}
},
"device": {
"w": 1267,
"h": 1262,
"js": true,
"ext": {
"localStorage": false,
"cookies": false
},
"dnt": 0,
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0",
"language": "en",
"sua": {
"source": 1,
"platform": {
"brand": "macOS"
},
"browsers": [
{
"brand": "Not/A)Brand",
"version": [
"8"
]
},
{
"brand": "Chromium",
"version": [
"126"
]
},
{
"brand": "Microsoft Edge",
"version": [
"126"
]
}
],
"mobile": 0
}
},
"regs": {
"ext": {
"gdpr": 1,
"us_privacy": "1YNN"
},
"coppa": 0
},
"user": {
"id": "c1dfbae6-a36d-4cb0-9e2d-504c3df6700b"
},
"imp": [
{
"id": "28130237951fac",
"tagid": "div-insticator-ad-2",
"secure": 1,
"ext": {
"insticator": {
"adUnitId": "01EX2DK7MW4BNN8TS2R0AT576D"
}
},
"video": {
"mimes": [
"application/javascript",
"video/mp4",
"video/mpeg",
"video/x-flv",
"video/ogg"
],
"w": 300,
"h": 250,
"minduration": 5,
"maxduration": 30,
"protocols": [
2,
3,
5,
6,
7
],
"linearity": 1,
"minbitrate": 300,
"playbackmethod": [
1
],
"playbackend": 2,
"delivery": [
2
],
"api": [
2,
7
],
"plcmt": 2,
"context": "instream"
}
}
]
}
{
"id": "priceche149cf433990fdf",
"tmax": 3000,
"source": {
"fd": 1
},
"site": {
"domain": "bostonhockeynow.com",
"page": "https://bostonhockeynow.com/videoOnly?pbjs_debug=true",
"ref": null,
"publisher": {
"id": "e363f57c-d3cb-4fa3-85d0-a115d9ebaea0"
}
},
"device": {
"w": 1267,
"h": 1262,
"js": true,
"ext": {
"localStorage": false,
"cookies": false
},
"dnt": 0,
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0",
"language": "en",
"sua": {
"source": 1,
"platform": {
"brand": "macOS"
},
"browsers": [
{
"brand": "Not/A)Brand",
"version": [
"8"
]
},
{
"brand": "Chromium",
"version": [
"126"
]
},
{
"brand": "Microsoft Edge",
"version": [
"126"
]
}
],
"mobile": 0
}
},
"regs": {
"ext": {
},
"coppa": 0
},
"user": {
"id": "c1dfbae6-a36d-4cb0-9e2d-504c3df6700b"
},
"imp": [
{
"id": "28130237951fac",
"tagid": "div-insticator-ad-2",
"secure": 1,
"ext": {
"insticator": {
"adUnitId": "01EX2DK7MW4BNN8TS2R0AT576D"
}
},
"banner": {
"format": [
{
"w": "300",
"h": "250"
}
]
}
}
],
}
}
GDPR compliancy:
If the users are from GDPR or any other privacy regulated area, it is required to have a CMP withTCF v2.2 in place and enable the below vendor ids (Consent & Legitimate Interest) for optimized performance. We can provide a CMP support if required, but if publisher is using own CMP we are requesting to ensure the following IAB vendors are granted Vendor Consent rights:
Vendor ID | Vendor Name |
---|---|
58 617 50 793 32 143 24 91 814 755 10 333 910 109 241 69 76 1043 52 157 80 104 13 23 36 45 1126 | 33Across |
Supported Countries:(as of May 2025)
Country | Alpha-2 | Alpha-3 |
---|---|---|
Australia | AU | AUS |
Austria | AT | AUT |
Belgium | BE | BEL |
Canada | CA | CAN |
Cyprus | CY | CYP |
Czechia | CZ | CZE |
Denmark | DK | DNK |
Estonia | EE | EST |
Finland | FI | FIN |
France | FR | FRA |
Germany | DE | DEU |
Hong Kong | HK | HKG |
Hungary | HU | HUN |
Ireland | IE | IRL |
Italy | IT | ITA |
Liechtenstein | LI | LIE |
Luxembourg | LU | LUX |
Macao | MO | MAC |
Mexico | MX | MEX |
Monaco | MC | MCO |
Montenegro | ME | MNE |
Netherlands | NL | NLD |
New Zealand | NZ | NZL |
Norway | NO | NOR |
Poland | PL | POL |
Portugal | PT | PRT |
Qatar | QA | QAT |
Saudi Arabia | SA | SAU |
Singapore | SG | SGP |
Slovakia | SK | SVK |
South Africa | ZA | ZAF |
Spain | ES | ESP |
Sweden | SE | SWE |
Switzerland | CH | CHE |
United Arab Emirates | AE | ARE |
United Kingdom | GB | GBR |
United States | US | USA |
Quality guidance:
We recommend following the quality guidance to improve monetization outcomes.
Updated 11 days ago