Publisher Common ID Module
This module stores an unique user id in the first party domain and makes it accessible to all adapters. Similar to IDFA and AAID, this is a simple UUID that can be utilized to improve user matching, especially for iOS and MacOS browsers, and is compatible with ITP (Intelligent Tracking Prevention). It’s lightweight and self contained. Adapters that support Publisher Common ID will be able to pick up the user ID and return it for additional server-side cross device tracking.
Simply include the module in your build and it’s automatically enabled. Adapters that support this feature will be able to retrieve the ID and incorporate it in their requests.
Add a pubcid object in the setConfig() call.
||Enable or disable the module. Setting it to false will disable the module without having to remove it from the bundle. Default is true.||true|
||Expiration interval of the cookie in minutes. Default is 2628000, or 5 years.||525600|
Example: Changing ID expiration to 1 year
Individual user opt-out is supported by setting the
_pubcid_optout cookie in the publisher’s domain. When this cookie is set, then Publisher Common ID is neither read nor updated, and it will not be made available to any adapters.
- Opt-In -
_pubcid_outputcookie is not present or set to 0
- Opt-Out -
_pubcid_outputcookie is set to 1
Build the package
Step 1: Bundle the module code
Follow the basic build instructions on the Github repo’s main README. To include the module, an additional option must be added to the the gulp build command:
Step 2: Publish the package(s) to the CDN
Note that there are more dynamic ways of combining these components for publishers or integrators ready to build a more advanced infrastructure.
Adapters should look for
bid.crumbs.pubcid in buildRequests() method.
- The ID is UUID v4 and stored as a cookie called
_pubcidin the page’s domain.
- This module hooks into the pbjs.requestBids() method. When invoked, it retrieves the cookie, updates the expiration time, and decorates the adUnits objects. A new cookie will be created if one doesn’t exist already.
- Beware that if prebid.js is included in an ad server frame, then the ID would have ad server domain instead.