The First Step in Building a More
User-Centric Internet
Where publishers control user privacy and their own data
Why SharedID
Community Owned
1st Party
Component
Preparing For A
Cookieless Internet
The Start of Something Cool
Intro to Prebid
A video overview of Prebid.
Further Reading:
- Intro to Header Bidding: Click here
- Header Bidding with Prebid: Click here
- About User ID Modules Click here
- Prebid Formats Click here
How SharedID Works
Overview
The User ID module supports multiple ways of establishing pseudonymous IDs for users, which is an important way of increasing the value of header bidding. Instead of having several exchanges sync IDs with dozens of demand sources, a publisher can choose to integrate with any of a number of ID schemes.
How It Works
The publisher determines which user ID modules to add to their Prebid.js package and consults with their legal counsel to determine the appropriate user disclosures.
The publisher builds Prebid.js by specifying one or more ID sub-modules they would like to include. e.g. “gulp build –modules=____IdSystem”. You also need to add the
userId
module to your Prebid.js distribution.The page defines User ID configuration in
pbjs.setConfig()
- If the relevant local storage is present or the value of the id is specified in the configuration, the module doesn’t call the URL and instead parses the scheme-dependent format, injecting the resulting ID into
bidRequest.userId
. - If GDPR applies, the consent signal from the CMP is hashed and stored in a cookie called
_pbjs_userid_consent_data
. This is required so that ID sub-modules may be called to refresh their ID if the user’s consent preferences have changed from the previous page, and ensures cached IDs are no longer used if consent is withdrawn.
- If the relevant local storage is present or the value of the id is specified in the configuration, the module doesn’t call the URL and instead parses the scheme-dependent format, injecting the resulting ID into
An object containing one or more IDs (
bidRequest.userId
) is made available to Prebid.js adapters and Prebid Server S2S adapters.In addition to
bidRequest.userId
,bidRequest.userIdAsEids
is made available to Prebid.js adapters and Prebid Server S2S adapters.bidRequest.userIdAsEids
has userIds in ORTB EIDS format.The page can call pbjs.getUserIds(), pbjs.getUserIdsAsEids(), or pbjs.getUserIdsAsync().
User ID, GDPR, Permissions, and Opt-Out
When paired with the Consent Management module, privacy rules are enforced:
- The module checks the GDPR consent string
- If no consent string is available OR if the user has not consented to Purpose 1 (local storage):
- Calls to an external user ID vendor are not made.
- Nothing is stored to cookies or HTML5 local storage.
In addition, individual users may opt-out of receiving cookies and HTML5 local storage by setting these values:
_pbjs_id_optout
cookie or HTML5 local storage. The value can be anything – if it exists, the user is considered opted out and no userId modules will fire._pubcid_optout
cookie or HTML5 local storage. This is for backwards compatibility with the original PubCommonID module, as of 5.0 known as the SharedId module. Likewise, the value can be anything.
I have other questions. How do I get them answered?
Email membership@prebid.org
Explore More from Prebid
Prebid.js
The leading web based header
bidding solution used by
publishers worldwide
Prebid Server
Moving Prebid and Header
Bidding to the cloud for
efficiency, scale and performance
Prebid Mobile
Lightweight SDK enabling app
publishers to move beyond
the waterfall