PubMatic
PubMatic is a digital advertising technology company that provides a sell-side platform for publishers to maximize their programmatic ad revenue.
Setup
Troubleshooting
Overview
PubMatic is a digital advertising technology company that provides a sell-side platform (SSP) for publishers to maximize their programmatic ad revenue. Our integration with PubMatic SSP allows you to activate Permutive cohorts for targeting on PubMatic’s supply-side platform. This integration is a Destination:- Destination: Permutive cohorts are activated and passed to PubMatic SSP through bid requests, enabling advertisers to target your audiences programmatically.
- Real-time bidstream activation (Standard, Curated & DCR Cohorts): Cohort IDs are attached to bid requests as first-party data via Prebid.js (Web), Prebid Mobile (iOS/Android), and other Prebid integrations. No user identifier is transmitted — targeting is anonymous.
- Audience pixel activation (Custom Cohorts): Custom Cohorts activated from the dashboard are synced to PubMatic’s audience platform via a client-side pixel, matched against PubMatic’s own cookie. See Custom Cohort Activation (Audience Pixel).
- Server-side identity-based activation: An alternative path where client-side activation isn’t viable — Permutive would upload cohort memberships to PubMatic keyed by identity values (cookie ID, IDFA, AAID, IP address, or hashed email), with cohorts appearing as PubMatic segments ready for targeting. This path is currently being explored for PubMatic — contact your Customer Success Manager to register interest.
- 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 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 PubMatic’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
PubMatic SSP activation supports multiple Permutive cohort types. Standard, Data Clean Room, and Curation Cohorts are enabled by default; Custom Cohorts can be enabled on request. Availability also 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:- PubMatic SSP Account — an active PubMatic SSP account
- Permutive Web SDK — deployed on your site
- Prebid.js with Permutive RTD module — configured to pass cohort data to PubMatic
- PubMatic bidder adapter — the
pubmaticbidder adapter configured in your Prebid.js setup
- 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
pubmaticbidder 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
Standard, Curated, and Data Clean Room cohorts are enabled by default and flow through Prebid.js automatically once configured (see the Web tab). Custom Cohort activation to PubMatic is available on request and uses a different mechanism — a client-side audience pixel configured in the dashboard (see Custom Cohort Activation (Audience Pixel)).Contact your CSM if you need to enable Custom Cohort activation, or to confirm your default cohort configuration.
See Supported Cohort Types for the full list of cohort types and their availability.
2
Verify Prebid.js Configuration
Ensure your Prebid.js configuration includes the Permutive RTD module with PubMatic support:
Verify that the Permutive SDK is loading correctly and that cohort data is being written to local storage.
3
Verify Setup
After configuring Prebid.js, verify that cohort data is being passed to PubMatic in bid requests.Use browser developer tools to:
- Check local storage for the
_psspskey (Standard/Curated/DCR cohorts) - Use the Professor Prebid Chrome extension to inspect bid requests and verify that ORTB2 data 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.
Custom Cohort Activation (Audience Pixel)
Custom Cohorts use a different activation mechanism from Standard, Curated, and DCR Cohorts. Rather than the Prebid.js bidstream, Custom Cohorts are synced to PubMatic’s audience platform via a client-side pixel.1
Enable the integration in the dashboard
In the Permutive dashboard, go to Settings → Integrations, add the PubMatic integration, and enter your PubMatic Data provider ID. This identifies your PubMatic data-partner account so cohort segments are attributed correctly.
2
Activate Custom Cohorts
Activate the Custom Cohorts you want to send to PubMatic via a standard cohort activation in the dashboard.
How it Works
When a user enters or exits an activated Custom Cohort, the Permutive Web SDK sends a pixel from the user’s browser to PubMatic’s audience endpoint (aud.pubmatic.com/AdServer/Artemis), alongside a UCookieSetPug cookie-sync. The request contains:
- Your PubMatic Data provider ID (
dpid) - The cohort IDs the user belongs to (
segid) - GDPR/TCF consent parameters (
gdpr,gdpr_consent) uidtype=0— instructs PubMatic to match against its own third-party cookie
Custom Cohorts on PubMatic are activated via this pixel only. They are not delivered through the Prebid.js / ORTB2 bidstream today.
Verifying
Use your browser’s developer tools (Network tab) to confirm a request toaud.pubmatic.com/AdServer/Artemis fires with your dpid and the expected segid cohort IDs when a user qualifies for an activated Custom Cohort.
Data Types
The PubMatic SSP integration is a destination-only integration focused on cohort activation. Permutive does not collect event data from PubMatic SSP. When cohorts are activated to PubMatic, the following data is transmitted. The mechanism differs by cohort type — Standard/Curated/DCR Cohorts via the Prebid.js bidstream, and Custom Cohorts via a client-side audience pixel:ORTB2 Signal Locations
ORTB2 Signal Locations
Permutive passes cohort data to PubMatic SSP via the ORTB2 object in Prebid.js bid requests. Different cohort types are written to specific ORTB2 locations:
Custom Cohort Audience Pixel
Custom Cohort Audience Pixel
Custom Cohorts are synced to PubMatic’s audience platform via a client-side pixel to
aud.pubmatic.com/AdServer/Artemis (with a UCookieSetPug cookie-sync). The request contains:No user identifier (name, email, hashed email, or Permutive user ID) is transmitted by Permutive; matching relies on PubMatic’s own cookie.
Local Storage Keys
Local Storage Keys
The Permutive Web SDK exposes cohort data via local storage, which the Permutive RTD module reads to populate bid requests.
object
Local storage key containing Standard Cohorts, Curated Cohorts, and Data Clean Room Cohorts.
Troubleshooting
Cohort data not appearing in bid requests
Cohort data not appearing in bid requests
If Permutive cohorts aren’t being passed to PubMatic 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
_psspskey (for Standard/Curated/DCR cohorts) contains cohort data - Check your Prebid.js console logs for any errors related to the Permutive RTD module
- Use the Professor Prebid Chrome extension to inspect bid requests and verify ORTB2 data is being passed to PubMatic
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 _pssps local storage key
Empty _pssps local storage key
If the
_pssps local storage key is empty or missing:- Verify with your Customer Success Manager that the relevant cohort types (Standard, Curated, DCR) have been configured for your integration
- Check that users actually qualify for 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
Cohorts visible in local storage but not in PubMatic UI
Cohorts visible in local storage but not in PubMatic UI
If cohorts are being passed in bid requests but you don’t see them available for targeting in the PubMatic UI:
- Verify with your PubMatic account team that your SSP seat is configured to receive and process Permutive cohort data
- Check that DSPs connected to your PubMatic seat have access to user data signals from the bid request
- Ensure that your PubMatic line items or deals are configured to accept and use targeting data from the bid stream
- Confirm that the ORTB2 data structure matches PubMatic’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.