Microsoft Monetize (SSP)
Microsoft Monetize (formerly Xandr, AppNexus) is Microsoft’s programmatic advertising platform for advanced audience targeting and campaign management.
Setup
Troubleshooting
Overview
Microsoft Monetize (formerly Xandr, AppNexus) is Microsoft’s supply-side platform that provides publishers with tools to manage, deliver, and optimize programmatic advertising campaigns. Our integration with Microsoft Monetize allows you to activate Permutive cohorts for targeting on Microsoft Monetize’s supply-side platform. This integration is a Destination:- Destination: Permutive cohorts are activated and passed to Microsoft Monetize SSP through bid requests, enabling advertisers to target your audiences programmatically.
- Real-time bidstream activation: Cohort IDs are attached to bid requests as first-party data via Prebid.js (Web), Prebid Mobile (iOS/Android), and other Prebid integrations.
- Server-side identity-based activation: Can be an alternative path where client-side activation isn’t viable. Permutive uploads cohort memberships to Microsoft Monetize keyed by identity values (cookie ID, IDFA, AAID, IP address, or hashed email). Cohorts appear as Microsoft Monetize segments ready for targeting.
- 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
- Cross-environment activation: Activate audiences across Web, in-app (iOS/Android), and CTV inventory through real-time bidstream or server-side identity-based methods
Environment Compatibility
Server-side identity-based activation can be an alternative path for this integration, particularly where client-side activation isn’t viable. Permutive can support your team in setting this up — contact your Customer Success Manager to discuss.
Supported Cohort Types
Microsoft Monetize activation supports all current Permutive cohort types. Availability depends on your workspace participating in the relevant Permutive offering.Cohort type support beyond WebThe availability shown above reflects Web today. In mobile (iOS/Android) and CTV environments where this integration is available, cohort type support depends on the Permutive Mobile/CTV SDKs:
- Custom Cohorts — supported across all environments where this integration is available.
- Data Clean Room Cohorts — not currently exposed by the Permutive Mobile/CTV SDKs, but cohort signals can be retrieved with customer integration via an additional Permutive API call from your application code.
- Standard and Curation Cohorts — not currently exposed by the Permutive Mobile/CTV SDKs. Support is coming — reach out to your Customer Success Manager if you’re interested.
Prerequisites
Required for all activation methods:- Microsoft Monetize SSP Account — an active Microsoft Monetize (Xandr) SSP account
- Permutive Web SDK — deployed on your site
- Prebid.js with Permutive RTD module — configured to pass cohort data to Microsoft Monetize
- Microsoft Monetize bidder adapter — either the
appnexusormsftbidder adapter configured in your Prebid.js setup (Microsoft is migrating fromappnexustomicrosoftbidder code — see Troubleshooting)
- Permutive Mobile SDK — deployed in your iOS / Android app
- Prebid Mobile SDK — configured in your app
- Prebid Server — that Prebid Mobile communicates with, with the
appnexus(ormicrosoft) bidder configured (Prebid Mobile passes bid requests to Prebid Server, which handles bidder routing) - Customer implementation — to retrieve Permutive cohorts from the SDK and attach them to Prebid Mobile bid requests
- Contact your Permutive Customer Success Manager to discuss the integration approach for your stack.
- This connector is not built today. If your use case calls for it, identity collection would need to be configured in Permutive for the identity types you want to use (cookie ID, IDFA, AAID, IP address, hashed email).
- Contact your Permutive Customer Success Manager to discuss.
Setup
- Primary Setup Steps
- Web
- iOS
- Android
- CTV
1
Configure Cohort Activations
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
_papnskey (Custom Cohorts) or_psspskey (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.dataandortb2.user.keywords
It may take a few minutes for cohort membership to populate after initial page load.
Data Types
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
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:
Troubleshooting
Cohort data not appearing in bid requests
Cohort data not appearing in 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
_papnskey (for Custom Cohorts) or_psspskey (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
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'
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:- Monitor announcements from Microsoft/Prebid regarding the deprecation timeline for the
appnexusbidder code (see https://docs.prebid.org/dev-docs/bidders/msft.html#table-of-contents for more info) - 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
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
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
Changelog
For detailed changelog information, visit our
Changelog.