Skip to content
PlacementGraph™
OpenRTB fields

What is the Global Placement ID, and how do buyers report on it?

Part of Supply path transparency

A reader browsing on a laptop with a coffee.
Photo: Vlada Karpovich, Pexels

The short answer

The Global Placement ID, or GPID, is a label the publisher gives each ad slot on a page, sent in imp.ext.gpid. IAB Tech Lab's community extension says supply platforms pass it unchanged, so the same slot carries the same ID whichever exchange offers it. Buyers use it to report by slot and to see several paths to one placement.

Key takeaways

  • GPID is publisher specified and meant to be distinct and persistent for each ad unit on a page, unlike tagid, which the extension describes as exchange specific.
  • The transaction ID names one opportunity at one moment; the GPID names the slot across all auctions for it, so the two answer different questions.
  • IAB Tech Lab's guidance and Prebid's documentation describe the GPID format differently, so buyers should parse it per publisher rather than assume one syntax.
  • No public primary source gives a GPID adoption rate for the US or Canada, so buyers measure its presence in their own logs.

What is the Global Placement ID?

The GPID community extension (opens in a new tab) published in IAB Tech Lab's OpenRTB repository defines a global placement identifier as a publisher specified placement, or tag, ID that is passed unchanged by all supply side platforms. It travels in the impression object as imp.ext.gpid, a string described as a distinct, persistent id for each ad unit on a page. The extension dates the initiative to fall 2021.

Definition

Global Placement ID (GPID)
A publisher chosen name for one ad slot on one page or template, sent with each impression from that slot so buyers can recognize the slot no matter which exchange or header bidding integration offers it.

The problem it addresses is named in the extension itself. The OpenRTB tagid property traditionally contains an exchange specific placement ID, and no two exchanges share the same set of placement IDs. With header bidding, buyers can buy one slot from several sources but have no way of knowing which placement is being transacted in a given auction. A shared, publisher assigned label closes that gap.

How is the GPID different from a transaction ID?

Both identifiers help a buyer see that two requests are related, but they relate them in different ways. The transaction ID in source.tid or imp.ext.tid is meant to be common across all participants for one opportunity. The GPID is described as persistent: it labels the slot itself, so the same value should return each time that slot is offered.

Placement and transaction identifiers in an OpenRTB 2.6 request
IdentifierDefined inLifespanQuestion it answers
imp.tagidOpenRTB 2.6 corePersistent, but the GPID extension calls it exchange specificWhich ad tag on this exchange started the auction?
imp.ext.gpidGPID community extensionPersistent for the ad unitWhich slot on the publisher's page is this, on any exchange?
source.tidOpenRTB 2.6 coreOne opportunityIs this the same opportunity another exchange just sent?
imp.ext.tidPer impression transaction ID extensionOne impression's opportunityWhich transaction does this impression belong to, when a request holds several?

Who assigns a GPID, and what does it look like?

The publisher assigns it, and exchanges are expected to pass it through untouched. The IAB extension gives guidelines rather than one syntax: focus on the placement being sold, avoid repeating information already elsewhere in the request such as domain, ad format or seller, use descriptive names, use delimiters, preferably forward slashes, and format consistently. Where an ad server ad unit code is unique enough, the extension says it can serve as the GPID alone; where it is not, the div ID of the placement is appended.

Prebid's GPID documentation (opens in a new tab) describes the same idea in a different form, ADSLOTNAME#UNIQUIFIER, where the part after the hash is needed only when the slot name is not unique on its own. Its GPT Pre-Auction module (opens in a new tab), enabled by default when compiled in, adds the GPID with the matching ad unit name to each ad unit before bid requests go out, unless the publisher has set one already.

Two documented GPID formats for a slot whose ad unit name is not unique (checked October 2026)
SourceSeparator before the slot detailExample in the source
IAB Tech Lab GPID extensionForward slash, preferred123456/example.com/homepage/image_top
Prebid GPID documentationHash (#UNIQUIFIER)/1111/homepage#div-leftnav

Both sources agree the label must stay unique to each slot and stable over time. A buyer who parses GPIDs should therefore learn each publisher's pattern from its own values instead of splitting all strings on one character.

How can buyers use the GPID in reporting?

IAB Tech Lab's Sustainability Playbook (opens in a new tab), released in June 2023, gives buyers a direct instruction: read and analyze GPID provided by publishers to determine whether there are multiple paths through which they are purchasing the same piece of inventory, then use the results to limit themselves to the most optimal paths. On the sell side, the same playbook says many publishers use the same identifier for every ad slot on a page, which makes it very difficult to distinguish unique ad requests from duplicates.

Build a slot level path report from GPID

  1. Key each impression on domain plus GPID. The GPID is publisher specified, so two publishers can choose the same string; the domain keeps them apart.
  2. Add the path to each row. Record the exchange, site.publisher.id, the schain nodes and DIRECT or RESELLER from the site's ads.txt.
  3. Count paths per slot. A slot reached through one exchange directly and two resellers is three routes to one placement, whatever the request volume.
  4. Compare delivery and cost by path for the same slot. Because the placement is held constant, differences come from the route, not from a better position on the page.
  5. Track slots over time. A persistent GPID lets a buyer see a slot appear, change paths or disappear across flights.
  6. Flag pages where several slots share one GPID. That pattern, which the playbook describes, makes slot reporting unreliable for that site.

The same report works for planning. A slot that keeps arriving through extra hops is a candidate for a direct deal, and a site whose GPIDs are missing or repeated is one where slot level claims, in either direction, should be treated with care. The supply chain object guide covers how to read the hops in each row.

How far has the GPID been adopted?

No public primary source located for this page gives a measured GPID adoption rate for the United States or Canada. What the sources do establish is status. GPID remains a community extension: the openrtb2.x release notes (opens in a new tab), through OpenRTB v2.6-202606 of June 11, 2026, do not mention it. IAB Tech Lab recommends it to publishers in the 2023 playbook, and Prebid's documentation says it is likely to deprecate its own Prebid Ad Slot label someday in favor of what it calls the more standard GPID.

Measure GPID coverage in your own logs before relying on it

  • Share of impressions per site that carry imp.ext.gpid at all.
  • Whether the same slot shows the same GPID on each exchange that sends it, or only on some.
  • Whether one page sends several slots under one GPID, which defeats slot reporting.
  • Whether GPID values stay stable across weeks, or change with each site release.
  • Whether the demand platform's log export includes imp.ext and its contents.
  • Which exchanges drop or rewrite the field, recorded with dates and example request IDs.

What does a GPID review look like on a real plan?

Fictional example

An art supply store sorts its Colorado placements by slot

An unnamed art supply store with shops in Denver, Boulder and Colorado Springs runs display ads on arts, crafts, education and local culture sites in English. Its agency wants to know which slots on its best sites are bought through more than one route.

On a crafts magazine site, impressions carry GPIDs such as a sidebar unit and an in article unit. Grouping by domain plus GPID shows the in article slot arriving through two exchanges directly and once through a reseller. The agency keeps the direct paths and moves the slot into a private deal so that only the shortest route is bought.

On a local culture site, about half the requests carry no GPID and the rest show one value for all slots on the page. The agency does not treat the site as suspect. It reports that site by domain and ad size only, and asks the publisher whether its ad server setup assigns distinct slot names.

How does PlacementGraph help pick sites before slot reporting starts?

Frequently asked questions

Can a buyer target a GPID?

The extension's implementation notes say placements are included in reporting and are used by sophisticated buyers for targeting. Whether a given demand platform lets a campaign target or exclude by GPID depends on that platform's features, so buyers check with their platform before planning around it.

Should a GPID include the site's domain?

The IAB guidelines say to avoid repeating information already in another part of the bid request, naming domain, ad format and seller as examples. Yet the extension's own example built from an ad unit code and a div ID contains example.com, because the domain sits inside that ad unit code. Buyers should not rely on the domain being in the GPID.

Does a GPID identify the reader?

No. A GPID names a place on a page, such as a sidebar or in article slot, and stays the same for each visitor who sees that slot. It carries no information about the person, the device or the visit, which is why it can be logged and shared in reports without the privacy questions user identifiers raise.

Is the GPID the same as an ad server ad unit code?

Sometimes. The IAB extension says an ad unit code alone can serve as an effective GPID when it already identifies the placement uniquely. When a publisher uses the same ad unit name for several slots, the GPID adds the div ID or another distinguishing part, so it no longer equals the code.

Sources

  1. Global Placement Id (gpid) community extension (opens in a new tab)IAB Tech Lab
  2. OpenRTB 2.6 specification, section 3.2.4 Imp (tagid) (opens in a new tab)IAB Tech Lab
  3. The Sustainability Playbook: Starter Guide for a Sustainable Programmatic Marketplace (June 2023) (opens in a new tab)IAB Tech Lab
  4. Prebid Ad Slot and GPID (opens in a new tab)Prebid.org
  5. GPT Pre-Auction module (opens in a new tab)Prebid.org
  6. openrtb2.x releases (OpenRTB v2.6-202606, June 11, 2026) (opens in a new tab)IAB Tech Lab on GitHub

Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.

HOW AGENCIES WORK WITH US

From your first brief.
To your next campaign.

Share a brief in plain language. Get contextual websites and YouTube channels that fit it, with the evidence behind every pick and a deal ready for your usual buying platform.

  1. 01

    Share your brief

    The campaign in plain language.

  2. 02

    Get your shortlist

    The strongest contextual sites and channels, with the evidence behind each.

  3. 03

    We build the deal

    Your shortlist becomes a curated deal through our exchange partners.

  4. 04

    Activate and grow

    Buy in your usual platform. Agencies earn benefits as their investment grows.

LET’S WORK TOGETHER

Your next campaign starts here.

Your details will only be used to respond to your enquiry.

Prefer email? diana@placementgraph.com

YOUR PRIVACY

You choose whether to allow optional analytics. You can use the whole website either way.

Change or withdraw consent at any time using “Cookie preferences” in the footer. Turning analytics off stops future collection and removes this site’s analytics cookies; it does not erase information already sent. The page may refresh to apply withdrawal.