pakopress.dev — Prebid.js · externalModuleUrl · enabler configureId5UserId · third-party

Isolates the externalModuleUrl knob, pointed at the ID5-hosted edge edge.eu-2-id5-sync.com (a different registrable domain, so third-party to the page — for partners who do not own the publisher's domain). A single enabler call wires pbjs.setConfig; the publisher passes only partner and the URL (no resolution).

Resolving the ID5 ID through Prebid…

ID5 ID inside the auction

Waiting for the first auction…

Read from the bidRequest.userIdAsEids seen by a pbjs auction event.

Integration

Knob exercised: externalModuleUrl → https://edge.eu-2-id5-sync.com/a7q3/api/1.0/id5PrebidModule.js (third-party)
Mechanism: one enabler call configureId5UserId({ params: { partner, externalModuleUrl } }, { mode: 'external-module' }) — publisher passes partner + URL only (no resolution)
First auction: the enabler applies auctionDelay: 5000 so the first auction waits for the cold-start ID5 fetch (even over HTTP); a warm localStorage hit still bids immediately.
Also set (iOS unblock): configUrl → https://edge.eu-2-id5-sync.com/a7q3/config/prebid — routes the submodule's dynamic-config fetch to the edge instead of id5-sync.com, so it is not blocked on iOS. id5ApiBaseUrl stays unset.
<!-- 1. Prebid.js + ID5 enabler -->
<script src="https://pakopress.dev/prebid.js"></script>
<script src="https://pakopress.dev/id5-pbjs-enabler.js"></script>

<!-- 2. One enabler call — publisher passes partner + URL only -->
pbjs_id5_enabler.configureId5UserId(
  { params: { partner: 173, externalModuleUrl: 'https://edge.eu-2-id5-sync.com/a7q3/api/1.0/id5PrebidModule.js', configUrl: 'https://edge.eu-2-id5-sync.com/a7q3/config/prebid' } },
  { mode: 'external-module' }
);

Enabler log

Requests made by this page

green = first-party · amber = ID5 edge · red = direct id5-sync.com

typehostpath