Send the Global Placement Identifier (GPID) to Index

Before you begin: Make sure that you are integrated with Index Exchange (Index). If you did not integrate with Index and want to learn about the various integration options, see Integrating with Index.

The Global Placement Identifier (GPID) is a global unique identifier that represents a specific ad unit or placement on a publisher The owner of a website or app where advertisements are served.'s site. It is defined by the publisher and is passed in OpenRTB An open industry standard for communication between buyers and sellers of online advertising in real-time bidding auctions. It's published by the IAB. bid requests to DSPs. Unlike the traditional exchange-specific identifiers that are passed by each exchange for an ad unit, the GPID is a consistent representation of the ad unit across all exchanges and demand sources. For example, instead of receiving multiple exchange-specific identifiers for a leaderboard banner ad unit on website.com, the DSP Demand-Side Platform (DSP). A software platform that automates bidding decisions in real-time and efficiently connects buyers and audiences through an ad exchange or SSP. Also known as a buy-side platform. will receive the same GPID for the ad unit across all exchanges, including Index.

Note: When implementing GPID, it is important to consider the DSP's ad unit measure requirements. By using a consistent GPID for every ad unit across all integrations, DSPs can have the most efficient path to targeting, measuring, and optimizing your inventory. If various supply partners are suggesting different methods to format GPIDs, it is important that you select only one method to format all your GPIDs to ensure this consistency.

GPID helps DSPs accurately assess an impression opportunity and improves transparency for buyers. If bid requests do not specify the GPID, a DSP may choose not to buy inventory or may buy inventory through different exchanges or channels.

Note: GPID is not applicable to STV Streaming TV (STV). Video content that is shown across any device with an internet connection, for example a Connected TV (CTV). apps.

Guidelines on how to define the GPID in Google Ad Manager

The recommended GPID string is the Google ad unit path. If the path alone does not uniquely identify the specific ad unit on the page, then we recommend that you append the div id using a "#" as a separator at the end of the Google ad unit path. For more information on the ad unit path, see Google’s documentation on how to Get Started with Google Publisher Tags.

Example

If your ad unit path is /1234/homepage/ads and the div id for the ad unit is div id ="header", your GPID should look like this: /1234/homepage/ads#header

Guidelines on how to define the GPID in other ad servers

  • Provide a descriptive, named ad unit rather than a numerical or alphanumerical one. Numerical or alphanumerical GPIDs are harder to identify and measure for performance.

  • If you choose to include additional information in a GPID, such as the size and device type, make sure that the ad unit information can be easily identified.

  • Use delimiters, preferably forward slashes (/), but you can use any separator such as slashes (#), dot (.), or underscores (_).

Examples

Poor GPID examples Issue Acceptable GPID examples

/1234/website1

Does not identify the ad unit

  • /1234/website1/leaderboard_atf

  • /1234/website1#div-rightrail1

  • /1234/website1_skyscraper

  • Website1.homepage.rr1

/1234/website1/desktop/728x90/

Includes the size and device but does not identify the ad unit

  • /1234/website1/desktop/728x90/leaderboard_atf

  • website1_mobile_skyscraper_160x600

  • website1.homepage.300x250.rr1

/1234/website1/adslot_1qbzzz13eee

Includes extra random trailing characters in the name of the ad unit, which makes it difficult to measure since there will be too many distinct values. This is especially important for lazy load ad units that may have a distinct root placement with a unique DIV suffix that is not valuable for measurement.

  • /1234/website1/adslot_leaderboard

Note: You can also choose to remove any extra information and include the ad unit name only. This is not a recommended format, but is acceptable as they uniquely identify the ad unit: leaderboard_atf, skyscraper, rr1.

How to send the GPID to Index

Index accepts the GPID in OpenRTB bid requests in the gpid field or dfp_ad_unit_code field of the imp extension object. Based on your integration type with Index, follow any of the following tasks:

Integration option Task

Prebid.js An open-source library for publishers to implement header bidding on their websites and manage multiple header bidding partners.

You can send GPID to Index in one of the following ways:

Option Instructions

Send GPID manually in the PBJS AdUnits. This option is recommended for:

  1. Update your Prebid.js version to 6.5.0 or later.

  2. Specify the GPID in the ortb2Imp.ext.gpid field of the ad unit. For more information about this field, see Prebid's documentation on The Prebid Ad Slot and the GPID.

    Example:

    var adUnits = [
        {
          code: '/19968336/home/mpu',
          ortb2Imp: {
             ext: {
               gpid: '/19968336/home/mpu/atf'
              }  
           },
           [...]
         }
       ]
  3. Index sends the identifier to DSPs in the bid request An OpenRTB request that is sent from a supply-side platform (SSP) or ad exchange to the DSP requesting a bid response for potential impressions. A bid request contains information about the impression that allows the DSP to decide whether to bid on the impression. imp extension object gpid field.

Send GPID using the GPT Google Publisher Tag (GPT). An ad tagging library for Google Ad Manager (GAM) which is used to dynamically build ad requests. It takes key details from a publisher, such as ad unit code, ad size, and custom targeting, builds the request, and displays the ad on web pages. Pre-Auction Module. This option is recommended for publishers using Google Ad Manager as their ad server and who want to use their existing GPT ad unit codes to define GPID.

  1. Update your Prebid.js version to 4.42.0 or later with the GPT Pre-Auction Module enabled. For more information about this module, see Prebid's documentation on GPT Pre-Auction Module.
    Note: The GPT Pre-Auction Module will only detect banner ad units. To send video ad units, you must set the ad unit path for the video unit manually in the PBJS AdUnits.
  2. Make sure that the googletag.defineSlot() code statements are defined prior to the pbjs.requestBids() code statements in your Prebid.js configuration. This allows Prebid to pick up the ad unit paths that are defined in your Google Ad Manager configuration.

    • If the ad unit path is not unique enough as described in the How to define the GPID section above , create a customPbAdSlot function within the GPT Pre-Auction Module to send a unique value that is suitable for GPID. For Index to get the GPID defined in this custom function, you must be using Prebid.js version 6.5.0 or later. For more information on how to create this function, see Prebid's documentation on Example custom PbAdSlot function.

  3. When Index receives the GPID from the GPT Pre-Auction Module, we will send it in the bid request to DSPs in the imp.ext.gpid field.

Google Open Bidding

  1. Google sends Index the path for the ad unit in the bid request imp extension object dfp_ad_unit_code field. It is the Google Ad Manager ad unit code that uniquely identifies the ad slot The location on a publisher's website where an advertisement is served. Also known as inventory.. For more information on ad units, see Google’s documentation on Ad unit hierarchy.

  2. Index sends the identifier to DSPs in the bid request imp extension object gpid field.

  3. If you are already sending a common identifier in the imp.tagid field, Index will send this identifier to DSPs in the bid request imp.tagid field.

Prebid Server, OpenRTB, and other server-to-server integrations

  1. Send the identifier to Index in the bid request imp extension object gpid field. If you do not specify this field, Index will take the identifier from the dfp_ad_unit_code field, if available. For more information about these fields, see List of supported OpenRTB bid request fields for sellers.

    Note: If you are already sending a common identifier in the imp object tagid field, we recommend that you also send the gpid field. This is recommended because some DSPs require that the gpid field must always be included in the bid request.

  2. Index sends the identifier to DSPs in the bid request imp extension object gpid field.

  3. If you are already sending a common identifier in the imp.tagid field, Index will send this identifier to DSPs in the bid request imp.tagid field. However, we recommend that you also send the gpid field. This is recommended because some DSPs require that the gpid field must always be included in the bid request.

All other third-party integrations

Note: Make sure that the third-party vendor that you are integrated with supports GPID and has activated it for your integration.

  1. Send the identifier to Index in the bid request imp extension object gpid field. If you do not specify this field, Index will take the identifier from the dfp_ad_unit_code field, if available. For more information about these fields, see List of supported OpenRTB bid request fields for sellers.

  2. Index sends the identifier to DSPs in the bid request imp extension object gpid field.

Amazon

Transparent Ad Marketplace (TAM)

Amazon TAM automatically sends the GPID to Index when available. Depending on how Amazon TAM sends the GPID, Index sends the identifier in bid requests to DSPs as follows:

  • If we receive the identifier in the bid request imp.ext.gpid field or in the imp.ext. dfp_ad_unit_code, we will send this identifier to DSPs in the bid request imp.ext.gpid field.

  • If we receive the identifier in the bid request imp.tagid field, we will send this identifier to DSPs in the bid request imp.tagid field.