Back to Bidders

Index Exchange (Prebid Server)

Features

Bidder Code ix Prebid.org Member yes
Media Types display, video, native TCF-EU Support yes
User IDs identityLink, netId, fabrickId, zeotapIdPlus, uid2, unifiedId, id5Id, lotamePanoramaId, publinkId, hadronId, pubcid, 33acrossId, nonID USP/CCPA Support yes
Supply Chain Support yes COPPA Support yes
Demand Chain Support no GPP Support check with bidder
Supports Deals yes Prebid.js Adapter no
IAB GVL ID 10 Prebid Server Adapter yes
Floors Module Support yes First Party Data Support yes
Multi Format Support true ORTB Blocking Support check with bidder
Safeframes OK check with bidder

Table of contents

Introduction

Publishers can use Prebid Server in any of the following ways with Index Exchange (Index). Index’s adapter supports all of the following methods:

  • If you want to call Index from a web environment, you can use Prebid.js to call Prebid Server, and then Prebid Server uses our server-side adapter to call Index. This reduces workload on the browser. For set up instructions, see Call Index from a web browser section on this page.
  • In mobile apps, you can use the Prebid Mobile SDK to call Prebid Server and then Prebid Server uses our server-side adapter to call Index. For set up instructions, see Call Index from Prebid Mobile SDK section on this page.
  • In CTV apps and other long-form video environments, you (or the SSAI vendor) can make a call to Prebid Server using OpenRTB, and then Prebid Server uses our server-side adapter to call Index. For set up instructions, see Call Index from CTV/long-form video environment section on this page.
  • In any other server-to-server OpenRTB environment, you can send OpenRTB bid requests to the Prebid Server host of your choice. For set up instructions, see Call Index from any other server-to-server OpenRTB environment section on this page.

Note about sending multiple ad slots in a single bid request: Index accepts up to 100 valid ad slots in a single bid request. If a single bid request contains more than 100 ad slots (including invalid ad slots), only the first 100 valid ad slots are accepted and the rest are ignored. For example streaming TV media owners can signal multiple ad pods for long-form programming in a single request.

Supported media types

The following table lists the media types that Index supports. For information about the the Time-To-Live (TTL) for each media type, see How Index counts impressions in our Knowledge Base.

Type Prebid Server support
banner Supported
video Supported, including ad pods for OTT
native Supported

Setup instructions to call Index through Prebid Server

Note: If you are hosting your own Prebid Server instance, you must contact your Index Exchange Representative to get an endpoint and setup instructions.

If you are using an existing Prebid Server instance that is already configured to call Index, depending on whether you want to call Index from the browser, mobile app, CTV, or long-form video, follow any of the below sections to complete the Index-specific configuration.

Call Index from a web browser

If you want to call Index from a web environment, you can use Prebid.js to call Prebid Server and then Prebid Server uses our server-side adapter to call Index. For setup instructions, see the Index-specific configuration steps in Set up instructions for Prebid.js in our Prebid.js documentation on the Prebid site.

Call Index from Prebid Mobile SDK

Before you begin: Contact your Index Exchange representative to get your siteId. You must provide this site ID to your Prebid Server host company.

Note: To implement Prebid Mobile SDK, follow Prebid’s Getting Started with Prebid Mobile documentation.

To add Index as a bidder to your mobile app:

  1. Inform your Prebid Server hosting company to add ixas a bidder in the configuration and include the siteId that Index provides to you at the time of integration.
  2. Define the Index-specific parameters at the bidder level. For information about these parameters, see the Bid request parameters section below.
  3. Include any ad unit level required or optional parameters provided in Prebid’s Prebid Mobile API - iOS and Prebid Mobile API - Android documentation.

Call Index from CTV/long-form video environment

Before you begin: Contact your Index Exchange Representative to get the siteId. You must provide this site ID to your Prebid Server host company.

Note: To implement CTV and long-form video using Prebid Server, follow Prebid’s Long Form Video documentation.

To add Index as a bidder:

  1. Inform your Prebid Server hosting company to add ixas a bidder in the configuration and include the siteId that Index provides to you at the time of integration.
  2. Define the Index-specific parameters at the bidder level. For information about these parameters, see the Bid request parameters section below.
  3. Include any ad unit level required or optional parameters provided in Prebid’s /openrtb2/video documentation.

Call Index from any other server-to-server OpenRTB environment

To request bids from Index:

  • In requests that you make to your Prebid Server host, add imp.ext.ix and include the siteId that Index provides to you at the time of integration.

Example:

    "imp": [{
           "ext": {
              "ix": {
                "siteId": "12345"
              }
        }
      }],

Bid request parameters

For a list of the OpenRTB fields that Index supports in bid requests, see List of supported OpenRTB bid request fields for sellers. The following are the required fields for the various supported media types.

You must include these parameters at the bidder level.

Key Scope Type Description
siteId Required String An Index-specific identifier that is associated with this ad unit. This is similar to a placement ID or an ad unit ID that some other modules have. For example, '3723', '6482', '3639'

Video

You must include these parameters at the bidder level.

Key Scope Type Description
siteId Required String An Index-specific identifier that is associated with this ad unit. It will be associated with the single size, if the size is provided. This is similar to a placement ID or an ad unit ID that some other modules have. For example, '3723', '6482', '3639'
Note: You can re-use the existing siteId within the same flex position or video size, if the video adapts to the containing <div> element.

If you are using Index’s outstream player and have placed the video object at the bidder level, you must include the Index required parameters at the bidder level. You can include the optional parameters to specify the outstream player configurations.

Key Scope Type Description
video.w Required Integer The width of the video player in pixels that will be passed to demand partners. You must define the size of the video player using the video.w and video.h parameters. We strongly recommend video sizes to be 256 x 256 or greater, 300 x 250, or 320 x 180.
video.h Required Integer The height of the video player in pixels that will be passed to demand partners. You must define the size of the video player using the video.w and video.h parameters. We strongly recommend video sizes to be 256 x 256 or greater, 300 x 250, or 320 x 180.
video.playerSize Required Integer[] The video player size that will be passed to demand partners.
video.playerConfig Optional Hash The Index-specific outstream player configurations.
video.playerConfig.floatOnScroll Optional Boolean A boolean specifying whether you want to use the player’s floating capabilities, where:
- true: Use the Index player’s float capabilities.
Note: If you set floatOnScroll to true, Index updates the placement value to 5.
Note: We do not recommend using the player’s default float capabilities if you have more than one outstream ad unit per page.
-false: Do not use the Index player’s float capabilities (default).
video.playerConfig.floatSize Optional Integer[] The height and width of the floating player in pixels. If you do not specify a float size, the player adjusts to the aspect ratio of the player size that is defined when it is not floating. Index recommends that you review and test the float size to your user experience preference.
video.plcmt Required Integer[] The video’s placement type, where:
- 1 = Instream
- 2 = Accompanying Content
- 3 = Interstitial
- 4 = No Content/Standalone

Examples

Banner

{
  "id": "ix-banner-id",
  "imp": [
    {
      "id": "imp-id",
      "banner": {
        "w": 300,
        "h": 250,
        "id": "1",
        "pos": 0,
        "format": [
          {
            "w": 300,
            "h": 250
          },
          {
            "w": 300,
            "h": 600
          }
        ]
      },
      "instl": 0,
      "tagid": "5602709",
      "bidfloor": 0.02,
      "bidfloorcur": "USD",
      "secure": 1,
      "ext": {
        "ix": {
          "siteId": "123456"
        }
      }
    }
  ],
  "app": {
    "bundle": "555555555",
    "storeurl": "https://apps.apple.com/us/app/test-app/id555555555",
    "publisher": {
      "id": "123456"
    },
    "content": {
      "title": "Entertainment",
      "genre": "IAB9-30,IAB6,IAB9-7,IAB1"
    }
  },
  "device": {
    "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",
    "ip": "10.20.30.40",
    "ifa": "2E2E2E2E-3B3B-4141-8A8A-181818181818"
  },
  "at": 1,
  "tmax": 200
}

Video

{
  "id": "ix-video-example",
  "imp": [
    {
      "id": "imp-id",
      "video": {
        "mimes": [
          "video/mp4",
          "video/3gpp",
          "video/webm"
        ],
        "minduration": 15,
        "maxduration": 60,
        "startdelay": -1,
        "protocols": [
          2,
          3,
          5,
          6
        ],
        "w": 320,
        "h": 480,
        "placement": 1,
        "linearity": 1,
        "minbitrate": 1000,
        "api": [
          1,
          2,
          3,
          5
        ]
      },
      "secure": 1,
      "ext": {
        "ix": {
          "siteId": "654321"
        }
      }
    }
  ],
  "app": {
    "bundle": "555555555",
    "storeurl": "https://apps.apple.com/us/app/test-app/id555555555",
    "publisher": {
      "id": "123456"
    },
    "content": {
      "title": "Entertainment",
      "genre": "IAB9-30,IAB6,IAB9-7,IAB1"
    }
  },
  "device": {
    "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E18",
    "ip": "10.20.30.40",
    "ifa": "2E2E2E2E-3B3B-4141-8A8A-181818181818"
  },
  "at": 1,
  "tmax": 1000
}

"Send All Bids" Ad Server Keys

These are the bidder-specific keys that would be targeted within GAM in a Send-All-Bids scenario. GAM truncates keys to 20 characters.
hb_pb_ix hb_bidder_ix hb_adid_ix
hb_size_ix hb_source_ix hb_format_ix
hb_cache_host_ix hb_cache_id_ix hb_uuid_ix
hb_cache_path_ix hb_deal_ix

Back to Bidders