Configure Protected Audience API for Prebid.js versions 8.18.0 to 8.36.0

Media Owners
Last Updated: February 17, 2026

Info: Starting in June 2025, Index is pausing support for the Protected Audience API. After this date, you will no longer receive Protected Audience API demand from Index, even if your inventory is configured to be eligible for it.

Before you begin: You must be using Google Ad Manager as your Media Owners's ad server.

To receive Protected Audience API auction demand, complete the following steps:

  1. In Google Ad Manager, click Admin, then Global settings, and under Ad preference settings, make sure that the following settings are enabled:
    • Protected Audience API
    • Allow testing on up to 100% of my inventory with non-Google sellers, regardless of performance impact
      screenshot showing the protected audience api options
    • For more information about these settings, see Google’s documentation on Protected Audience API and Ad Manager.

  2. Build the following modules in your Prebid.js configuration:
    • PAAPI module: Add this module by adding paapi to the list of modules that you are already using. For more information about how to add the module, see Prebid’s PAAPI module documentation.
    • Fledge for GPT module: Add this module by adding fledgeForGpt to the list of modules that you are already using.

      Note: The fledgeForGpt module documentation no longer exists on Prebid's site. You can however refer to Prebid's Protected Audience API (PAAPI) for GPT Module documentation for information on adding module configurations.

  3. Configure your ad units to make them eligible for Protected Audience API demand. You can do this in the global-level, bidder level, or ad-unit level configuration. However, Index recommends that you do this in the global-level configuration by setting the defaultForSlots parameter to 1.

    pbjs.que.push(function() {
    	pbjs.setConfig({
    		paapi: {
    			enabled: true,
    			defaultForSlots: 1
    		}
    	});
    });

    Note: If you are using the paapi.bidders[], make sure that you include ix to the list of bidders as follows:

    pbjs.que.push(function() { 
    	pbjs.setConfig({ 
    		paapi: { 
    			enabled: true, 
    			bidders: ['ix', /* any other bidders */], 
    			defaultForSlots: 1 
    		} 
    	}); 
    });

    For examples on bid requests and responses that include the Protected Audience API fields, see Examples of OpenRTB bid requests and responses.