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

Isolates the configUrl knob only, 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: configUrl → https://edge.eu-2-id5-sync.com/a7q3/config/prebid (third-party)
Mechanism: one enabler call configureId5UserId({ params: { partner, configUrl } }, { mode: 'config-url' }) — 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.
Not set here: externalModuleUrl, id5ApiBaseUrl — Prebid uses its default module path. This isolates configUrl only.
Known limit (iOS): the inline submodule path awaits extensionsCall (lb.eu-1-id5-sync.com) before fetchCall; while the backend does not reroute extensionsCall.url, a blocked lb aborts the fetch.
<!-- 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, configUrl: 'https://edge.eu-2-id5-sync.com/a7q3/config/prebid' } },
  { mode: 'config-url' }
);

Enabler log

Requests made by this page

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

typehostpath