This topic provides DSP partners with a structured reference to the subset of high-impact InMobi bidstream signals. These signals map to OpenRTB objects and InMobi-specific extensions, helping DSPs make more informed bidding and optimization decisions. These signals align with InMobi’s core signal themes:
The topic includes OpenRTB mappings, data types, value descriptions, and integration guidelines for each signal. It is designed for:
This document is not a complete list of all InMobi signals. It focuses on signals most relevant for DSP activation and optimization.
| Protocol | OpenRTB 2.5 (with InMobi-specific ext fields) |
|---|---|
| Signal source | InMobi SDK footprint (global) and select mediated partners |
| Availability | Enabled via account opt-in, available for all DSP types (brand, performance, hybrid) |
| Update cadence | Quarterly (schema additions/deprecations communicated in advance) |
| Version compatibility | Backward-compatible unless otherwise stated |
InMobi organizes bidstream signals into five functional themes. Each theme maps to one or more OpenRTB objects:
| Theme | Description | Example OpenRTB Paths |
|---|---|---|
| User context and engagement | Measures session depth, duration, retention, and consent | user.ext, app.ext |
| Device environment and readiness | Captures device conditions and capabilities | device.ext |
| Auction and slot context | Provides details on impression slot, mediation, and auction metadata | imp.ext, source.ext |
| Compliance and privacy | Ensures GDPR/CCPA/ATT-compliant bidding | regs.ext, device.ext.att_status |
| Attribution and outcome | Tracks delivery, bid loss, and impression events | bid.nurl, bid.lurl |
Each signal is delivered within the OpenRTB payload through standard or extended objects. The following sections describe the supported signals, their OpenRTB mapping, data types, sample values, and integration notes.
The following signals provide impression-level context, including session depth, ad slot capabilities, and mediation identifiers.
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| Impression depth | imp.ext.impressiondepth |
Int | 85 | 60%+ | Number of ads shown in the current app session |
| Mediation auction ID | imp.ext.mediationAuctionId |
String | "med-xyz-123" |
~80% | Identifier for mediated auction instance |
| Clickable video | imp.ext.clickablevideo |
Boolean | True | 100% | Whether the slot supports clickable video |
| Deep link support | imp.ext.deepLinkSupport |
Boolean | True | 100% | Destination allows deep linking into the app |
| Auto store capability | imp.ext.autoStore |
Boolean | True | iOS full-screen ads | Device supports auto app store redirect |
| Double endcard | imp.ext.doubleEC |
Boolean | True | Full-screen ads | SDK supports dual end cards |
| Rewarded flag | imp.ext.rewarded |
Boolean | True | Rewarded inventory | Slot is a rewarded format |
| Interstitial flag | imp.instl |
Int | 1 | 100% | Indicates if ad is interstitial (1=yes) |
| GPID | imp.ext.gpid |
String | "slot_abc_001" | 10-15% | Global Placement ID for slot-level mapping |
| Display manager | imp.displaymanager |
String | "inmobi-sdk" | 100% | Identifies the SDK mediation platform |
| Transaction ID | imp.transactionid |
String | "txn-uuid-123" | 100% | Unique impression transaction ID |
The following signals describe device hardware, environment, and readiness conditions and are useful for optimizing delivery and avoiding performance bottlenecks.
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| Disk space available | device.ext.diskspace | Int | 350 | 50% | Free storage space (MB) |
| Total disk space | device.ext.totaldisk | Int | 5120 | 50% | Device storage capacity (MB) |
| Battery level | device.ext.batterylevel | Float | 0.78 | 50% | Remaining battery (0–1 scale) |
| Charging status | device.ext.charging | Boolean | True | 50% | The device is charging |
| Headset connected | device.ext.headset | Boolean | False | 50% | Headset plugged in |
| Dark mode | device.ext.darkmode | Boolean | True | 50% | The device is in dark mode |
| Connection type | device.connectiontype | Int | 2 | 75%+ | Network type (Wi-Fi, 4G, etc.) |
| Bluetooth status | device.ext.bluetooth | Boolean | True | 50% | Bluetooth enabled |
| Airplane mode | device.ext.airplane | Boolean | False | 50% | Airplane mode active |
| Do Not Disturb | device.ext.dnd | Boolean | True | 50% | DND mode active |
| Input language | device.ext.language | String | "en-US" | 75%+ | User’s input language |
| Orientation | device.ext.orientation | String | "portrait" | 75%+ | Current screen orientation |
| Carrier | device.carrier | String | "Airtel" | 100% | Mobile carrier |
| Hardware version | device.hwv | String | "Pixel 6" | iOS devices | Hardware version |
| IP address | device.ip | String | "192.0.2.1" | 100% | Device IP address |
| Truncated IP | device.ext.truncated_ip | String | "192.0.2.xxx" | 100% | Privacy-safe truncated IP |
| IDFV support | device.ext.ifv | Boolean | True | iOS only | Indicates IDFV availability |
| ATT status | device.ext.att_status | Int | 2 | iOS only | ATT status (0–3) |
The following user engagement and behavioral signals are used for retention modeling, loyalty targeting, and suppression use cases.
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| Session count | user.ext.sessionCount |
Int | 14 | 60%+ | Total user sessions |
| Session duration | user.ext.session_duration |
Int | 300 | 60%+ | Current session length (sec) |
| InMobi session depth | user.ext.im_session_depth |
Int | 3 | 60%+ | Number of InMobi ads served this session |
| Retention | user.ext.retention |
Int | 7 | 60%+ | Days since first app open |
| Consent flag | user.ext.userConsent |
Boolean | True | Applicable supply | Indicates user consent for data collection |
The following app-level context signals are related to session uptime and runtime.
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| Session uptime | app.ext.session_uptime |
Int | 400 | 60%+ | Seconds since app launch |
The following regulatory and compliance signals are used for GDPR and CCPA enforcement.
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| GDPR status | regs.ext.gdpr |
String | "1" | Applicable regions | Indicates GDPR applicability |
| CCPA status | regs.ext.us_privacy |
String | "1YNN" | Applicable regions | Encodes user opt-out under CCPA |
The following signals are used for auction transparency and supply path optimization
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| Header bidding flag | source.ext.header_bidding |
Boolean | True |
100% | Indicates header bidding request |
| Supply chain object |
/ |
Object | IAB object | 100% | Seller chain metadata |
| OMID integration |
/ |
String |
/ |
75%+ | OMID partner and version |
| Viewability vendor | source.ext.viewabilityvendor |
String | "MOAT" |
75%+ | Viewability vendor identifier |
| SKAdNetwork support | source.ext.skadn |
Object | JSON struct | iOS SDK supply | Indicates SKAN support |
The following response-level signals are for enabling attribution and optimization.
| Signal | OpenRTB Path | Type | Sample | Coverage | Description |
|---|---|---|---|---|---|
| Header bidding flag | source.ext.header_bidding |
Boolean | True |
100% | Indicates header bidding request |
| Supply chain object |
/ |
Object | IAB object | 100% | Seller chain metadata |
| OMID integration |
/ |
String |
/ |
75%+ | OMID partner and version |
By installing this SDK update, you agree that your Children Privacy Compliance setting remains accurate or that you will update that setting, whenever there is a change in your app's audience. You may update the app's Children Privacy Compliance settings at https://publisher.inmobi.com/my-inventory/app-and-placements.