1 0 6000 0 600 120 30 https://headerbidding.co 960 0

Prebid User ID Module – Everything You Need to Know

Prebid User ID Module
Leveraging ID solutions can help publishers like you to increase match rates and run personalised ads without third-party cookies. If you are using Prebid, here's how to include IDs in your bid requests.

User identification plays a vital role in determining the value of your inventory. DSPs may not even bid for an unidentified user. And it makes sense, advertisers prefer not to show their ads to a user who’s completely unknown. The value lies in the information about the user.

The parties in the adtech supply chain use third-party cookies to gather and save information about the user. But the problem is that every party identifies a user independently. In simple words, you can say that every party ends up calling the same user with different names. The issue escalates further because only the issuing domain can read the cookie created by it. So, nobody knows what other parties know about a user.

The ad tech industry has a system in place to deal with this challenge, it’s called cookie-syncing. First, the parties involved in the ad delivery process sync the cookie ID with each other. Do you remember we told you that the platforms call the same user with different names? By syncing the cookie ID, the parties tell each other the names that they have given to the user. Later, they sync the data they have for the same user.

Now, the process of cookie-syncing has many problems, the most important ones are:

  • The match-rates rates can be very less. It means the data does not get synced every time.
  • When syncing happens at multiple levels, the data gets lost in the process. It means the platforms can have insufficient data to target the user.
  • No major browser will support the third-party cookie in a matter of months.

So to bypass the shortcomings of cookie syncing, many ID solutions are coming up. Different solutions work differently, but the role of Prebid’s User ID module is to make these ID solutions work with your header bidding setup. Let’s begin with understanding the module.

Table of Contents:

Understanding Javascript Modules

What is a Javascript module? Free Code Camp explains it very well. Think of modules as individual chapters in a book. If the chapters will be independent and self-contained, then you can edit or remove them without any bad effect on the book. Similarly, javascript modules are self-contained, independent, and reusable pieces of code that can be added to or removed from a larger code base as per the necessity, without impacting the main code.

Prebid Modules

Most programs created using javascript try to take advantage of the javascript module functionality. Prebid takes this advantage through its own modules. If you go to the Prebid modules page, you’ll find modules for every need from currency conversion to consent management. The main code of Prebid only contains basic code necessary to run header bidding, any additional functionality can be added by adding the Prebid modules.

What are the User ID Modules?

The User ID module is a type of Prebid module that allows publishers to integrate with different ID solutions. These ID solutions help ad tech players in identifying the users on the internet without depending on the third-party cookie. Ultimately, ID solutions will bring two main benefits to the industry:

  • The process of identifying users will become more accurate. Because if all the platforms use a common ID to identify a user, there’ll be no cookie syncing problems. 
  • The dependence on third-party cookies can end (at least that’s the goal).

So what’s the role of the User Id Module here? It’s simple, the User ID modules help publishers in using the identity solutions in their header bidding set up so that the bidders can identify the users and the publisher can get higher rates for the addressable inventory.

How Does the User ID Module Work?

Technically, publishers determine the user ID modules to use and add them to their Prebid.JS package. These User ID Modules generate & store necessary information within first-party data.

  • Publishers build prebid.js with the required identity solution with gulp build, for example:

“gulp build –modules=____IdSystem”.

You can use Prebid’s download to build prebid.js

  • Then they define User ID configuration in “pbjs.setConfig()”. For example:

       userSync: {
           userIds: [{
               name: "britepoolId",
               storage: {
                   name: "britepoolid",
                   type: "cookie",
                   expires: 30
               params: {
                   url: "https://sandbox-api.britepool.com/v1/britepool/id", // optional. used for testing
                   api_key: "xxx", // provided by britepool
                   hash: "yyyy", // example identifier
                   ssid: "r894hvfnviurfincdejkencjcv" // example identifier
           syncDelay: 3000 // 3 seconds after the first auction

Now, when setConfig() will be called, the module will generate the relevant ID and then Prebid will make this ID (“bidRequest.userId” and “bidRequest.userIdAsEids”) available in the bitstream. 

There are some parameters that are required, and therefore they cannot be skipped in “userSync.userIds[]”. These parameters are:

name: The name of the submodule.

storage.type: It’ll define whether the User ID results will be saved in a cookie or local html5 storage. 

storage.name: The name of the storage where the User ID results will be stored.

These parameters are highlighted in the example above.

Sidenote: For all the available objects and parameters that can be included in the build, you should refer to Prebid’s official page for the User ID Module. You should also check whether your bidders support your chosen User ID or not.

How to ensure compliance with user ID modules?

The User ID Module will follow the Consent Management Module. It wouldn’t store anything in the cookie, nor it’ll make any calls to the vendors if the consent string wouldn’t have consent for local storage. The user can also opt-out of cookies and HTML5 local storage by using _pbjs_id_optout or _pubcid_optout ( for PubCommonID module).

ID Solutions Available with Prebid User ID Module

Currently, the following ID Solutions are available through the Prebid JS User ID module:

  • BritePool ID
  • Criteo ID for Exchanges
  • ID+
  • ID5 Universal ID
  • Identity Link
  • IntentIQ ID
  • LiveIntent ID
  • Lotame Panorama ID
  • Merkle Merkury ID
  • Parrable ID
  • PubCommon ID
  • Quantcast ID
  • Unified ID
  • netID

ID solutions generally do not charge for using their services. Some providers like BritePool are even paying the publishers for using their services. Whether you should use the module from a solution provider depends on its scale and compatibility with your bidders. You can read our post about universal IDs to understand the top solutions available.

Functioning can also be different for different providers. Some may use cookies, others may use emails as their base for identification. Some providers like Criteo have strong demand sources whereas others like Lotame have strong data intelligence. So, you have to understand what the module will offer before adding it.

Passing User IDs to Google Ad Manager

You have to pass the user IDs to GAM to enable targeting in it or to allow it to pass the user’s IDs in Google Exchange Bidding (now Open Bidding). To pass the User ID’s to Google Ad Manager, you have to add a “userIdTargeting” sub module in your gulp build command.

You can use the “GAM_KEYS” object to choose whether you want to pass TTD_ID (The Trade Desk ID) to GAM or not. If you want to pass the TTD_ID then set GAM_KEYS: { “tdid”: “TTD_ID” } to pass other IDs, set GAM_KEYS: { “tdid”: “” }. Using GAM_KEYS is optional. If you won’t use GAM_KEYS then all UserIds will be passed with the respective key-name used in UserIds object. Here’s the sample:


	// your existing userIds config

	userSync: {
		userIds: [{...}, ...]

	// new userIdTargeting config

	userIdTargeting: {
		"GAM": true,
		"GAM_KEYS": {
			"tdid": "TTD_ID" // send tdid as TTD_ID

You can refer to the Github page for GAM integration

What’s Next?

The challenges associated with tracking and identifying users are poised to escalate further. We are seeing how Apple is making things difficult for the industry with its ITP and OS updates. Google’s support to the third-party cookie is also going to end in a few months. With so much uncertainty around user identity on the internet, we are sure that ID solutions will emerge as important players. You have to step forward and try solutions like Prebid’s User ID module to find out what works and what doesn’t work in the post cookie era.

Automatad Team

At Automatad, we help publishers to monetize better without hampering the user experience. Our products are live across hundreds of publishers, earning them incremental ad revenue with every passing second. You can request a free audit to get an estimated revenue uplift today.

Previous Post
Google Ad Manager guide for Publisher
Google Ad Manager - ...
Increase Banner Ads CTR
Next Post
7 Ways (Pro Tips) Pu...
Leave a Reply