Back to Bidders

PGAM Direct

Features

Bidder Code pgamdirect Prebid.org Member no
Prebid.js Adapter yes Prebid Server Adapter no
Media Types display, video, native Multi Format Support will-bid-on-any
TCF-EU Support yes IAB GVL ID 1353
GPP Support tcfeu, usnat, usstate_all DSA Support check with bidder
USP/CCPA Support yes COPPA Support yes
Supply Chain Support yes Demand Chain Support check with bidder
Safeframes OK yes Supports Deals yes
Floors Module Support yes First Party Data Support yes
Endpoint Compression check with bidder ORTB Blocking Support partial
User IDs all Privacy Sandbox paapi

Note

PGAM Direct is the self-hosted server-to-server OpenRTB adapter operated by PGAM Media LLC. For the legacy TeqBlaze-hosted integration, see pgamssp. We plan to migrate publishers from pgamssp to pgamdirect over 2026; both will coexist on the bidders list during that window.

Key differences from pgamssp:

  • Canonical OpenRTB 2.5/2.6 (not a proprietary envelope)
  • Dynamic rolling-quantile floor pricing on our bidder, published per (dsp × placement × geo × device) cell
  • Transparent margin enforcement (5% hard floor, compile-time enforced, never zeroable from config)
  • schain integrity — pgamssp.com,1353 appears verified on every outbound request; complete=1 enforced
  • HMAC-signed burl / nurl to defeat pixel replay
  • Account onboarding via orgId issued by PGAM Media; reach out to your account manager for yours

Bid Params

Name Scope Description Example Type
orgId required Your publisher identifier at PGAM Media. Issued during onboarding. 'pgam-acme-publisher' string
placementId optional Free-text placement identifier; mapped to imp.tagid on the bid request 'leaderboard-728x90' string
bidfloor optional Per-placement USD bidfloor; bidder still enforces its own minimum 1.25 number

Example — Banner

pbjs.addAdUnits([{
  code: 'ad-slot-1',
  mediaTypes: {
    banner: { sizes: [[300, 250], [728, 90]] }
  },
  bids: [{
    bidder: 'pgamdirect',
    params: {
      orgId: 'pgam-acme-publisher',
      placementId: 'leaderboard-728x90'
    }
  }]
}]);

Example — Video (instream)

pbjs.addAdUnits([{
  code: 'video-adunit',
  mediaTypes: {
    video: {
      playerSize: [[640, 480]],
      mimes: ['video/mp4', 'application/javascript'],
      protocols: [2, 3, 5, 6],
      api: [1, 2],
      minduration: 5,
      maxduration: 30,
      placement: 1,
      plcmt: 1,
      linearity: 1
    }
  },
  bids: [{
    bidder: 'pgamdirect',
    params: {
      orgId: 'pgam-acme-publisher',
      placementId: 'preroll-15s'
    }
  }]
}]);

Example — Native

pbjs.addAdUnits([{
  code: 'native-adunit',
  mediaTypes: {
    native: {
      image: { required: true, sizes: [150, 50] },
      title: { required: true, len: 80 },
      sponsoredBy: { required: true }
    }
  },
  bids: [{
    bidder: 'pgamdirect',
    params: { orgId: 'pgam-acme-publisher' }
  }]
}]);

Privacy

The adapter forwards only what Prebid.js supplies:

  • source.ext.schain — the publisher’s supply-chain object, if set
  • user.ext.eids — registered Prebid User-ID modules
  • regs.ext.gdpr / regs.ext.gdpr_consent — TCF v2 if consentManagement is enabled
  • regs.ext.us_privacy — CCPA if consentManagementUSP is enabled
  • regs.gpp / regs.gpp_sid — GPP if configured
  • regs.coppa — from ortb2.regs.coppa

No cookies are set on the publisher’s domain by this adapter.

Migrating from pgamssp

Publishers already integrated via pgamssp can run both adapters in parallel during the migration window:

bids: [
  { bidder: 'pgamssp',    params: { placementId: 'your-placement' } },
  { bidder: 'pgamdirect', params: { orgId: 'pgam-your-slug', placementId: 'your-placement' } }
]

Prebid’s auction picks the higher bid per impression, so you get the best of both while you evaluate.

"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_pgamdirect hb_bidder_pgamdirect hb_adid_pgamdirect
hb_size_pgamdirect hb_source_pgamdirect hb_format_pgamdirect
hb_cache_host_pgamdi hb_cache_id_pgamdire hb_uuid_pgamdirect
hb_cache_path_pgamdi hb_deal_pgamdirect

Back to Bidders