InMobi DSP

InMobi runs InMobi Exchange, a mobile in-app exchange. This profile covers the requests InMobi Exchange sends to DSPs and the responses DSPs return. Supply sent into InMobi is the separate inmobi-supplier profile.

Direction and version

InMobi Exchange sends bid requests to DSP bidders, and DSPs return bid responses to InMobi.

OpenRTB 2.5 JSON. Most flags are 0 or 1 integers, but imp.ext.hb is a JSON boolean. Native requests are objects with context 1501, and Native responses go in bid.admobject as an object.

The RTBlint profile inmobi checks requests and responses against the published contract.

Rules beyond the OpenRTB spec

  • Each impression advertises one format; InMobi sends each format opportunity in its own request.
  • at is 1 or 2, and bapp lists at most 30 blocked app bundles.
  • Responses need seatbid.seat, burl, and cat. Non-native bids need adm, and banner bids need w and h.
  • Creative IDs longer than 64 characters are truncated.
  • History lists such as device.ext.iap and device.ext.lastimpressioncpm hold at most five entries, newest first. Purchase and advertiser histories are left out when empty.
  • Battery and volume levels are integers from 0 to 100. The Play Store version is left out when device.ext.psdisable is 1.
  • A supply chain in source.ext.schain needs at least one node, and seller IDs are at most 64 characters.
  • Video opportunities use linearity 1. A response video experience in bid.ext.video.experience (1, 2, or 3) must be one the request offered in imp.video.ext.experiences.
  • A SKAdNetwork response must name a network listed in the request's skadnetids.
  • ${AUCTION_LOSS} is substituted only in lurl. In lurl, ${AUCTION_MIN_TO_WIN} carries the clearing price.

Documented extensions

PathMeaning
ext.auction_idMediation auction ID that groups the same impression across exchanges.
ext.mediation_nameName of the mediation platform.
source.ext.header_bidding0 for waterfall, 1 for header bidding.
source.ext.schainSupply chain in its OpenRTB 2.5 location.
imp.ext.hbHeader bidding flag, sent as a JSON boolean.
imp.ext.skadnSKAdNetwork request data.
imp.ext.gpidStable ad unit ID.
imp.video.ext.experiencesVideo experience IDs the placement accepts.
device.ext.attsApp Tracking Transparency status.
device.ext.ifviOS identifier for vendors.
device.ext.iapUp to five recent in-app purchases.
device.ext.lastimpressioncpmUp to five recent impression CPMs.
bid.ext.campaigntypeCampaign type: user acquisition, retargeting, brand, or commerce.
bid.ext.skadnSKAdNetwork response, including SKOverlay settings.

What the validator checks for this profile

Validate against this contract

Open the tester with the InMobi DSP profile, or run:

rtblint validate --profile inmobi request.json

Similar integrations