Microsoft Monetize (formerly Xandr, AppNexus) is Microsoft’s programmatic advertising platform for advanced audience targeting and campaign management.
Microsoft Monetize (formerly Xandr, AppNexus) is Microsoft’s supply-side platform that provides publishers with tools to manage, deliver, and optimize programmatic advertising campaigns. The integration enables real-time cohort activation through Prebid.js, allowing advertisers to target your audiences programmatically via the Microsoft Monetize SSP.This integration is a Destination:
Destination: Permutive cohorts are activated and passed to Microsoft Monetize SSP in real-time through bid requests, enabling advertisers to target your first-party audience segments programmatically.
Use cases include:
Cookie-less audience activation at scale: Activate Permutive cohort signals programmatically via the bidstream without reliance on third-party cookies, enabling addressable reach across all users
Private Marketplace (PMP) deals: Use Custom Cohorts, DCR Cohorts, and Curated Cohorts to create premium, curated inventory packages for direct buyer relationships
Open Marketplace (OMP) monetization: Leverage Standard Cohorts to make your audiences available to demand partners in the open auction, increasing bid density and CPMs
Maximize programmatic yield: Make Permutive audiences available through Microsoft’s ad exchange to increase competition and drive higher CPMs
Cohort Support:
✅ Custom Cohorts - Publisher-defined audiences created in the Permutive dashboard
✅ Standard Cohorts - Cohort signals conforming to a standardized taxonomy (e.g. IAB)
Microsoft Monetize SSP Account - You must have an active Microsoft Monetize (Xandr) SSP account
Permutive SDK - The Permutive Web SDK must be deployed on your site
Prebid.js with Permutive RTD Module - Prebid.js must be configured with the Permutive Real-Time Data (RTD) module to pass cohort data to Microsoft Monetize
Bidder Adapter - Either the appnexus or msft bidder adapter must be configured in your Prebid.js setup (this is the bidder code for Microsoft Monetize).
The Microsoft Monetize SSP integration works automatically through Prebid.js once cohorts are activated. Navigate to the cohort you wish to activate in the Permutive dashboard.For Custom Cohorts (publisher-specific audiences), enable the Microsoft Monetize SSP activation. When activated, cohort data will be stored in the _papns local storage key, which the Permutive RTD module reads and passes to Microsoft Monetize.
Custom Cohorts require explicit activation per cohort. Standard, Curated, and Data Clean Room cohorts are configured by your Customer Success Manager. Contact your CSM to enable these cohort types for your integration.
2
Verify Prebid.js Configuration
Ensure your Prebid.js configuration includes the Permutive RTD module with Microsoft Monetize support:
Verify that the Permutive SDK is loading correctly and that cohort data is being written to local storage.
3
Verify Setup
After activating cohorts and configuring Prebid.js, verify that cohort data is being passed to Microsoft Monetize in bid requests.Use browser developer tools to:
Check local storage for the _papns key (Custom Cohorts) or _pssps key (Standard/Curated/DCR cohorts)
Inspect network requests to Microsoft Monetize SSP endpoints (typically /ut/v3/prebid)
Verify that the ORTB2 object in bid requests contains Permutive cohort data in ortb2.user.data and ortb2.user.keywords
It may take a few minutes for cohort membership to populate after initial page load.
The Microsoft Monetize SSP integration works through the Permutive Real-Time Data (RTD) module in Prebid.js. The module reads cohort data from local storage (set by the Permutive SDK) and attaches it to bid requests as first-party data following OpenRTB 2.x conventions.
The Microsoft Monetize SSP integration operates through a client-side mechanism:1. Local Storage Cohort ExposureThe Permutive Web SDK exposes cohort signals via local storage:
Custom Cohorts: Stored in the _papns local storage key
Standard, Curated, and DCR Cohorts: Stored in the _pssps local storage key
2. Real-Time Bid EnrichmentThe Permutive RTD module acts as a bridge between the Permutive Web SDK and Prebid.js:
The Permutive RTD module reads cohort IDs from local storage (_papns for Custom Cohorts, _pssps for Standard/Curated/DCR cohorts)
Cohort data is attached to the ORTB2 object in bid requests for Microsoft Monetize
For Custom Cohorts, the module updates two locations:
ortb2.user.data – adds a data provider entry for permutive.com with the list of cohort IDs in the segment field
ortb2.user.keywords – adds a keyword group called permutive containing the list of cohort IDs
Microsoft Monetize receives cohort targeting data in the bid request and makes it available to demand partners (DSPs) for real-time targeting
While Permutive is listed as a TCF vendor (ID: 361), Permutive does not typically obtain vendor consent from the TCF, but instead relies on publisher purpose consents. Publishers wishing to use TCF vendor consent instead can add 361 to their CMP and set params.enforceVendorConsent to true:
The Microsoft Monetize SSP integration is a destination-only integration focused on cohort activation. Permutive does not collect event data from Microsoft Monetize SSP.When cohorts are activated to Microsoft Monetize, the following data is transmitted via the Prebid.js bidstream:
ORTB2 Signal Locations
Permutive passes cohort data to Microsoft Monetize SSP via the ORTB2 object in Prebid.js bid requests. Different cohort types are written to specific ORTB2 locations:
ORTB2 Location
Cohort Types
ortb2.user.data (name: permutive.com)
Standard Cohorts, DCR Cohorts, Curated Cohorts
ortb2.user.data (name: permutive)
Custom Cohorts
ortb2.user.keywords (permutive)
Custom Cohorts
ortb2.user.keywords (p_standard)
Standard Cohorts, DCR Cohorts, Curated Cohorts
ortb2.user.keywords (p_standard_aud)
Curated Cohorts
Local Storage Keys
The Permutive Web SDK exposes cohort data via local storage, which the Permutive RTD module reads to populate bid requests.
If Permutive cohorts aren’t being passed to Microsoft Monetize in your bid requests:
Verify that the Permutive RTD module is properly configured in your Prebid.js setup
Confirm that the Permutive SDK is loading correctly on your pages
Use browser developer tools to inspect local storage and verify that the _papns key (for Custom Cohorts) or _pssps key (for Standard/Curated/DCR cohorts) contains cohort data
Check your Prebid.js console logs for any errors related to the Permutive RTD module
Inspect network requests to Microsoft Monetize endpoints (typically /ut/v3/prebid) to verify ORTB2 data is present
If you see cohort data in local storage but not in bid requests, verify that your Prebid.js configuration includes waitForIt: true for the Permutive RTD module.
Empty _papns or _pssps local storage keys
If local storage keys are empty or missing:
Verify that Custom Cohorts have been activated in the Permutive dashboard with Microsoft Monetize SSP enabled
Check that users actually qualify for the activated cohorts based on cohort definitions
Ensure the Permutive SDK is loading before Prebid.js attempts to read cohort data
Verify that third-party cookies and local storage are not blocked by browser settings or extensions
Check the browser console for any Permutive SDK errors during page load
Bidder code migration from 'appnexus' to 'microsoft'
Microsoft is in the process of migrating their Prebid bidder code from appnexus to microsoft. During this transition period:
Work with your Permutive account team to understand any required configuration changes
The transition from appnexus to microsoft bidder code may require updates to your Prebid.js configuration. Contact Permutive Support if you experience issues after Microsoft completes this migration.
Cohorts visible in local storage but not in Microsoft Monetize UI
If cohorts are being passed in bid requests but you don’t see them available for targeting in the Microsoft Monetize UI:
Verify with your Microsoft Monetize account team that your SSP seat is configured to receive and process Permutive cohort data
Check that DSPs connected to your Microsoft Monetize seat have access to user data signals from the bid request
Ensure that your Microsoft Monetize line items or deals are configured to accept and use targeting data from the bid stream
Confirm that the ORTB2 data structure matches Microsoft Monetize’s expectations for user data and keywords
GDPR/consent issues blocking cohort signals
In GDPR regions, consent management may affect cohort data transmission:
Note: Permutive is a TCF vendor (ID: 361), but by default relies on publisher purpose consents rather than TCF vendor consent
If you’ve enabled params.enforceVendorConsent: true, verify that Permutive (vendor ID 361) is added to your CMP and consent is being collected
Verify that your Consent Management Platform (CMP) is properly configured and Permutive has consent to process user data
Check that the Permutive SDK is receiving consent signals correctly
Ensure Prebid.js is configured to respect consent signals and only pass data when consent is granted