pakopress.dev — ID5 integration samples

Ways to integrate the ID5 ID on this page, across two independent choices: where the ID5 calls go (first-party vs third-party base) and where the ID5 SDK file is loaded from (the edge vs jsDelivr) — plus two Prebid.js pages that run the ID5 User ID module. Each page shows the resolved ID5 ID and a live request panel.

first-partySDK from edge

First-party · SDK from edge

SDK and every ID5 call served first-party from edge.pakopress.dev (same registrable domain as the page). First-party topology on the page's own registrable domain.

✓ Live — SDK host-rewritten by the edge
Open sample →
third-partySDK from edge

Third-party · SDK from edge

SDK and calls served from the ID5-hosted edge edge.eu-2-id5-sync.com (third-party). Third-party topology; for partners without the publisher's domain.

✓ Live — SDK host-rewritten by the edge
Open sample →
first-partySDK from jsDelivr

First-party · SDK from jsDelivr

SDK loaded from jsDelivr (neutral CDN); dynamic calls go first-party to edge.pakopress.dev. The edge handles only the calls.

✓ Live — apiBaseUrl (SDK pinned 1.0.98)
Open sample →
third-partySDK from jsDelivr

Third-party · SDK from jsDelivr

SDK loaded from jsDelivr; dynamic calls go to the ID5-hosted edge edge.eu-2-id5-sync.com (third-party).

✓ Live — apiBaseUrl (SDK pinned 1.0.98)
Open sample →
third-partyblocked domain

Third-party · proxy on a blocked domain

SDK and calls via proxy.eu-1-id5-sync.com, whose registrable domain eu-1-id5-sync.com is subject to request blocking. Control case: the proxy host itself must not be a blocked domain.

⚠ Control — proxy host is a blocked domain
Open sample →
first-partyCNAME cloaking

First-party CNAME cloaking → blocked domain

First-party edge-block.pakopress.dev, grey CNAME → blocked proxy.eu-1-id5-sync.com. Tests whether request blocking follows the CNAME chain or passes the first-party forward name.

✓ Live — experiment ready
Open sample →
first-partyPrebid.js

Prebid.js · first-party ID5

ID5 User ID module via Prebid's external module (hosted first-party). id5ApiBaseUrl routes every ID5 call to edge.pakopress.dev. A pbjs event listener shows the ID5 ID attached to the auction.

✓ Live — id5ApiBaseUrl (module v1.0.99)
Open sample →
third-partyPrebid.js

Prebid.js · third-party ID5

Same Prebid external module, but id5ApiBaseUrl routes the ID5 calls to the ID5-hosted edge edge.eu-2-id5-sync.com (third-party). The pbjs listener shows the ID5 ID in the auction.

✓ Live — id5ApiBaseUrl (module v1.0.99)
Open sample →

/a7q3 is the per-deployment proxy prefix. The first-party pages need an edge on edge.pakopress.dev/a7q3/*; the third-party pages need edge.eu-2-id5-sync.com/a7q3/*. partnerId: 173 is a placeholder; consent is static for the demo.

Two routing mechanisms. The SDK from edge pages let the edge rewrite the hard-coded ID5 hosts inside id5-api.js, so calls follow the SDK file to the edge — works with any published SDK. The SDK from jsDelivr pages load an unmodified SDK and instead pass apiBaseUrl to ID5.init, which routes the calls; this needs an SDK build that supports apiBaseUrl (available from 1.0.98 — pinned here while the floating @1 cache still serves an older build).

Prebid.js. The Prebid pages run the ID5 User ID module through Prebid's external module, hosted first-party as id5PrebidModule.js (v1.0.99). The new id5ApiBaseUrl param routes every ID5 call to the chosen base — first-party or the ID5 edge — and a pbjs auction event listener shows the resolved ID5 ID travelling with the bid requests.